/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/

html.pum-open.pum-open-overlay, html.pum-open.pum-open-overlay.pum-open-fixed .pum-overlay {
    overflow: hidden!important;
}
@media only screen and (max-width: 999px) {
.nectar-global-section.nectar_hook_global_section_after_header_navigation {
                    margin-top: 0px;
                }
}
/** TYPO GENERAL **/

body h3{color:#989898;}
body h3.toggle-title{color:#063456;}
@media only screen and (max-width: 690px){
.row .col h3, body h3{
    font-size:24px;
}
}
body.single .post .content-inner>h3{
color: #20272e;
font-weight: 600;
}

.smaller-paragraph{font-size:1rem;}
.bigger-paragraph{font-size:1.25rem;}
.paragraph-subtitle p{font-size:1.5rem;color:#989898;line-height:1.4;}
@media only screen and (max-width: 690px){
	.paragraph-subtitle p{font-size:1.275rem;}
}

h1, h2, h3 {
  overflow-wrap: break-word;
  word-wrap: break-word; /* fallback for older browsers */
}

@media only screen and (max-width: 690px) {
    .row .col h4, body h4{
        font-size:22px;
    }
}

/* LAYOUT */

@media only screen and (max-width: 1000px){
    .invisiblemobile{display:none;}
    
}
@media only screen and (min-width: 1000px){
    .invisibledesktop{display:none;}
}

body[data-header-resize="1"] .container-wrap{
	padding-top:0;
}

#header-outer:not([data-format="centered-menu-under-logo"]):not([data-format="centered-menu-bottom-bar"]) #top nav >ul >li[class*="button_"] >a:before, #header-outer:not([data-format="centered-menu-under-logo"]):not([data-format="centered-menu-bottom-bar"]) #top .slide-out-widget-area-toggle[data-custom-color="true"] a:before{
    padding-top:6px;
}

.nectar-mobile-only.mobile-header li{
    margin-right:0;
}

.container-wrap{
	padding-bottom:0 !important;
}

/*Hero background*/
.full-width-section .inner-wrap.row-bg-layer.using-image{
	background-color: #000;
}

/*HERO WITH 2 CTAs*/

.double-cta-inpage button{
	font-family: Source Sans Pro;
}

.double-cta-inpage .extra-color-1{
	border:none;
	padding: 14px !important;
}
.double-cta-inpage .accent-color{
	border:none;
	padding: 14px !important;
	background-color:#063456;
}

@media only screen and (min-width: 1000px){
	.double-cta-inpage .accent-color, .double-cta-inpage .extra-color-1{
		font-size:0.875rem;
	}
}

.remove-btn-border {
	color: rgb(6, 52, 86);
    background-color: rgb(255, 255, 255);
	border:none;
}

.remove-btn-border:hover {
	color: rgb(6, 52, 86) !important;
}

/*
 * IMPORTANT UPDATE FROM LPs
 * 
@media only screen and (max-width: 960px){
    .container{
        max-width:340px;
    }
}
*/

/**COOKIE BOTS**/
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItem{
    list-style:none
}
@media only screen and (max-width: 601px){
#CybotCookiebotDialog #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonsWrapper {
flex-direction: column;
}
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink{
	opacity:0.5;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive{
	opacity:1;
}
/* MOBILE MENU */
/*EXCLUDING LANG MENU LINKS */
.sub-menu .wpml-ls-item-au,.sub-menu .wpml-ls-item-ie,.sub-menu .wpml-ls-item-in,.sub-menu .wpml-ls-item-au,.sub-menu .wpml-ls-item-za,.sub-menu .wpml-ls-item-us,.sub-menu .wpml-ls-item-uk,.sub-menu .wpml-ls-item-xl,.sub-menu .wpml-ls-item-mx{
	display:none;
}
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-mx,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-xl,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-au, 
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-ie,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-in,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-za,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-us,
body #slide-out-widget-area .menu.subview .subviewopen>.sub-menu>li.wpml-ls-item-uk{
	display:none;
}
/*Menu button padding*/
#header-outer:not([data-format="centered-menu-under-logo"]):not([data-format="centered-menu-bottom-bar"]) #top nav >ul >li[class*="button_"] >a:before, #header-outer:not([data-format="centered-menu-under-logo"]):not([data-format="centered-menu-bottom-bar"]) #top .slide-out-widget-area-toggle[data-custom-color="true"] a:before{
	padding-top:0;
}
/*Excluding secondary header from menu*/
#slide-out-widget-area .menuwrapper .menu.secondary-header-items.mobile-only{
	display:none;
}
/*No secondary header under 1000*/
@media only screen and (max-width: 999px) {
    body[data-header-format].material #header-secondary-outer {
        display: none;
        height: 0;
    }
}
/*SECONDARY HEADER style*/
body.material #header-secondary-outer .nectar-center-text {
    padding: 10px 0;
    position: relative;
    float: right;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    font-size: 12px;
}
#header-secondary-outer nav>ul>li>a {
	text-transform:uppercase;
}
body.material #header-secondary-outer nav>ul>li:first-child>a {
margin-right: 2px;
}
#header-secondary-outer .nectar-center-text a.ebs_phonenumber {
	line-height: 20px;
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid #305a7f;
    display: block;
}
#header-secondary-outer .sf-menu > .wpml-ls-current-language{
	 padding-left: 2px;
    margin-left: 12px;
    border-left: 1px solid #305a7f;
}

/**/
body #slide-out-widget-area.fullscreen-alt .inner-wrap>.inner{
	margin-top:1rem;
	padding-top:0;
}
#slide-out-widget-area.fullscreen-alt .inner{
	text-align:left;
}
#slide-out-widget-area.fullscreen-alt .inner-wrap .inner .widget{
	padding:0 10%;
	text-align: center;
    margin: 1rem 0;
}
#slide-out-widget-area.fullscreen-alt .inner-wrap .inner .widget p{
	padding-bottom:0.5rem;
}
#slide-out-widget-area.fullscreen-alt .inner-wrap .inner .widget p.phone-number-mobile-menu{
	margin-top:1rem;
}
#slide-out-widget-area.fullscreen-alt .inner .nectar-button span{
	width:100%;
	text-align:center;
}
#block-60 p{
	padding-bottom:0;
}
#block-60 a{
	margin-bottom:0;
}
@media only screen and (max-width: 690px){
	body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li a{
		font-size: 20px !important;
        line-height: auto !important;
	}
}
body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li a{
	font-weight:600;
	letter-spacing:0.15px;
}
body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.mobile-menu-label{
	height: 24px;
    margin-top: 0.75rem;
    margin-bottom: 0.125rem;
}
.custom-mobile-menu-label {
	font-size: 14px !important;
    color: #cdcdcd;
    text-transform: uppercase;
    letter-spacing: 0.25px;
    font-weight: 300;
}
body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.mobile-menu-label:first-child{
	margin-top:0;
}
body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.mobile-menu-label a {
    font-size: 14px !important;
    color: #cdcdcd;
    text-transform: uppercase;
    letter-spacing: 0.25px;
	font-weight:300;
}

body #slide-out-widget-area.fullscreen-alt .menuwrapper li.back>a{
	padding: 4px 8px;
    border: 2px solid white;
    border-radius: 8px;
}
#slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu li, #slide-out-widget-area.fullscreen-alt .menuwrapper li{
	margin-bottom:0;
}

.menu-item.subviewopen .widget{
	display:none;
}
/*no white menu on scroll mobile*/
body #header-outer.side-widget-open.scrolled-down{
	background-color:transparent;
}
#header-outer:not(.transparent) #top .slide-out-widget-area-toggle .close-line {
    border-color: white;
	background-color: white;
}

/*#slide-out-widget-area.fullscreen-alt .menuwrapper li.back{
	width:100%;
}
#slide-out-widget-area .subview .destinations-submenu-mobile ul.sub-menu li.menu-item{
	width:46%;
	float:left;
	padding-right:2%;
}*/

/* body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.menu-item-63619 a{
	font-weight:300;
	font-size: 16px !important;
} */
body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.wpml-ls-item a{
	font-weight:300;
	font-size: 16px !important;
}
#slide-out-widget-area .menu-wrap .submenu-last-link-button a{
	width:100%;
	border:2px solid white;
	border-radius:8px;
	margin-top:1.5rem;
	text-align:center;
}
@media only screen and (max-width: 690px) {
	body #slide-out-widget-area.fullscreen-alt .inner .off-canvas-menu-container .menu-wrap li.submenu-last-link-button a {
			font-size:16px !important;
		    padding: 15px 22px;
	}
}
#slide-out-widget-area .menu-wrap .submenu-last-link-button{
    margin-bottom: 1.5rem !important;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
body #slide-out-widget-area.fullscreen-alt .inner .widget{
	margin: 20px auto 20px auto;
}
#block-65 p{
	text-align:center;
}
@media only screen and (min-width: 1px) and (max-width: 999px) {
	body #header-outer.side-widget-open #top #logo{
		opacity:0;
	}
}
body.material #header-outer.side-widget-open[data-box-shadow=large-line][data-header-resize="1"]:not(.transparent):not([data-format=left-header]):not(.scrolled-down):not(.small-nav){
	background-color:#063456;
}
#slide-out-widget-area .widget a.nectar-button{
	width:100%;
	font-size:16px;
}
/*Courses Submenu spacing*/

