/* Table of Content
==================================================
	#Site Styles
	#Media Queries */



/* #Site Styles
================================================== */

:root {
    --color-blue: #398FB1;
    --color-blue-dark: #224C88;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-purple: #8C5EB1;
    --color-gradient: linear-gradient(135deg,rgba(34, 76, 136, 1) 0%, rgba(58, 143, 178, 1) 100%);


    --default-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --default-font-size: 17px;
    --default-line-height: 30px;
    --font-h1: 700 62px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-h2: 700 40px/55px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif ;
    --font-h3: 700 30px/150% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif ;
    --font-h4: 700 24px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-h5: 700 20px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-h6: 700 16px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    
    --font-large: 400 24px/30px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-normal: 400 20px/28px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif
    
    --base-transition: all 0.3s;

    --wp--preset--spacing--20: 8px !important;
    --wp--preset--spacing--30: 16px!important;
    --wp--preset--spacing--40: 32px!important;
    --wp--preset--spacing--50: 48px!important;
    --wp--preset--spacing--60: 64px!important;
    --wp--preset--spacing--70: 86px!important;
   	--wp--preset--spacing--80: 120px!important;
}


#headerCntr .custom-logo-link{margin-left:15px;}

* { margin: 0; padding: 0; box-sizing: border-box; }
html,
body { font-family: var(--default-font-family); -webkit-font-smoothing:antialiased; -moz-font-smoothing:antialiased; -o-font-smoothing: antialiased; font-size: var(--default-font-size); color:var(--color-black) }
body { background: var(--color-white);}
html{}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}
ul,
li { list-style: none; }
:focus { outline: none; }
img { display: block; max-width: 100%; height: auto; border: 0; }
a { display: inline-block; transition: var(--base-transition); }

.aligncenter {margin: 0 auto; text-align:center;}

h1, .h1 { font: var(--font-h1); margin-bottom:0;}
h2, .h2 { font: var(--font-h2); margin-bottom:0;}
h3, .h3 { font: var(--font-h3); margin-bottom:0;margin-top:-13px;}
h4, .h4 { font: var(--font-h4); margin-bottom: 0;}
h5, .h5 { font: var(--font-h5); margin-bottom: 0;}
h6, .h6 { font: var(--font-h6); margin-bottom: 0;}

h2.has-large-font-size{font:var(--font-h1) !important;}
h3.has-large-font-size{font:var(--font-h2) !important;}
h4.has-large-font-size{font:var(--font-h3) !important;}

p{margin-bottom:30px; line-height:var(--default-line-height); font-size: var(--default-font-size);}
p.has-blue-color{margin-bottom:27px;}

a:not(.btn){color:var(--color-black); text-decoration: none;}

/* ### global classes ### */
.clear { visibility: hidden; clear: both; height: 0; line-height: 0; }
.center { margin: 0 auto; padding-right: 15px; padding-left: 15px; position: relative; max-width: 1146px; }
.centered { padding-right: calc((100% - 1146px) / 2); padding-left: calc((100% - 1146px) / 2); }
.hide{display:none !important;}
.alignleft {float: left; margin-right: 1.5em; margin-bottom: 1em;}
.alignright {float: right; margin-left: 1.5em; margin-bottom: 1em;}
.alignleft img, .alignright img {max-width: 100%; height: auto; display: block;}


.hero{height:467px; color:white; background-repeat: no-repeat; background-position: center; background-size: cover;}
.hero .content_box{max-width:680px;}
.hero .header_title{margin-bottom:40px;}
.hero .header_description{margin-bottom:40px;}


.wp-block-image.is-style-floating{margin-top:-60px;}
.wp-block-column{position: relative;}


.wp-block-list.is-style-lines{display: inline-flex; flex-direction: column;}
.wp-block-list.is-style-lines li{display: flex; align-items: flex-start; position: relative; padding-left: 20px; display: table-header-group;}
.wp-block-list.is-style-lines li::before {content: ""; position: absolute; right: 0; bottom:0; width: 100vw; border-bottom: 1px solid #ccc; transform: translateY(-50%); z-index: -1;}
.wp-block-list.is-style-lines li:last-child::before {display: none;}
.wp-block-list.is-style-lines li a{padding:15px 45px 15px 0; color:var(--color-black); text-decoration: none;}
.wp-block-list.is-style-lines li a:hover{color:var(--color-purple);}


.wp-block-buttons{
	padding-top:0;
}

#gform_fields_1 {display: grid; grid-template-columns: 1fr 1fr; gap: 24px;}
#field_1_1,#field_1_3,#field_1_4,#field_1_6 { grid-column: 1;}
#field_1_7 {grid-column: 2; grid-row: 1 / span 3;}
#field_submit{grid-column:2; justify-content:flex-end;}
#gform_1 .gform-footer {display: flex; justify-content: flex-end; margin-top: 16px;}
.gform-theme--foundation .gfield textarea.large{min-block-size: 8rem !important;}
.gform-button {border: 1px solid var(--color-purple) !important; border-radius:0 !important; padding: 6px 18px !important; background-color: var(--color-purple) !important;}
	
	
@media (max-width: 768px) {
    #gform_fields_1 {grid-template-columns: 1fr;}
    #field_1_7 {grid-column: 1; grid-row: auto;}
    #gform_submit_button_1 {width: 100%;}
}




/* Buttons */
.btn {border:1px solid var(--color-purple); height: fit-content; width: fit-content; color:var(--color-white); padding:6px 18px; background-color: var(--color-purple); text-decoration: none;}
.btn:hover {background-color: transparent; color:var(--color-black);}
.btn.blank{background:transparent; color:var(--color-black); border:none;}

body .wp-block-separator{border-top:1px solid;}
body .wp-block-button__link{border-radius:0; border:1px solid var(--color-purple); padding:6px 18px; background-color: var(--color-purple); text-decoration: none; color:var(--color-white);}
body .wp-block-button__link:hover{background-color:transparent; color:var(--color-black)}

/* ### wrapper ### */
#wrapper { position: relative; display: block; width: 100%; min-height: 100%;}

/* ### main container ### */
#mainCntr { width: 100%; }

/* ### header container ### */
#headerCntr {display: flex; gap:32px; flex-wrap: wrap; align-items: center; width: 100%; transition: all 0.3s; background-color: #ffffff; padding-right: calc((100% - 1480px) / 2); padding-left: calc((100% - 1620px) / 2);}
.logged-in #headerCntr{top:32px;}
#headerCntr:after { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #f2f2ee; content: ''; transition: all 0.3s; opacity: 0; visibility: hidden; }
#headerCntr .logo { position: relative; z-index: 2; }
#headerCntr .logo img { max-width: 100%; }
#headerCntr .menu-btn { display: flex; flex-wrap: wrap; justify-content: flex-end;}
#headerCntr .menu-btn > li { margin-right: 8px; padding-top: 10px; padding-bottom: 10px; position: relative; }
#headerCntr .menu-btn > li:hover ul { opacity: 1; visibility: visible; }
#headerCntr .menu-btn > li:last-child { margin-right: 0; }
#headerCntr .menu-btn > li > a {  text-align: center; text-decoration: none; color: var(--color-black); vertical-align: middle; }
#headerCntr .menu-btn > li > a i { font-size: 20px; }
#headerCntr .menu-btn > li > ul { padding: 25px 23px; position: absolute; top: 100%; left: 50%; display: flex; flex-wrap: wrap; width: 125px; background-color: #fff; filter: drop-shadow(0px 8px 16px rgba(0, 0, 0, 0.08)); transform: translateX(-50%); opacity: 0; visibility: hidden; transition: all 0.3s; }
#headerCntr .menu-btn > li > ul > li { margin-right: 0; margin-bottom: 18px; padding-top: 0; padding-bottom: 0; }
#headerCntr .menu-btn > li > ul > li:last-child { margin-bottom: 0; }


.alignwide {max-width: 1146px; margin-left: auto; margin-right: auto;}
.alignfull {width: 100%; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);}

/* ### header-hamburger ### */
.header-hamburger { position: absolute; top: 14px; right: 20px; z-index: 5; display: block; width: 44px; height: 44px; border: solid 1px var(--color-white); ; cursor: pointer; border-bottom-right-radius: 15px; background: transparent; }
.header-hamburger.active { background-color: var(--color-white) }
.header-hamburger span { position: absolute; top: 50%; left: 50%; display: block; width: 22px; height: 2px; text-indent: -9999px; background: var(--color-white); transform: translate(-50%, -50%); transition: 0.2s; }
.header-hamburger span:before,
.header-hamburger span:after { position: absolute; left: 0; display: block; width: var(--width); height: 2px; background-color: var(--color-white); transition-duration: 0.2s, 0.2s; content: ''; }
.header-hamburger span:before { top: -8px; }
.header-hamburger span:after { bottom: -8px; }
.header-hamburger.active span { background: none; }
.header-hamburger.active span:before,
.header-hamburger.active span:after { background-color: var(--color-green); transition-delay: 0s, 0.2s; }
.header-hamburger.active span:before { top: 0; transform: rotate(45deg); }
.header-hamburger.active span:after { bottom: 0; transform: rotate(-45deg); }