/*HACK FOR language switcher*/
#slide-out-widget-area .off-canvas-menu-container .menu-wrap.menuwrapper{
	height:auto !important;
}
/*DESTKOP MENU DROPDOWN*/
#header-outer .sf-menu li ul li.menu-item a {
    font-size: 14px;
    line-height: 20px;
    border-bottom: 1px solid #e4e4e4;
}
#header-outer .sf-menu li ul li.menu-item:last-child a{
	border-bottom: none;
}

/*Desktop menu links less margin on tablet*/
@media only screen and (max-width: 1200px){
	#header-outer[data-lhe=animated_underline] #top nav>ul>li>a{
		margin-left: 0.2rem;
    	font-size: 0.875rem;
	}
}


/**REPLACING MENU **/

#header-outer ul .wpml-ls-current-language > a{
	text-transform:uppercase;	
}
@media only screen and (max-width: 690px){
   body #new-menu .nectar-button.medium {
       padding-left:12px;
       padding-right:12px;
       
   }
}
@media only screen and (max-width: 690px){
   body #new-menu-2 .nectar-button.medium {
       padding-left:12px;
       padding-right:12px;
       
   }
}

body .gform_wrapper .top_label .gfield_label{
    margin-top:0;
}

@media only screen and (max-width: 690px){
#steps{
    width:106%;
    margin-left:-3%;
}
.larger-in-mobile{
    width:106%;
    margin-left:-3%;
}
}

.margin-bottom-zero{
 margin-bottom:0 !important;   
}

/*THAI NO BREAK WORD CLASS*/
.no-break-th, .no-break-th span{
	white-space: nowrap;
}

html[lang="th"] p, html[lang="th"] b, html[lang="th"] strong, html[lang="th"] td, html[lang="th"] h1, html[lang="th"] h2, html[lang="th"] h3, html[lang="th"] h4, html[lang="th"] h5, html[lang="th"] h6, html[lang="th"] legend, html[lang="th"] input, html[lang="th"] .ocm-effect-wrap div, html[lang="th"] .ocm-effect-wrap a, html[lang="th"] .ocm-effect-wrap span, html[lang="th"] .ocm-effect-wrap button, html[lang="th"] label, html[lang="th"] .pum span, html[lang="th"] #input_97_20{
    font-family: "Anuphan", serif !important;
}

/*****
 * PAGE SUBMENU*
 * *****/

@media only screen and (min-width: 1px) and (max-width: 1340px) {
    body .page-submenu .mobile-menu-link {
        display: none;
    }
	body .page-submenu ul {
		position: relative;
		top: 0;
		width: auto;
		overflow: auto;
		white-space: nowrap;
        display: block !important;
        height: auto !important;
	}
   body #ajax-content-wrap .page-submenu ul li {
      display: inline-block;
   }
	body #ajax-content-wrap .page-submenu ul li a{
		font-size:16px;
	}
}

/**********CARDS & SLIDERS
***************/

/* .content-slider .wpb_text_column >.wpb_wrapper > h4, .content-slider .flickity-viewport .wpb_text_column >.wpb_wrapper p{
    padding:1rem 2rem 0 2rem;
    padding-bottom: 0;
    margin-bottom: 0;
} */
.content-slider .wpb_text_column.wpb_content_element > h4, .content-slider .flickity-viewport .wpb_text_column.wpb_content_element p{
    padding:1rem 2rem 0 2rem;
    padding-bottom: 0;
    margin-bottom: 0;
}
.content-slider img{
    border-radius: 3px 3px 0 0;
}

.content-slider .flickity-slider .cell{
    box-shadow: rgb(0 0 0 / 4%) 0px 1px 0px, rgb(0 0 0 / 5%) 0px 2px 7px, rgb(0 0 0 / 6%) 0px 12px 22px;
}

/* .content-slider2 .wpb_text_column >.wpb_wrapper > h4, .content-slider2 .wpb_text_column >.wpb_wrapper > p{
    padding:1rem 1rem 0 1rem;
} */
.content-slider2 .wpb_text_column.wpb_content_element > h4, .content-slider2 .wpb_text_column.wpb_content_element > p{
    padding:1rem 1rem 0 1rem;
}

.content-slider2 img{
    border-radius: 3px 3px 0 0;
}

.content-slider2 .flickity-slider .cell{
    box-shadow: rgb(0 0 0 / 4%) 0px 1px 0px, rgb(0 0 0 / 5%) 0px 2px 7px, rgb(0 0 0 / 6%) 0px 12px 22px;
}

/* last hidden slider */
.last-only-mobile .flickity-slider  a.nectar-button.large{width:100%;text-align:center;}
.last-only-mobile .flickity-slider .last-only-mobile a.nectar-button.large:not(.accent-color){color:#063456}
@media screen and (min-width: 1000px){
   .last-only-mobile .nectar-flickity.nectar-carousel .flickity-slider .cell:last-child{
        display:none;
    }
}
.last-only-mobile .flickity-slider a.nectar-button.large:not(.accent-color){
    color:white;
}

.span_12.dark .owl-theme .owl-dots .owl-dot.active span{
    background-color: white!important;
    border: 1.5px solid black;
    width: 8px;
    height: 8px;
}

.owl-theme[data-desktop-cols] .owl-nav.disabled+.owl-dots{
    margin-top:0;
}

.nectar-carousel .nectar-fancy-box {
	border-radius: 5px;
}

/* Align content and button in the destination card */
/* .destination-slider .nectar-flickity.nectar-carousel .flickity-slider .inner-wrap{
    display: flex;
    flex-direction: column;
    height: 100%;
}

.destination-slider .nectar-flickity.nectar-carousel .flickity-slider .inner-wrap a {
    margin-top: auto;
} */

/* Align content and button in the destination card - V2 */
.destination-slider .nectar-flickity.nectar-carousel .flickity-slider .inner-wrap{
    display: flex;
    flex-direction: column;
    gap: 0px;
}

.destination-slider .nectar-flickity.nectar-carousel .flickity-slider .inner-wrap a {
    margin-top: auto;
}

/* SPECIFICS & GENERALS */

.row .col img.course-guide-mobile{
    max-width:420px;
}

.span_12.light .wpb_text_column a:not(:hover){
   text-decoration:underline;
	opacity:1;
}
.span_12.light .wpb_text_column a:hover{
	text-decoration:underline;
	opacity:0.7;
}

.video-subtitle{
    font-size:14px;line-height:20px;margin-top:-20px
}
/*HOME PAGE*/
.nectar-milestone .number span{
	font-weight:700;
}
/*Destinations*/
.destination-map-location.nectar-cta.has-icon .link_wrap i {
	font-size:1rem;
	margin-right:0.5em;
}

.destination-map-location.nectar-cta.has-icon .link_wrap .link_text{
	font-size:1rem;
}
/********* 
****************FORMS ********/

.pum-container h2.gform_title{
    font-size: 1.5rem;
	line-height: 2rem;
    border-bottom: 1px solid #e1e1e1;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
}
@media only screen and (max-width: 690px){
	body .gform_wrapper .top_label .gfield_label{
    font-size: 1rem;
	margin-bottom:0.25rem;
	}
}
.pum-container .gform_wrapper .gfield_consent_label{
	float: left;
    width: 92%;
	font-size: 0.875rem;
    line-height: 1.25rem;
}
@media only screen and (max-width: 690px){
	.pum-container .gform_wrapper .gfield_consent_label{
	float: left;
    width: 88%
	}
}
.pum-container .ginput_container_consent input[type='checkbox']{
	float: left;
	margin-right: 3px;
}

body[data-form-submit="regular"] .container-wrap input[type=submit] {
    width:100%;
    background-color: #16a57b;
}

.form-blue p .wpcf7-acceptance span{
    color:#fff;
    margin-left:0;
    font-size:14px;
    line-height:18px;
}
.form-blue p .wpcf7-acceptance span a{
    color:white;
    text-decoration:underline;
}
.form p .wpcf7-acceptance span{
    margin-left:0;
    font-size:14px;
    line-height:18px;
}

body.material input:focus{
    border-color:#d0d0d0 !important;
}

.gform_required_legend{
    display:none;
}

#field_1_5{
    margin-top:0.5rem;
}
#field_1_5 label{
    font-size: 1rem;
}
    
body .gform_wrapper .gfield_validation_message, .gform_wrapper .validation_message{
    background: #fff;
    border: none;
    font-size: 14px;
    margin-top: 0;
    padding: 0;
}    

body .gform_wrapper .gfield_error .gfield_repeater_cell label,body .gform_wrapper .gfield_error label,body .gform_wrapper .gfield_error legend,body .gform_wrapper .validation_message,body .gform_wrapper [aria-invalid=true]+label,body .gform_wrapper label+[aria-invalid=true]{
    color:#676767;
}
body .gform_wrapper.gravity-theme .gfield_description{
    padding-top: 2px;
    color: #dd2727;
    font-size: 0.875rem;
}
body .gform_wrapper .gfield_error [aria-invalid=true] {
    border: 1px solid #dd2727;
}

body .gform_wrapper .gform_validation_errors>h2 .gform-icon{
    display:none;
}
/* body .gform_wrapper .gform_validation_errors{
    border-color:#dd2727;
    background:#fff;
    padding:16px;
    text-align:center;
    display:none;
} */
.gform_wrapper .gform_validation_errors>h2.hide_summary{
    color:#dd2727;
}
body .gform_wrapper .gfield_required{
    display:none;
}
body .gform_wrapper .top_label .gfield_label,body[data-form-submit=regular] .container-wrap input[type=submit]{
        font-family: Source Sans Pro;
}
body .gform_wrapper.gravity-theme .gfield_description.validation_message{
	    padding: 0;
    background: transparent;
    border: none;
}
.gform_confirmation_message{
	color: white;
    display: block;
    padding: 5px;
    background-color: #16a57b;
    font-weight: 600;
}

form .gf_list_3col .gfield_checkbox {
	display: grid;
    grid-template-columns: 32% 32% 36%;
}

/* Country Selector fix */
.iti__selected-country-primary {
    padding-right: 2px!important;
}
.iti__selected-dial-code {
    padding-right: 4px!important;
}

/**********Side form
***************/
#with-side-form form input[type=text], #with-side-form form input[type=email], #with-side-form form input[type=tel]{
    padding:6px;
}

#with-side-form form .material .wpb_content_element{
    margin-top:1rem;
}

#with-side-form form p{
    padding-bottom:1rem;
}

.material .less-margin-in .wpb_content_element{
    margin-bottom:1rem;
}
.material .less-margin-in .wpb_content_element.dark-background-form{
    margin-bottom:0;
}
.dark-background-form .gform_wrapper.gravity-theme .gfield input.large{
    background-color: #f7f7f7;
}
.dark-background-form .gform_wrapper.gravity-theme .gform_footer{
    padding:16px 0 0 0;
}

.dark-background-form .iti__selected-dial-code{
    color:#555;
}
.dark-background-form .iti__country-list li{
    color:#555;
}
.gfield_consent_label a{
    color:#20272e;
    text-decoration:underline;    
}
.dark-background-form .gfield_consent_label a{
    color:white;
    text-decoration:underline;
}
.gfield_consent_label{
    font-size:1rem;
}
.dark-background-form textarea{
    background-color:white;
}
body .dark-background-form .gform_wrapper .top_label .gfield_label{
    font-size:16px;
	color:white;
}
body .mi-white-background-form .gform_wrapper.gravity-theme .gfield_checkbox label{
    margin-bottom: 5px;
    line-height: 20px;
}
@media screen and (max-width: 999px){
    .dark-background-form h3{
        font-size: 24px;
        line-height: 32px;
    }
}

/** Checkbox Alignment **/
/* Consent alignment */
.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 2px;
}
.gform_wrapper .gfield_checkbox .gchoice {
	margin: 8px 0px;
}
/* Checkbox */
.gform_wrapper input[type="checkbox"] {
	margin-top: 3px !important;
}
/* Consent text */
.gform_wrapper .gfield_consent_label,
.gform_wrapper .gfield_checkbox label {
	line-height: 1.4;
	font-size: 14px !important;
	max-width: 100% !important;
}
/* Space before submit button */
.gform_wrapper .gform_footer {
	margin-top: 16px !important;
}

/****** ICON with TEXT
 * ****/
body .iwithtext [class^="icon-"].icon-default-style{
	font-size: 20px;
}
body .iwithtext .iwt-text{
	padding-left:40px;
}
/******** TESTIMONIALS 
**************/

.testimonial_slider blockquote p,.nectar_single_testimonial p{
    font-size:1rem;
    line-height:1.75rem;
}

.nectar_single_testimonial[data-style="bold"] p{
    padding-bottom:25px;
    font-size: 28px;
    line-height: 40px;
    font-weight: 400;
    font-style: italic;
}

.nectar_single_testimonial[data-style="bold"] p span.open-quote{
    opacity:0.25;
    margin-bottom: -110px;
    margin-left: -80px;
    font-size:180px;
    font-style: initial;
}

@media screen and (max-width: 999px){
    .nectar_single_testimonial[data-style="bold"] p span.open-quote{
    margin-left:-20px;
    }
}

/**Landscape gallery**/
body .nectar-flickity.nectar-carousel.nectar-carousel:not(.masonry) .flickity-viewport {
    margin: 20px 0 40px 0;
}

/*IG posts*/
.two-ig-posts iframe.instagram-media{
	margin:0 auto !important;
}
/*******
 * ACCORDIONS
 **/
.dark-accordion div[data-style="minimal"] .toggle.extra-color-2:hover > .toggle-title a,.dark-accordion div[data-style="minimal"] .toggle.extra-color-2.open > .toggle-title a{
	color:white;
}
.dark-accordion div[data-style="minimal"] .toggle.extra-color-2:hover > .toggle-title i,.dark-accordion div[data-style="minimal"] .toggle.open.extra-color-2 i,.dark-accordion div[data-style="minimal"] .toggle.open.extra-color-2 i:before,.dark-accordion div[data-style="minimal"] .toggle.extra-color-2.open i:after,.dark-accordion div[data-style="minimal"] .toggle.extra-color-2:hover i:after{
	color:white;
	border-color:white;
}
.dark-accordion div[data-style="minimal"] .toggle.open.extra-color-2 i:before,.dark-accordion div[data-style="minimal"] .toggle.open.extra-color-2 i:after,.dark-accordion div[data-style="minimal"] .toggle.extra-color-2:hover i:before,.dark-accordion div[data-style="minimal"] .toggle.extra-color-2:hover i:after{
	background-color:white;
}

.light .accordion li {
	color: white;
}

/*****
BUTTONS
****/

@media screen and (max-width: 690px){
body.material .nectar-button.jumbo:not([class*=see-through]) {
    padding: 23px 40px;
}
}
@media screen and (max-width: 430px) {
    body.material .nectar-button.jumbo:not([class*=see-through]) {
        padding: 16px 36px;
        font-size: 1rem;
    }
}
.nectar-button.regular-button.extra-color-3{
color:#373636;
 }
.general-big-button-shortcode a{
	background: #dd2727;
    font-weight: 700;
    color: white;
	padding:12px 32px;
	border-radius:8px;
	text-decoration:none !important;
}
@media only screen and (max-width: 690px){
	.general-big-button-shortcode a{
		width:100%;
	}
}
body.material .nectar-button.jumbo.white-cta-button{
	font-family: Source Sans Pro;
	color: rgb(6, 52, 86);
    background-color: rgb(255, 255, 255);
	border:none;
}
body.material .nectar-button.regular.m-extra-color-gradient-2{
	border:none;
	font-family: Source Sans Pro;
}
body.material .nectar-button.regular.accent-color{
	font-family: Source Sans Pro;
}
body.material[data-button-style*=slightly_rounded] .nectar-button.regular[class*=m-extra-color-gradient-]:before {
    border-radius: 8px !important;
}

/*cookie consent OLD*/
.cli-style-v2 .cli-bar-btn_container .cli-plugin-button{
    margin-left:0;
    font-weight:bold;
    padding: 10px 18px 10px;
}

/*FT LP*/
.ft-logo{
    width:160px !important;
}
.ft-logo-2{
    width:180px !important;
}
html body .ft-logo-bar.vc_row-fluid>.span_12>.wpb_column:not([class*=offset-]){
    margin-bottom:0;
}

/*Carousel italiano*/
.carousel-italiano .col img:not([srcset]){
    width:120px !important;
}
/*NEW modules*/
.nectar-hor-list-item{
    padding:12px;
}
.nectar-flickity[data-controls=material_pagination] .flickity-page-dots{
    bottom:-60px;
}
@media only screen and (max-width: 690px){
/*.gallery-mobile {
   margin-left: -20px;
    margin-right: -20px;
}*/
.nectar-flickity[data-controls=material_pagination] .flickity-page-dots{
    bottom:-45px;
}
}

/* Lists and columns */
.margin-bottom-zero .nectar-fancy-ul ul{
	margin-bottom:0;
}

/*** MAKING the GLOBAL SECTION container STICKY or FIXED ***/
	/*.nectar-global-section.nectar_hook_global_section_footer*/ 
	/*.nectar-global-section.nectar_hook_global_section_after_footer{
		position: sticky;
		z-index: 100;
		bottom: 0;
	}*/
/* needed for mobile floating */
/*html body {
    overflow: visible;
}*/
.nectar-sticky-row-wrap {
    position: sticky;
    z-index: 100;
}
.nectar-sticky-column-css.vc_column_container > .n-sticky > .vc_column-inner {
    position: sticky;
    top: var(--nectar-sticky-top-distance);
}
.nectar-global-section.nectar_hook_global_section_after_footer{
    position: fixed;
    width: 100%;
    z-index: 100;
    bottom: 0;
    left: 0;
}