/* ### Breadcrumbs ### */
.breadcrumbs{margin-top:20px;}
.breadcrumbs a, .yoast-breadcrumbs a{text-decoration: none; color:var(--color-black);} 


/* ### menu box ### */
.menuBox { display: flex; flex-wrap: wrap; justify-content: end; flex:1; padding:50px 0;}
.menuBox ul { display: flex; justify-content: end; padding: 0; margin: 0; flex:1; align-items: center}
.menuBox ul > li { position: relative; align-items: center; justify-content: end; text-align: center; display: inline; padding:0 42px;}
.menuBox ul > li:last-child { margin-right: 0; }
.menuBox ul > li:hover ul { opacity: 1; visibility: visible; min-width:190px; }
.menuBox ul > li > a { text-decoration: none; color:var(--color-black); font-size:24px;}
.menuBox ul > li > a:hover { color:var(--color-lime); }
.menuBox ul > li > ul { padding: 10px; position: absolute; top: 100%; left: 0; display: block; flex-wrap: wrap;  opacity: 0; visibility: hidden; transition: all 0.3s; }
.menuBox ul > li > ul > li { margin-right: 0; padding-top: 0; padding-bottom: 0; width: 50%; justify-content: center; }
.menuBox ul > li > ul > li > ul { padding: 0;; position: unset; width: auto; display: block; filter: none; transform: translateX(0); }
.menuBox ul > li > ul > li > ul:before { display: none; }
.menuBox ul > li > ul > li > ul > li { margin: 10px 0; width: 100%; display:block; padding:0;}
.menuBox ul > li > ul > li > ul > li:first-child {margin-top: 0;}
.menuBox ul > li > ul > li > ul > li:last-child { margin-bottom: 0; }
.menuBox ul.submenu_columns li:not(:first-child) ul {margin-top: 41px;}
.menuBox ul > li > .button-menu{color:white; padding:6px 18px; background-color: var(--color-purple);}