/* POPUPS */
.pum-overlay .pum-container{
	background:white;
	padding:15px;
	border-radius:5px;
	box-shadow: rgba(0, 0, 0, .04) 0 1px 0, rgba(0, 0, 0, .05) 0 2px 7px, rgba(0, 0, 0, .06) 0 12px 22px;
}
.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer input, .pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer button {
	width:100%;
	font-size: 1rem;
	padding: 0.75rem;
	font-family: Source Sans Pro, Arial, sans-serif;
}

.pum-overlay .pum-container h4{
	margin-bottom:1rem;
	color:#373636;
}
body .gform_wrapper .top_label .gfield_label{
color:#373636;
font-weight:600;
}

/* NEWSLETTER FOOTER */
#newsletter-footer .newsletter-heading p{
font-size:20px
}
#newsletter-footer .gfield--input-type-email{
grid-column: span 8;
}
#newsletter-footer .gfield--type-submit{
grid-column: span 4;
}
body .nectar-global-section #newsletter-footer .gfield--type-submit input[type=submit]{
padding: 12px 8px !important;
border-radius: 4px !important;
background-color: #16a57b;
width:100%;
font-size: 0.875rem;
font-family: Source Sans Pro;
}
#newsletter-footer input[type=email]{
	border-color: #d0d0d0;
	border-width: 1px;
}
@media only screen and (max-width: 641px){
body #newsletter-footer .gfield--type-submit input[type=submit]{
margin-left: 2px;
font-size: 16px;
padding: 10px !important;
}
}
.gform_wrapper.gravity-theme #gform_fields_103 .gfield_description.validation_message{
	display:none;
}
/* COURSE GUIDE FOOTER */
#course-guide-footer img{
	max-width:300px;
}

#course-guide-footer .nectar-button.jumbo{
	border:none;
}

.pum-theme-content-only .pum-content + .pum-close{
	font-size:26px;
}
/*Tequila*/
.tequila-guide button{
	background-color: #16a57b;
	color:white;
	border:none;
	padding: 16px 36px;
	font-weight:600;
}

/****BOTTOM FLOATING CTA
 ******/

/*desktop*/
.floating-cta-container .span_12 .floating-cta-right-bottom button.green, .floating-cta-container .span_12 .floating-cta-right-bottom .green {
	margin-bottom:-8px;
	margin-right:12px;
	padding:12px 24px;
	background-color:#16a57b;
	color:white;
	font-weight:bold;
	box-shadow:0 0 4px #fff;
	text-decoration:none;
	border-radius:6px;
	border:none;
	float:right;
}

.desktop-cta-btn.fix-new-ibc {
	text-decoration: none !important;
    font-size: 12px;
    line-height: normal;
}

.desktop-cta-btn a {
	text-decoration: none !important;
}

.pum-container.popmake.theme-14761.pum-responsive{
	padding-top: 1.5rem;
}
.pum-container.popmake.theme-14761.pum-responsive a{
	border:none;
	font-size: 0.875rem;
}
.pum-container.popmake.theme-14761.pum-responsive .pum-content p a:hover{
	color:white;
	opacity:1;
}
.pum-container.popmake.theme-14761.pum-responsive p{
	color:#20272e;
	padding-bottom:0.5rem;
}
.pum-container.popmake.theme-14761.pum-responsive h4{
	margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.pum-overlay .pum-container .pum-content{
	padding:12px 16px;
}
.pum-overlay.pum-theme-content-only .pum-container {
    border-radius: 8px;
}
/*mobile*/
body .floating-cta-container .col button{
		font-family: Source Sans Pro;
		border:none;
		font-size:12px;
		padding: 8px 14px;
}
/*.floating-cta-container .floating-cta-mobile-left-button button{

}*/
.floating-cta-container .floating-cta-mobile-right-button button{
	color: #063456; 
	background-color: #ffffff;
}

/*exclusions*/
@media only screen and (max-width: 460px){
	.floating-cta-container .floating-cta-right-bottom{
		display:none !important;
	}
	.floating-cta-container .row_col_wrap_12.col.span_12{
		background-color:#063456;
	}
	.floating-cta-container .floating-cta-mobile-left-button .nectar-button, .floating-cta-container .floating-cta-mobile-right-button .nectar-button{
		min-width:70%;
		margin-bottom:12px;
		margin-top:12px;
	}
	.floating-cta-container .floating-cta-mobile-left-button .nectar-button, .floating-cta-container .floating-cta-mobile-right-button .nectar-button{
		min-width:90%;
	}
	#course-guide-form, .course-guide-form {
        padding: 12px 8px !important;
        font-size: .9rem !important;
    }
	#rmi-form, .rmi-form {
        padding: 12px 8px !important;
        font-size: .9rem !important;
    }
	.hide-cta {
		display: none;
	}
	.first-cta-btn, .second-cta-btn {
        padding: 12px 8px !important;
        font-size: .9rem !important;
    }
}

@media only screen and (min-width: 460px){
	.floating-cta-container .floating-cta-mobile-left-button .nectar-button, .floating-cta-container .floating-cta-mobile-right-button .nectar-button{
		display:none !important;
	}
	.floating-cta-container .row_col_wrap_12.col.span_12{
		position: relative;
    	bottom: 0;
}
	.floating-cta-container .vc_col-sm-2.wpb_column.column_container{
		display:none;
	}
	.floating-cta-container .vc_col-sm-2.wpb_column.column_container:last-child{
		display:block;
		position: absolute;
		bottom: 0;
		right: 12px;
	}
}

/* Hide Desktop CTA */
.hide-desktop-cta {
	display: none;
}

/* DESTINATION SELECTOR */
#ebs-selector-modal .ebs-school-swiper .modal-close{
	top: -1rem;
    right: -1rem;
}
#ebs-selector .school{
	margin-bottom: 0;
	margin-top:0.25rem;
}
#ebs-selector .featured .school{
	padding: .5rem 0.25rem;
}
#ebs-selector .language {
	font-size: 0.875rem;
}
#ebs-selector h4{
	margin-bottom:1rem;
}
@media only screen and (min-width: 880px) {
	body #ebs-selector .ebs-school-swiper{
		 margin-right: 1rem;
	}
}
@media only screen and (max-width: 1000px){
	#ebs-selector .school,#ebs-selector .language{
	font-size: 0.875rem;
	}
}
@media only screen and (max-width: 480px){
	#ebs-selector .school,#ebs-selector .language{
	font-size: 0.75rem;
	}
}

.ebs-school-swiper .content p{
	line-height:1.4 !important;
}
@media only screen and (min-width: 1000px) and (max-width: 1300px) {
    body .swiper-slide .content p {
        font-size: 20px;
        line-height: 1.4;
    }
}
#ebs-selector .school[disabled] {
	color: #cfcfcf;
}
.ebs-school-swiper .swiper {
    max-width: 380px;
}
.ebs-school-swiper .thumbnail {
	display: flex;
	justify-content: center;
}
@media only screen and (max-width: 880px) {
    #ebs-selector {
        max-width: 560px;
        margin: 0 auto;
    }
    .ebs-school-swiper .thumbnail img {
        width: 100% !important;
    }
	#ebs-selector h4{
		display:none;
	}
	#ebs-selector .schools{
		padding-top:1rem;
	}
	#ebs-selector h2{
		font-size:1.25rem;
	}
}
@media only screen and (max-width: 690px){
	#ebs-selector {
    max-width: 450px;
	}
	.ebs-school-swiper .thumbnail {
		height: 12rem !important;
	}
}

/* Footer CTA animation */
.nectar-global-section.nectar_hook_global_section_after_footer {
  transform: translateY(100px);
  transition: transform 1s ease;
}

.nectar-global-section.nectar_hook_global_section_after_footer.show {
  transform: translateY(0);
}

/*********
PAGES SPECIFICS
******/
/**COURSE LISTING AND COURSES BELOW DESTINATIONS CONTENT **/
/*IBC page links*/
.rmi-title p{
font-size: 1.75rem;
font-weight: 600;
}
/*Single destination links*/
body .courses-list-ibc .span_12 .wpb_text_column.ibc-destination-link a{
	display: block;
    width: 80%;
	margin: 0 auto;
	background: #FFCD00;
    font-weight: 700;
    color: #55565A;
	padding:12px 32px;
	border-radius:8px;
	text-decoration:none !important;
}
.courses-list-ibc .span_12.light .wpb_text_column a:hover{
	opacity:0.9;
}
.course-list-module .wpb_text_column.wpb_content_element h3{
	font-weight:600;
	font-size:1.75rem;
}
.courses-list-ibc .ebs_coursepage_link{
	font-size:1rem;
}
.courses-list-ibc .course-list-info .label{
	width:30%;
	display: inline-block;
}
.courses-list-ibc .course-list-info .ebs_coursetype_languages, .courses-list-ibc .course-list-info .duration{
	width: 60%;
	display: inline-block;
	float:right;
}
/**/
.course-list-module.courses-list-small h5{
	font-weight:600;
	font-size: 1.5rem;
}
.course-list-module.courses-list-small p, .course-list-module.courses-list-small .ebs_coursetype_languages{
	font-size:1rem;
	color:white;
}
.course-list-module.courses-list-small a{
	font-size:1rem;
}
.course-list-module.courses-list-small .dates-prices-link a{
	color:#FFCD00;
}

/*course listing*/

.courses-list-ibc .padding-amount-small .nectar-badge__inner{
background-color: #b6b6b6;
    font-size: 14px;
	font-weight: 600;
}

.course-list-info .iwithtext .iwt-text{
	font-size:1rem;
}

.courses-list-ibc.course-listing-page .ibc-course-list a{
	display: block;
    width: 80%;
	margin: 0 auto;
	background: #dd2727;
    font-weight: 700;
    color: white;
	padding:12px 32px;
	border-radius:8px;
	text-decoration:none !important;
	font-size:1rem;
}
.course-list-module.courses-list-small .course-list-little-module a{
	display: block;
    width: 100%;
	margin: 0 auto;
	background: #dd2727;
    font-weight: 700;
	text-align:center;
    color: white;
	padding:12px 32px;
	border-radius:8px;
	text-decoration:none !important;
}
/*BOTH*/
@media only screen and (max-width: 690px){
	.courses-list-ibc.course-listing-page .ibc-course-list a, body .courses-list-ibc .span_12 .wpb_text_column.ibc-destination-link a{
		width:100%;
	}
}
/*Tour*/
.course-list-module.courses-list-small .tour p{
	color:#20272e;
}

/**FOOTER**/
#main-ebs-footer ul{
	list-style:none;
	padding-left:0;
	margin-left:0;
	margin-bottom:0;
}
#main-ebs-footer ul li{
	list-style:none;
	line-height:2.5rem;
}
#main-ebs-footer ul li a{
	text-decoration:none;
}
#main-ebs-footer ul li a:hover{
	color:white;
	text-decoration:underline;
}
#main-ebs-footer img.logo-white-small-footer, #main-ebs-footer .logo-white-small-footer img {
	width:54px;
}
#main-ebs-footer .footer-slogan h3{
	font-weight:600;
}
.footer-copyright p{
	font-size:0.875rem;
}
#main-ebs-footer .footer-contextual-menu ul li{
	list-style:none;
	display:inline-block;
}
#main-ebs-footer .footer-contextual-menu ul li a{
	font-size:0.875rem;
	text-decoration:none;
}
#main-ebs-footer .footer-contextual-menu ul li a:hover{
	text-decoration:underline;
	color:white;
}
#main-ebs-footer .footer-contextual-menu ul li::after{
	content:" - "
}
#main-ebs-footer .footer-contextual-menu ul li:last-child::after{
		content:""
}
@media screen and (max-width: 430px) {
	#main-ebs-footer img.logo-white-small-footer{
	width:60px;
	}
	#main-ebs-footer ul li{
		font-size:1rem;
	}
	#main-ebs-footer .footer-slogan h3{
		font-size: 1.25rem;		
	}
}
/*BLOG*/
.post-area.auto_meta_overlaid_spaced .masonry-blog-item .article-content-wrap .meta-category{
	display:none;
}
/* #page-header-bg[data-post-hs="default_minimal"] .section-title.blog-title .inner-wrap a{
	display:none;
} */
.related-posts[data-style=material] .meta-category a{
	display:none;
}
@media only screen and (min-width: 1px) and (max-width: 1000px) {
    .material .blog_next_prev_buttons {
        margin-top: 0;
    }
}
/**RECIPES**/
.recipes-post-loop .nectar-post-grid[data-text-color=light] .nectar-post-grid-item .content *{
	font-weight:600;
}

/**EXTRAS - hero**/

@media only screen and (min-width: 1000px){
body.material .wpb_row.full-width-section.hero {
    margin-bottom: 1rem;
}
}

/*Reserve Hero image space*/
@media (max-width: 768px), (max-width: 1024px) and (orientation: portrait) {
	.hero-section {
		width: 100% !important;
		aspect-ratio: 3 / 2;
		overflow: hidden;
		position: relative;
	}
  
	.hero-banner {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover;
	}
}

/**Dynamic Course**/
.dynamic-course .row_col_wrap_12 {
    justify-content: center;
}

.dynamic-course .hide {
    display: none !important;
}

/**NotificationX**/
.notificationx-inner p{
	padding-bottom:0;
}

.notification-item .notificationx-image{
	padding:8px;
}

@media only screen and (max-width: 528px) {
    .notification-item.nx-notification {
        width: 90% !important;
        left: 5% !important;
        bottom: 10px !important;
    }

	.nx-container {
        transition: bottom 0.4s ease-in-out;
	}

	.nx-container.cta-is-active {
        bottom: 65px !important;
	}

    .notification-item .notificationx-image {
        flex-basis: 80px;
        min-width: 80px;
        width: 80px;
    }

    .notification-item .notificationx-content {
        flex: X;
    }
}

.notification-item .notificationx-content>p.nx-first-row * {
    line-height: 1.4;
    font-size: 13px;
    font-family: 'Source Sans Pro';
}

.notification-item .notificationx-content p{
	padding-bottom:0;
}

/*New Lead Capture Module*/
/*CTA buttons equalizer*/
@media (max-width: 999px) {
	.custom-cta-row .form_rmi_button, .custom-cta-row .form_fcg_button {
		white-space: nowrap;
	}
}

/*ALL IBCs*/
@media only screen and (max-width: 999px) {
    .custom-cta-row.vc_row-fluid[data-column-margin="60px"] .wpb_column:not([class*="vc_col-xs-"]):not(.child_column):not(:last-child){
        margin-bottom:15px;
    }
}

@media only screen and (max-width: 999px) {
    .vc_column-inner .nectar-icon-list[data-direction=horizontal][data-columns] .nectar-icon-list-item {
        width: calc(100%);
    }
}

@media only screen and (max-width: 999px){
	.row .col .review-static-image img{
		max-width:300px;
	}
}

.page-submenu li a:hover, .page-submenu.stuck .current-menu-item a{
    background-color: rgba(182, 182, 182, .25);
}

@media only screen and (min-width: 999px){
    .page-submenu li a{
        font-size:16px;
		padding-left:10px;
		padding-right:10px;
    }
}

.page-submenu ul::-webkit-scrollbar {
	height: 6px; /* Adjust the height of the horizontal scrollbar */
	background-color: #063456; /* Set a background color */
}

.page-submenu ul::-webkit-scrollbar-thumb {
	background-color: #ccc; /* Set the thumb color */
	border-radius: 3px; /* Add rounded corners to the thumb */
}

.page-submenu ul::-webkit-scrollbar-track {
	background: #063456; /* Set the track color */
}

/* Custom Curved Carousel */

.custom-curve-carousel .cell {
    border-radius: 20px;
}

.custom-curve-carousel .cell img {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

/*TEMPORARY FOR MOCKUP*/
.custom-gallery-mobile .gallery-mobile-2 img {
    border-radius: 5px !important;
}

@media only screen and (max-width: 690px) {
    .custom-gallery-mobile .gallery-mobile-2 .flickity-prev-next-button.next {
        right  : -56px !important;
        top: 45% !important;
    }
    
    .custom-gallery-mobile .gallery-mobile-2 .flickity-prev-next-button.previous {
        left  : -56px !important;
        top: 45% !important;
    }
}

/*TEMPORARY PROMO*/
@media only screen and (min-width: 999px){
#sw-popup-container .sw-popup{
	max-width:380px;
}
}

/**** Progressive Journey ****/
/** PJ Course Module **/

.custom-book-btn {
    width: 100%;
    text-align: center;
}

/* Other Courses*/
.other-course div p{
    font-size:16px;
    line-height: 1.2;
}
.other-course div .languages p{
    font-size:14px;
}
.other-course .wpb_wrapper>div.nectar-responsive-text, .material .other-course .wpb_content_element.wpb_text_column{
    margin-bottom:12px;
}
.other-course .wpb_wrapper>div{
    margin-bottom:15px;
}
.other-course .nectar-fancy-ul ul{
    margin-bottom:12px;
}
.other-course .nectar-fancy-ul ul li{
    font-size:16px;
}
.other-courses .other-course .nectar-display-inline.border-radius-50px {
    display: inline-flex;
}
/* Pricing tables - IBC */
.pricing-tab-ibc .nectar-badge.position_desktop_absolute{
    z-index:999;
}
.pricing-tab-ibc .wpb_wrapper>div {
    margin-bottom: 0px;
}
.pricing-tab-ibc .nectar-badge .nectar-badge__inner{
    margin-top:5px;
}
@media only screen and (max-width: 1200px) {
    body.material .col .column_container .pricing-tab-ibc .nectar-button.jumbo {
        padding: 18px 25px;
    }
}
/* Buttons bottom alignment */
.pricing-tab-ibc .vc_col-sm-4 > .vc_column-inner > .wpb_wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.pricing-tab-ibc .custom-course-detail {
    margin-top: auto;
}