.submenu_columns ul li {position: relative;}
.submenu_columns ul li::after { content: ""; display: block; height: 1px; width: 85%; background: #fff; margin: 13px auto 0;}
.submenu_columns ul li:last-child::after {display: none;}

.submenu_columns{width: auto; z-index: 10; color: white; background: var(--color-gradient); text-align:left;}
.menuBox .submenu_columns li a{color:var(--color-white); text-align:center;  font-size:20px; }

.submenu_toggle{display:none;}

/* ### mobileMenu ### */
.mobileMenu { position: absolute; top: 50%; right: 15px; z-index: 15; display: none; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background-color: #fff; transition: all 0.3s; cursor: pointer; overflow: hidden; transform: translateY(-50%); }
.mobileMenu span { position: absolute; top: 50%; right:0; display: block; width: 17px; height: 2px; text-indent: -9999px; border-radius: 20px; background: var(--color-blue); transition: all 0.2s ease-in-out; }
.mobileMenu span:before,
.mobileMenu span:after { position: absolute; left: 0; display: block; width: 100%; height: 2px; background-color: var(--color-blue); transition-duration: 0.2s, 0.2s; content: ''; }
.mobileMenu span:before { top: -6px;  }
.mobileMenu span:after { bottom: -6px; }
.mobileMenu.active span { background: none; }
.mobileMenu.active span:before,
.mobileMenu.active span:after { transition-delay: 0s, 0.2s; }
.mobileMenu.active span:before { top: 0; transform: rotate(45deg); width: 100%; }
.mobileMenu.active span:after { bottom: 0; transform: rotate(-45deg); }



/*### footer CTA ###*/
.footer-cta .contentArea{position: relative; padding-bottom:96px; padding-top:152px; }
.footer-cta .title{}
.footer-cta .description{max-width:calc(100% - 450px);}
.footer-cta strong{color: var(--color-blue);}
.footer-cta p{margin-bottom:30px;}
.footer-cta .consultants{margin-top:40px; display: flex; gap:56px;}
.footer-cta .consultants .consultant .btn{margin-top:38px;}
.footer-cta .ctas{margin-top:40px; display: flex; gap: 28px; }
.footer-cta .ctas a{}
.footer-cta .consultant_image{position: absolute; right:0; bottom:0;}
.footer-cta .consultant_image img{}


/* ### footer container ### */
.footer{background: #224C88; background: var(--color-gradient); color:white;}
.footer .footerContainer {display: flex; gap:24px; padding-top: 68px; padding-bottom: 68px;}
.footer .column{flex:1;}
.footer .column a{display: table; color:white; text-decoration: none; line-height: var(--default-line-height); }

.footer .column.company{display: flex; justify-content: space-between; flex-direction: column; gap: 30px;}
.footer .column.company .footer-logo .custom-logo-link img{filter: brightness(0) invert(1);}
.footer .column.company .footer-address p{margin-bottom: 0;}
.footer .column.menus{ display: flex; width: 100%; gap:24px;}
.footer .column.menus > .subcolumn{flex:1;}

.footer .column_title{font-weight: bold;}

.footer .locations{display: flex; gap:30px; flex-direction: column;}
.footer .locations .location p{margin-bottom:0;}

.EIJbv{text-align:left !important; display: flex; flex-direction: column; height: 100%;}
.bdBmNt{margin-top:15px !important; align-self: flex-start;}
	
.es-text-shortener {
    -webkit-line-clamp: 6 !important;
}


/* ### footer box ### */



/* #Media Queries
================================================== */

@media only screen and (max-width: 1368px) {
	.centered { padding-right: 15px; padding-left: 15px; }
	
}

@media only screen and (max-width: 1024px) {
	:root {
	    --wp--preset--spacing--20: 8px !important;
	    --wp--preset--spacing--30: 16px!important;
	    --wp--preset--spacing--40: 24px!important;
	    --wp--preset--spacing--50: 32px!important;
	    --wp--preset--spacing--60: 48px!important;
	    --wp--preset--spacing--70: 64px!important;
	   	--wp--preset--spacing--80: 80px!important;
	}
	#headerCntr{padding-left:45px; padding-right:45px;}
	#headerCntr .custom-logo-link{width:170px;}
	.menuBox ul{gap:15px;}
	.menuBox ul > li{flex:unset;}
	.menuBox ul > li > a{font-size:22px;}
	.wp-block-columns{ padding-left: 45px; padding-right:45px;} 
	.centered { padding-right: 45px; padding-left: 45px; }
	.footer-cta .description{max-width:100%;}

	.footer-cta .consultants{flex-direction: column; gap:30px; margin-top:30px;}
	.footer-cta .consultants p{margin-bottom: 0;}
	.wp-block-columns .wp-block-columns{padding-left:0; padding-right: 0;}
}

@media only screen and (min-width: 992px) {
	#headerCntr .menu-btn{display:none;}
	#headerCntr .menu-btn > li > ul { display: block!important; height: auto!important; }
	.menuBox ul > li > ul {  height: auto!important; }
	.hide-desktop {display: none !important;}
}

@media only screen and (max-width: 991px) {


	:root {

		--default-font-size: 16px;
    	--default-line-height: 18px;

	    --font-h1: 700 62px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-h2: 700 22px/29px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-h3: 700 22px/35px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-h4: 700 24px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-h5: 700 20px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-h6: 700 16px/100% -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    
	    --font-large: 400 24px/30px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    --font-normal: 400 16px/28px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	    
	    --base-transition: all 0.3s;

	    --wp--preset--spacing--20: 8px !important;
	    --wp--preset--spacing--30: 16px!important;
	    --wp--preset--spacing--40: 20px!important;
	    --wp--preset--spacing--50: 24px!important;
	    --wp--preset--spacing--60: 32px!important;
	    --wp--preset--spacing--70: 48px!important;
	   	--wp--preset--spacing--80: 64px!important;
	}

	p{margin-bottom:18px;}
	body .hero-block .hero_description{font-size:16px; line-height: 18px;}
	.btn{padding: 6px 7px;}
	.breadcrumbs {display: none;}
	.hero-block{height:150px!important;}
	.hero-block .hero_description{width:unset !important;}

	.wp-block-image.is-style-floating{margin-top:15px; }
	
	

	#headerCntr { padding-top: 16px; padding-bottom: 16px; justify-content: space-between; padding-left:25px; padding-right:25px;}
	#headerCntr .custom-logo-link{display:flex; margin-top:-10px; width:40%; z-index:1;}
	#headerCntr .menu-btn{flex-wrap:unset; margin-top: -10px; flex-direction: row-reverse; width:auto;}
	#headerCntr .menu-btn .button{ display:none; }
	#headerCntr .menu-btn > li:last-child { width: 100%; }
	#headerCntr .menu-btn > li > ul { margin-top: 0; margin-bottom: 0; left: 0; transition: unset; transform: translateX(0); z-index: 1; }
	#headerCntr .menu-btn > li > ul:before { left: 17px; display: block; transform: translateX(0) rotate(45deg); }
	#headerCntr .menu-btn.d-phone { padding-top: 20px; display: flex; justify-content: flex-start; width: 100%; }
	#headerCntr .menu-btn > li { margin-right: 10px; margin-bottom: 0; min-width:27px;}
	#headerCntr .logo { width: 100%; }
	.menuBox { padding: 0px 0px 60px; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; display: block; background-color:#fff; opacity: 0; visibility: hidden; transition: all 0.3s; overflow-y: scroll; }
	.menuBox.open { opacity: 1; visibility: visible; margin-top:70px; z-index:1;}
	.menuBox ul { display: block; }
	.menuBox ul > li > a{width: 100%; border-bottom: 1px solid black; padding: 10px;}
	.menuBox ul li ul li a{border-bottom:none;}
	.menuBox ul > li:hover ul{margin-top:0;}
	.menuBox ul > li { margin-right: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0; display:block;}
	.menuBox ul > li:last-child { margin-bottom: 0; padding-right:0; }
	.menuBox ul > li > ul {max-width:100%; margin-top: 10px; margin-bottom: 10px; position: unset; width: 100%; transform: translateX(0); opacity: 1; visibility: visible; display: none; transition: unset; }
	.menuBox ul > li > ul:before { display: none; }
	.menuBox ul > li > ul > li { width: 100%; }
	.menuBox ul > li > ul > li > ul { margin-top: 0; margin-bottom: 0;}
	.menuBox ul > li > ul > li > ul > li:last-child { margin-bottom: 10px 0; }
	.mobileMenu { display: flex; }
	.hide-mobile {display: none !important;}

	.menuBox .nav_column.has_submenu{display:flex; flex-wrap:wrap; align-items:stretch;}
	.menuBox .nav_column.has_submenu > .submenu_title{flex:1; width:auto; padding-left:50px;}
	.menuBox .nav_column.has_submenu > .submenu_toggle{position:relative; display:block; flex:0 0 50px; padding:0; background:transparent; border:none; border-bottom:1px solid black; cursor:pointer;}
	.menuBox .nav_column.has_submenu > .submenu_toggle::before{content:''; position:absolute; inset:0; background:url('assets/images/icon-arrow-down.svg') no-repeat center; background-size:16px; opacity:0.5; transition:transform 0.3s;}
	.menuBox .nav_column.has_submenu.open > .submenu_toggle::before{transform:rotate(180deg);}
	.menuBox .nav_column.has_submenu > .submenu_columns{flex:0 0 100%;}


	.footer-cta{padding-right:0px;}
	.footer-cta .consultant_image{position: relative; margin-top:40px;}
	.footer-cta .contentArea{padding-bottom: 0; padding-top:0;}

	.footer .footerContainer{flex-direction: column;}
	.footer .column.menus{flex-direction: column;}
	.footer .column.menus .column_content div{display: none;}
	.footer .locations{display: none;}
	

	#headerCntr .custom-logo-link{width:130px;}

	.alignfull {
		width: 100vw;
		margin-left: -22px;
		margin-right: 0;
	}

	.mobile-full-width img{
		width: 100% !important;
	}
}


@media only screen and (max-width: 767px) {
	main#contentCntr{margin-top:35px;}
	#headerCntr .logo img { width: 95px; }
	#headerCntr .mobileMenu { display: block; }
	#headerCntr .menu-btn { }
	.menuBox ul > li > a { font-size: 20px; }
	.menuBox ul > li > ul { padding: 20px; }
	.menuBox ul > li > ul > li { width: 100%; }
	.menuBox ul > li > ul > li > ul { padding-right: 0; }
}