/** PJ Course Mobile Menu **/
.pj-cc-mobile-menu {
	border: 1px solid #fff;
    border-radius: 8px;
    padding: 8px 16px;
	margin-bottom: 16px !important;
}
.pj-cc-mobile-menu-label {
	margin-bottom: 8px !important;
}
.pj-cc-mobile-menu-ibc {
	border-width: 2px;
}
.pj-cc-mobile-menu-all {
	border-style: dashed;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon {
	display: flex !important;
	justify-content: space-between !important;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon i, .pj-cc-mobile-menu-ibc .nectar-menu-item-with-icon .nectar-menu-label {
	order: 2;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon span {
	display: flex;
    flex-direction: column;
	order: 1;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon .menu-title-text {
    font-size: 18px;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon .nectar-menu-label {
	padding: 0px;
    margin: 6px 0px 0px 0px;
    font-weight: 400;
    color: #dbdbdb;
    font-size: 12px;
}
.pj-cc-mobile-menu .nectar-menu-item-with-icon .nectar-menu-label:before {
	opacity: 0;
	font-weight: 400;
}
.pj-cc-mobile-menu-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
    order: 3;
}
.pj-cc-mobile-menu-badges-item {
    padding: 4px 16px;
    background: #f1f5f9;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 400;
    color: #334155;
    white-space: nowrap;
}

/** PJ Others **/

/** Schema Pro **/
.aiosrs-rating-wrap {
    display: none !important;
}

/* ============================================================
   EBS Guides — make guide pages render like blog posts.
   Copy these rules into the child theme's style.css.
   (All scoped to .single-guide so nothing else is affected.)
   Values verified live against /blog/ at desktop, 1000px, 768px
   and 390px so the guide matches the blog responsively.
   ============================================================ */

/* 1) Reading width — cap body content AND header title to the blog's reading
      width, centered. Blog uses 800px on desktop and relaxes to 1000px below
      Salient's ~1000px breakpoint. */
.single-guide .post-area,
.single-guide #page-header-bg .entry-title {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 999px) {
	.single-guide .post-area,
	.single-guide #page-header-bg .entry-title { max-width: 1000px; }
}

/* 2) Related Guides grid + cards.
      Salient's blog "Related Posts" layout is built by post-only JS, so our
      hand-rendered block on guides needs the grid/card styling re-applied here. */

/* Section heading "Related Guides" — match the blog's FLUID spacing/size.
   Blog scales padding-top 110px -> ~53px and font-size 26px -> 21px with the
   viewport (then 60px / 24px on phones). clamp()/calc() reproduce that curve. */
.single-guide .related-title {
	padding-top: clamp(53px, calc(-23.5px + 9.96vw), 110px);
	font-size: clamp(21px, calc(15.3px + 0.744vw), 26px);
	margin: 0 0 20px;
	font-weight: 400;
	color: #989898;
}

.single-guide .related-posts { display: flex; flex-wrap: wrap; }

.single-guide .related-posts .col.span_4 {
	width: 31.33%;
	margin: 0 3% 30px 0;
	float: none;
	box-sizing: border-box;
}
.single-guide .related-posts .col.span_4:nth-child(3n) { margin-right: 0; }

.single-guide .related-posts .inner-wrap {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 30px 90px 0 rgba(0, 0, 0, 0.14);
	height: 100%;
}

.single-guide .related-posts .post-featured-img { display: block; overflow: hidden; }
.single-guide .related-posts .post-featured-img img { width: 100%; height: auto; display: block; margin: 0; }

.single-guide .related-posts .article-content-wrap { position: relative; padding: 10px 30px 80px; }
.single-guide .related-posts .title { color: #989898; font-size: 22px; font-weight: 700; line-height: 32px; margin: 0 0 4px; }
.single-guide .related-posts .grav-wrap { position: absolute; left: 30px; bottom: 30px; }
.single-guide .related-posts .grav-wrap .text span { color: #20272e; font-size: 13px; }

/* Stack the related cards below Salient's ~1000px breakpoint (mirrors the blog). */
@media only screen and (max-width: 999px) {
	.single-guide .related-posts { display: block; }
	.single-guide .related-posts .col.span_4 { width: 100%; margin: 0 0 30px 0; }
}

/* Phones: blog fixes the heading at 60px / 24px below 690px. */
@media only screen and (max-width: 690px) {
	.single-guide .related-title { padding-top: 60px; font-size: 24px; }
}

/* ============================================================
   EBS Guides
   ============================================================ */

/* 1) Reading width — cap body content AND header title to the blog's reading
      width, centered. Blog uses 800px on desktop and relaxes to 1000px below
      Salient's ~1000px breakpoint. */
.single-guide .post-area,
.single-guide #page-header-bg .entry-title {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
@media only screen and (max-width: 999px) {
	.single-guide .post-area,
	.single-guide #page-header-bg .entry-title { max-width: 1000px; }
}

/* 2) Related Guides grid + cards.
      Salient's blog "Related Posts" layout is built by post-only JS, so our
      hand-rendered block on guides needs the grid/card styling re-applied here. */

/* Section heading "Related Guides" — match the blog's FLUID spacing/size.
   Blog scales padding-top 110px -> ~53px and font-size 26px -> 21px with the
   viewport (then 60px / 24px on phones). clamp()/calc() reproduce that curve. */
.single-guide .related-title {
	padding-top: clamp(53px, calc(-23.5px + 9.96vw), 110px);
	font-size: clamp(21px, calc(15.3px + 0.744vw), 26px);
	margin: 0 0 20px;
	font-weight: 400;
	color: #989898;
}

.single-guide .related-posts { display: flex; flex-wrap: wrap; }

.single-guide .related-posts .col.span_4 {
	width: 31.33%;
	margin: 0 3% 30px 0;
	float: none;
	box-sizing: border-box;
}
.single-guide .related-posts .col.span_4:nth-child(3n) { margin-right: 0; }

.single-guide .related-posts .inner-wrap {
	position: relative;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0 30px 90px 0 rgba(0, 0, 0, 0.14);
	height: 100%;
}

.single-guide .related-posts .post-featured-img { display: block; overflow: hidden; }
.single-guide .related-posts .post-featured-img img { width: 100%; height: auto; display: block; margin: 0; }

.single-guide .related-posts .article-content-wrap { position: relative; padding: 10px 30px 80px; }
.single-guide .related-posts .title { color: #989898; font-size: 22px; font-weight: 700; line-height: 32px; margin: 0 0 4px; }
.single-guide .related-posts .grav-wrap { position: absolute; left: 30px; bottom: 30px; }
.single-guide .related-posts .grav-wrap .text span { color: #20272e; font-size: 13px; }

/* Stack the related cards below Salient's ~1000px breakpoint (mirrors the blog). */
@media only screen and (max-width: 999px) {
	.single-guide .related-posts { display: block; }
	.single-guide .related-posts .col.span_4 { width: 100%; margin: 0 0 30px 0; }
}

/* Phones: blog fixes the heading at 60px / 24px below 690px. */
@media only screen and (max-width: 690px) {
	.single-guide .related-title { padding-top: 60px; font-size: 24px; }
}

/* 3) Hub-and-spoke: breadcrumb trail + "part of" link back to the hub. */

.single-guide .ebs-guide-breadcrumb { margin: 0 0 25px; }

.single-guide .ebs-guide-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
}

/* list-style must be killed on the LI, not just the OL: the theme sets it
   explicitly on li, and an explicit rule beats the value inherited from ol —
   so markers survive `list-style: none` above and collide with the separators. */
.single-guide .ebs-guide-breadcrumb li {
	margin: 0;
	list-style: none;
}

/* Separator between crumbs — decorative, so it stays out of the a11y tree. */
.single-guide .ebs-guide-breadcrumb li + li::before {
	content: "/";
	margin: 0 8px;
	color: #b5b5b5;
}

.single-guide .ebs-guide-breadcrumb a { color: #989898; text-decoration: none; }
.single-guide .ebs-guide-breadcrumb a:hover { text-decoration: underline; }
.single-guide .ebs-guide-breadcrumb [aria-current="page"] { color: #20272e; }

/* Long hub/guide titles must not push the trail wider than the reading column. */
@media only screen and (max-width: 690px) {
	.single-guide .ebs-guide-breadcrumb ol { font-size: 12px; }
}

/* Selector is deliberately over-qualified: the hub link is a <p> and is usually the
   last one in the column, so Salient's `.row .col p:last-child { padding-bottom: 0 }`
   (0,3,1) outranks a plainer selector and flattens the box's bottom padding. */
.single-guide .row .col p.ebs-guide-hub-link {
	margin: 40px 0 0;
	padding: 18px 24px;
	border-left: 3px solid #20272e;
	background: #f6f6f6;
	font-size: 15px;
}
.single-guide .ebs-guide-hub-link a { font-weight: 700; }

/* ============================================================
   End of EBS Guides
   ============================================================ */

/*** Free Acco Promo — countdown banner ***/
.free-acco-banner {
    display: flex;
    column-gap: 8px;
    align-items: baseline;
}

.free-acco-banner p {
    height: fit-content;
    padding-bottom: 0px;
}

@media (max-width: 690px) {
    .free-acco-banner {
        flex-direction: column;
        align-items: center;
        /*row-gap: 8px;*/
    }
    .free-acco-banner p {
        font-size: clamp(11px, calc(4.2vw - 2px), 16px) !important;
        line-height: 1.4 !important;
        white-space: nowrap;
    }
}

.free-acco-countdown {
    background-color: inherit;
    color: white;
    font-size: 18px;
    font-weight: 500;
}

.free-acco-countdown ifsocountdown {
    display: inline-flex !important;
    flex-direction: row;
    align-items: center;
    vertical-align: middle;
    gap: 8px;
}

.free-acco-countdown ifsocountdownwrapper,
.free-acco-countdown ifsocountdown,
.free-acco-countdown ifsocountdown * {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
}

.free-acco-countdown .ifso-countdown-container {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    /*align-items: center;*/
    /*justify-content: center;*/
    column-gap: 4px;
}

.free-acco-countdown .ifso-countdown-container .ifso-countdown-counter {
    text-align: center;
    /*width: 2em;*/
    box-sizing: content-box;
    /*line-height: 1.6;*/
    padding: 0px;
    /*margin: 0px 0px 3px;*/
    /*border: 1px solid white;*/
    /*background-color: white;*/
    /*color: #063456;*/
    /*border-radius: 4px;*/
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 0px;
}

.free-acco-countdown .ifso-countdown-container .ifso-countdown-label {
    font-size: 70%;
    /* text-transform: capitalize; */
    position: static;
    /*line-height: 1.2;*/
}

.free-acco-countdown .ifso-countdown-container .ifso-countdown-label.min,
.free-acco-countdown .ifso-countdown-container .ifso-countdown-label.sec {
    margin-left: -4px;
}

.free-acco-countdown .ifso-countdown-separator {
    /*align-self: baseline;*/
    /*padding: 4px 0px;*/
    /*margin: 0px 4px;*/
    display: none;
}
/*** End of Free Acco Promo ***/

/* ============================================================
   GF 3 CSS fix
   ============================================================ */

/* submit changed from <input> to <button> in GF 3.0 */
body[data-form-submit="regular"] .container-wrap button[type=submit] {
    width:100%;
    background-color: #16a57b !important;
	font-family: Source Sans Pro, Arial, sans-serif !important;
}

.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer button {
	width:100%;
	font-size: 1rem;
	padding: 0.75rem;
	font-family: Source Sans Pro, Arial, sans-serif;
}

body .nectar-global-section #newsletter-footer .gfield--type-submit button[type=submit]{
padding: 12px 8px !important;
border-radius: 4px !important;
background-color: #16a57b;
width:100%;
font-size: 0.875rem;
font-family: Source Sans Pro;
}

.gform_wrapper.gravity-theme button.gform_button{
      appearance: none;
      -webkit-appearance: none;
}

@media only screen and (max-width: 641px){
      .gform_wrapper.gravity-theme button.gform_button{
              line-height: 2;
              min-height: 32px;
      }
}

@media only screen and (min-width: 642px){
      .gform_wrapper.gravity-theme button.gform_button{
              line-height: 20px;
      }
}

/* required-asterisk spacing moved in GF 3.0 */
.gform_wrapper.gravity-theme .gform-field-label > .gfield_required{
      padding-inline-start: 1px;
}

/* label line-box lost 1px in GF 3.0 — only on labels carrying the asterisk */
.gform_wrapper.gravity-theme .gfield_label{ padding-bottom: 0; }
.gform_wrapper.gravity-theme .gfield_label:has(.gfield_required){ padding-bottom: 1px; }
.gform_wrapper.gravity-theme .gfield--type-consent{ padding-bottom: 1px; }

/* ============================================================
   End of GF 3 CSS fix
   ============================================================ */

/* ============================================================
   EBS BARSCHOOL - GRAVITY FORMS (PRODUCTION)
   Visual layer only. Validation timing is separate JS.
   Written for GRAVITY FORMS 3.0 markup (button submit,
   .gform-field-label).
 
   Paste at the END of the production custom CSS, then work through
   "CONFLICTS" at the bottom. Two of those must be done or this file
   will not take effect properly.
 
   Production tokens (unchanged from current prod):
     Blue    #063456   labels, input text
     Green   #16a57b   form submit
     Red     #dd2727   errors (prod already uses this for errors)
     Font    Source Sans Pro
 
   SCOPE: this file deliberately does NOT touch things that already
   work on prod. Checked against the live RMI popup:
     - popup form submits render brand RED (theme-driven) while
       regular and newsletter forms render green. This file unifies
       them on production green #16a57b, per the agreed semantics
       that lead-capture submits are green.
     - the consent field already aligns correctly, wrapped lines sit
       under the text. Left alone.
     - the three contact-method checkboxes already sit on one line,
       so their layout is left alone. They ARE resized though: prod
       rendered them at 13x13 against 16px on the design system
       build, and the browser's default left margin was indenting
       the group.
     - the required asterisk is visible and red. Left alone.
   What this file changes: input styling, the focus state, the
   validation message appearance, non-error descriptions, and the
   accessibility of the hidden error summary.
   ============================================================ */
 
/* ---- Field spacing: tighter than GF's default so the form reads
   as a compact block. 14px between field groups, 4px from label to
   its field (set in the label rule below). ---- */
.gform_wrapper.gravity-theme .gform_fields{
  grid-row-gap: 14px;
}
.gform_wrapper.gravity-theme .gfield{
  margin-bottom: 0;
  padding-bottom: 0;
}
.gform_wrapper.gravity-theme .gfield input,
.gform_wrapper.gravity-theme .gfield textarea,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .ginput_container{
  margin-top: 0;
}
 
/* ---- Field labels (GF 3.0 uses .gform-field-label; legacy kept).
   :not(--type-inline) matters: in GF 3.0 the choice labels ("By
   email") and the consent sentence also carry .gform-field-label, so
   without the exclusion they inherit the bold 600 weight and read as
   field labels rather than body text. ---- */
.gform_wrapper.gravity-theme .gform-field-label:not(.gform-field-label--type-inline),
body .gform_wrapper.gravity-theme .top_label .gfield_label{
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #063456;
  margin-top: 0;
  margin-bottom: 4px;
}
 
/* choice labels and consent text: body text, not field labels */
.gform_wrapper.gravity-theme .gform-field-label--type-inline,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_consent_label{
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 400;
  color: #4A5260;
  line-height: 1.45;
}
 
/* ---- Text inputs, textarea, select ----
   Checkboxes and radios are excluded on purpose: giving them
   text-field padding and a focus ring makes them appear to grow on
   focus and shifts the layout. ---- */
.gform_wrapper.gravity-theme .gfield input[type="text"],
.gform_wrapper.gravity-theme .gfield input[type="email"],
.gform_wrapper.gravity-theme .gfield input[type="tel"],
.gform_wrapper.gravity-theme .gfield input[type="number"],
.gform_wrapper.gravity-theme .gfield input[type="url"],
.gform_wrapper.gravity-theme .gfield textarea,
.gform_wrapper.gravity-theme .gfield select,
.gform_wrapper.gravity-theme .ginput_container input:not([type="checkbox"]):not([type="radio"]){
  width: 100%;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #063456;
  background: #FAFAFA;
  border: 1px solid #D8DCE2;
  border-radius: 4px;
  padding: 11px 14px;
  transition: border-color .15s, background .15s, box-shadow .15s;
  box-shadow: none;
}
.gform_wrapper.gravity-theme .gfield textarea{
  min-height: 96px;
  resize: vertical;
}
.gform_wrapper.gravity-theme .gfield ::placeholder{
  color: #9AA1AC;
  opacity: 1;
}
 
/* ---- Focus.
   !important is required: body.material input:focus sets
   border-color:#d0d0d0 !important and would win otherwise. ---- */
body.material .gform_wrapper.gravity-theme .gfield input:not([type="checkbox"]):not([type="radio"]):focus,
body.material .gform_wrapper.gravity-theme .gfield textarea:focus,
body.material .gform_wrapper.gravity-theme .gfield select:focus,
.gform_wrapper.gravity-theme .gfield input:not([type="checkbox"]):not([type="radio"]):focus,
.gform_wrapper.gravity-theme .gfield textarea:focus,
.gform_wrapper.gravity-theme .gfield select:focus{
  outline: none;
  border-color: #16a57b !important;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(22,165,123,.14);
}
 
/* ---- Checkbox / radio: size + alignment.
   Prod was rendering these at 13x13 (browser default), noticeably
   smaller than the 16px on the new design system build. Sized to
   match, with the left margin zeroed so the first choice lines up
   with the field labels and inputs above it. Browsers apply
   margin: 3px 3px 3px 4px to checkboxes by default, which is where
   the indent came from; margin-top is left alone because prod uses
   it to align the box with the first line of consent text. ---- */
.gform_wrapper.gravity-theme .gfield input[type="checkbox"],
.gform_wrapper.gravity-theme .gfield input[type="radio"],
.gform_wrapper.gravity-theme .gfield-choice-input{
  width: 16px;
  height: 16px;
  min-width: 16px;
  flex: 0 0 16px;
  margin-left: 0 !important;
  margin-right: 0 !important;
  accent-color: #16a57b;
  cursor: pointer;
  box-shadow: none !important;
  transition: none !important;
  transform: none !important;
}
.gform_wrapper.gravity-theme .gfield input[type="checkbox"]:focus,
.gform_wrapper.gravity-theme .gfield input[type="radio"]:focus,
.gform_wrapper.gravity-theme .gfield-choice-input:focus{
  box-shadow: none !important;
  transform: none !important;
  outline: 2px solid rgba(22,165,123,.45);
  outline-offset: 1px;
}
 
/* space between the box and its text, and vertical alignment.
   Uses gap rather than the browser's default margins, which were
   zeroed above to fix the group's left alignment. */
.gform_wrapper.gravity-theme .gchoice,
.gform_wrapper .gfield_checkbox .gchoice{
  display: flex;
  align-items: center;
  gap: 8px;
}
.gform_wrapper .ginput_container_consent,
.pum-container .gform_wrapper .ginput_container_consent{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
/* consent text must always be free to wrap */
.gform_wrapper .gfield_consent_label,
.pum-container .gform_wrapper .gfield_consent_label{
  flex: 1 1 auto;
  min-width: 0 !important;
  max-width: none !important;
  width: auto !important;
}
 
/* left-align the choice group with the rest of the form.
   .gfield_checkbox renders as a grid in GF 3.0, and the field itself
   is a fieldset, which carries browser default padding. */
.gform_wrapper.gravity-theme fieldset.gfield{
  padding: 0;
  margin-inline: 0;
  border: 0;
}
.gform_wrapper.gravity-theme .gfield_checkbox,
.gform_wrapper .gfield_checkbox,
.gform_wrapper.gravity-theme .ginput_container_checkbox{
  padding-left: 0;
  margin-left: 0;
}
.gform_wrapper.gravity-theme .gchoice,
.gform_wrapper .gfield_checkbox .gchoice{
  padding-left: 0;
  margin-left: 0;
}
 
/* mobile: larger tap target, matching the design system build.
   16px is uncomfortably small on a phone. */
@media only screen and (max-width: 641px){
  .gform_wrapper.gravity-theme .gfield input[type="checkbox"],
  .gform_wrapper.gravity-theme .gfield input[type="radio"],
  .gform_wrapper.gravity-theme .gfield-choice-input{
    width: 20px;
    height: 20px;
    min-width: 20px;
    flex: 0 0 20px;
  }
  /* choice labels only. The consent label also carries
     .gform-field-label--type-inline, and min-width:max-content would
     force that whole sentence onto one line and overflow the modal. */
  .gform_wrapper.gravity-theme .gfield_checkbox .gchoice label,
  .gform_wrapper .gfield_checkbox label{
    max-width: none !important;
    width: auto !important;
    min-width: max-content;
  }
}
 
/* ---- Consent field: intentionally NOT restyled.
   Verified on the live RMI popup, the consent field already aligns
   correctly, the wrapped second line sits under the text rather than
   under the checkbox. The older .pum-container float rules
   (float:left; width:92% / 88%) coexist with a later flex block and
   between them the result is correct, so nothing is overridden here.
   If it ever does break, the fix is to delete the float rules and
   let the flex block own it. ---- */
 
/* ---- Multi-choice checkboxes: intentionally NOT restyled.
   Verified on the live RMI popup, the three contact-method choices
   already sit on one line, evenly spaced and aligned. The gap values
   that were needed on the new design system build are not needed
   here. If mid-phrase wrapping ("By / email") ever appears on a
   phone, the tested fix is gap:10px 14px on .gfield_checkbox and
   gap:4px on .gchoice. ---- */
 
/* ---- Space above the submit ---- */
.gform_wrapper.gravity-theme .gform_footer{
  margin-top: 16px !important;
  padding-top: 0;
}
 
/* ---- Submit button: green across all forms.
   Prod currently renders green on regular container forms and on the
   newsletter footer (both already forced with !important), but RED on
   popup forms, where the theme's accent wins because the popup rules
   set no background. This unifies them on production green.
   !important and background-image:none are both needed to beat the
   theme, which applies its accent as a background and sometimes as a
   gradient. ---- */
.gform_wrapper.gravity-theme button.gform_button,
.gform_wrapper.gravity-theme input.gform_button[type="submit"],
.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer button,
.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
body[data-form-submit="regular"] .container-wrap button[type="submit"]{
  background-color: #16a57b !important;
  background-image: none !important;
  border-color: #16a57b !important;
  color: #fff !important;
  transition: background-color .2s ease;
}
.gform_wrapper.gravity-theme button.gform_button:hover,
.gform_wrapper.gravity-theme input.gform_button[type="submit"]:hover,
.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer button:hover,
.pum-overlay .pum-container .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
body[data-form-submit="regular"] .container-wrap button[type="submit"]:hover{
  background-color: #128A66 !important;
  border-color: #128A66 !important;
}
.gform_wrapper.gravity-theme button.gform_button:focus-visible,
.gform_wrapper.gravity-theme input.gform_button[type="submit"]:focus-visible{
  outline: 2px solid rgba(22,165,123,.6);
  outline-offset: 2px;
}
 
/* ============================================================
   ERROR APPEARANCE (visual only)
   Uses prod's existing #dd2727 rather than introducing a new error
   colour, so this file does not change the established prod look.
   ============================================================ */
 
.gform_wrapper.gravity-theme .gfield_error input[type="text"],
.gform_wrapper.gravity-theme .gfield_error input[type="email"],
.gform_wrapper.gravity-theme .gfield_error input[type="tel"],
.gform_wrapper.gravity-theme .gfield_error textarea,
.gform_wrapper.gravity-theme .gfield_error select,
body .gform_wrapper .gfield_error [aria-invalid="true"]{
  border: 1px solid #dd2727;
  background: #FEF6F6;
}
.gform_wrapper.gravity-theme .gfield_error input:not([type="checkbox"]):not([type="radio"]):focus,
.gform_wrapper.gravity-theme .gfield_error textarea:focus{
  border-color: #dd2727 !important;
  box-shadow: 0 0 0 3px rgba(221,39,39,.12);
}
 
/* label stays neutral in error: only the border and message go red */
.gform_wrapper.gravity-theme .gfield_error .gform-field-label,
body .gform_wrapper.gravity-theme .gfield_error .top_label .gfield_label{
  color: #063456;
}
 
/* inline message: one light line with an icon, no boxed panel.
   Scoped to .validation_message so it does not catch plain field
   descriptions, which prod currently colours red as well. */
.gform_wrapper.gravity-theme .gfield_validation_message,
body .gform_wrapper.gravity-theme .gfield_description.validation_message,
.gform_wrapper.gravity-theme .gfield_error .validation_message{
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 7px;
  padding: 0;
  background: none;
  border: none;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #dd2727;
  line-height: 1.35;
}
.gform_wrapper.gravity-theme .gfield_validation_message::before,
body .gform_wrapper.gravity-theme .gfield_description.validation_message::before,
.gform_wrapper.gravity-theme .gfield_error .validation_message::before{
  content: "";
  flex-shrink: 0;
  width: 15px;
  height: 15px;
  background-color: #dd2727;
  -webkit-mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
          mask: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E");
}
 
/* plain field descriptions should NOT be red.
   Prod colours every .gfield_description #dd2727, so a harmless
   hint reads as an error. This puts non-error descriptions back to
   neutral grey. */
body .gform_wrapper.gravity-theme .gfield_description:not(.validation_message){
  color: #6B7280;
  font-size: 14px;
  padding-top: 4px;
}
 
/* top-of-form summary: prod already hides it with display:none.
   This keeps it hidden but leaves it in the accessibility tree,
   because Gravity Forms moves focus there on submit and screen
   readers rely on it to announce that the submission failed.
   display:none silences that. */
body .gform_wrapper .gform_validation_errors,
body .gform_wrapper.gravity-theme .gform_validation_errors {
  display: block !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: none !important;
}
 
/* ============================================================
   CONTEXT VARIANTS
   ============================================================ */
 
/* forms on dark backgrounds */
body .dark-background-form .gform_wrapper.gravity-theme .gform-field-label,
body .dark-background-form .gform_wrapper .top_label .gfield_label{
  color: #fff;
}
.dark-background-form .gform_wrapper.gravity-theme .gfield input:not([type="checkbox"]):not([type="radio"]),
.dark-background-form .gform_wrapper.gravity-theme .gfield textarea,
.dark-background-form .gform_wrapper.gravity-theme .gfield select{
  background: #fff;
  border-color: #fff;
}
.dark-background-form .gfield_consent_label{
  color: rgba(255,255,255,.85);
}
.dark-background-form .gfield_consent_label a{
  color: #fff;
}