*,
*::before,
*::after{
	margin:0;
	padding:0;
	box-sizing:border-box;
}

img{
	max-width:100%;
	height:auto;
	display:block;
}

a{
	text-decoration:none;
	color:inherit;
}

ul{
	list-style:none;
}



html{
	scroll-behavior:smooth;
}

body{
	font-family:"Inter", sans-serif;
	font-size:16px;
	line-height:1.6;
	color:#222;
	background:#fff;
	overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
	font-family:"Frank Ruhl Libre", serif;
	font-weight:400;
	line-height:1.1;
}


h1{
	font-size:72px;
	line-height:1.05;
	color:#fff;
	margin-bottom:25px;
}

h2{
    font-size: 56px;
    font-weight: 400;
    line-height: 1.2em;
    color: #000;
}

h3{
    font-size: 28px;
    font-weight: 400;
    line-height: 1.3em;
    color: #000;
	margin: 2px 0px 10px 0px;
}

h4{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3em;
    color: #000;
}

p,
li,
a,
button,
input,
textarea{
	font-family:"Inter", sans-serif;
	margin-block-end: .9rem;
    margin-block-start: 0;
	font-size:18px;
	line-height:1.6em;
	color:#2319088c;
}



.container{
	width:100%;
	max-width:1240px;
	margin:0 auto;
	padding:0 20px;
}

.site-header{
	position:relative;
	width:100%;
	z-index:100;
}

.header-bg{
	width:100%;
	background:linear-gradient(
		to right,
		#246978 0%,
		#246978 50%,
		#ffffff 50%,
		#ffffff 100%
	);
}

.header-container{
	display:flex;
	min-height:10px;
}

.header-left{
	width:85%;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	background-color:#246978;
	padding-right:50px;
}

.header-right{
	width:15%;
}

.main-menu{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	min-height:120px;
}

.main-menu > li{
	position:relative;
}

.main-menu > li > a{
	position:relative;
	display:flex;
	align-items:center;
	min-height:100px;
	padding:0 20px;
	font-family:"Inter", sans-serif;
	font-size:16px;
	font-weight:500;
	color:#fff;
	transition:color .3s ease;
}

.main-menu > li > a::after{
	content:"";
	position:absolute;
	left:15px;
	right:15px;
	bottom:25px;
	height:2px;
	background:#608B8E;
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .35s ease;
}

.main-menu > li:hover > a,
.main-menu > li.active > a{
	color:#608B8E;
}

.main-menu > li:hover > a::after,
.main-menu > li.active > a::after{
	transform:scaleX(1);
}

/* Submenu */
.submenu{
	position:absolute;
	top:100%;
	left:0;
	min-width:230px;
	background:#fff;
	padding:12px 0;
	box-shadow:0 20px 45px rgba(0,0,0,.12);
	opacity:0;
	visibility:hidden;
	transform:translateY(14px);
	transition:all .35s ease;
	z-index:50;
}

.main-menu > li:hover > .submenu{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}

.submenu li{
	position:relative;
}

.submenu li a{
	display:block;
	padding:12px 22px;
	font-family:"Inter", sans-serif;
	font-size:15px;
	font-weight:500;
	color:#246978;
	white-space:nowrap;
	transition:all .3s ease;
}

.submenu li a:hover,
.submenu li.active > a{
	color:#608B8E;
	background:rgba(36,105,120,.08);
	padding-left:28px;
}
/* Burger */
.menu-toggle{
	display:none;
	width:34px;
	height:34px;
	border-radius:50%;
	background:#fff;
	align-items:center;
	justify-content:center;
	flex-direction:column;
	gap:4px;
	cursor:pointer;
	box-shadow:0 6px 18px rgba(36,105,120,.12);
	z-index:1001;
	border:none;
	outline:none;
}

.menu-toggle span{
	width:15px;
	height:2px;
	background:#246978;
	border-radius:20px;
	transition:all .35s ease;
}

/* Mobile */



.intro-section{
	width:100%;
	display:grid;
	grid-template-columns:50% 50%;
	background:linear-gradient(
		to right,
		#246978 0%,
		#246978 71.85%,
		#ffffff 71.85%,
		#ffffff 100%
	);
	padding-top:0;
	padding-bottom:50px;
}

.intro-left{
	padding-left:160px;
	padding-right:50px;
	display:flex;
	align-items:center;
}

.intro-content h1{
	color:#fff;
}

.intro-content h2{
	font-family:"Inter", sans-serif;
	font-size:20px;
	line-height:1.05;
	font-weight:400;
	color:#fff;
	margin-bottom:15px;
	color:#fff;
}

.intro-content p{
	font-family:"Inter", sans-serif;
	font-size:18px;
	line-height:1.7;
	color:rgba(255,255,255,.82);
	margin-bottom:15px;
}

.intro-left img{
	
	width:40%;
	margin-bottom:50px;
	
}

.intro-right img{
	width:100%;
	height:auto;
	display:block;
}

.button-yellow{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 45px;
	background:#FBE3C7;
	color:#000;
	font-family:"Inter", sans-serif;
	font-size:18px;
	font-weight:500;
	border-radius:30px;
	transition:all .35s ease;
	position:relative;
	overflow:hidden;
	text-align:center;

}

.button-yellow:hover{
	background:#fff;
	color:#000;
	transform:translateY(-2px);
	box-shadow:0 12px 30px rgba(251,227,199,.45);
}

.button-green{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:15px 45px;
	background:#246978;
	color:#fff;
	font-family:"Inter", sans-serif;
	font-size:18px;
	font-weight:500;
	border-radius:30px;
	transition:all .35s ease;
	position:relative;
	overflow:hidden;
	text-align:center;
}

.button-green:hover{
	background:#000;
	color:#fff;
	transform:translateY(-2px);
	box-shadow:0 12px 30px rgba(36,105,120,.35);
}

.section-white{
	width:100%;
	background:#fff;
	padding-top:100px;
	padding-bottom:100px;
}

.grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
	margin-bottom:100px;
}

.frame-GreenBox {
    background: #246978;
    padding: 40px 40px 40px 80px;
    transition: all 0.35s ease;
    transform: translateY(0);
	margin-bottom:40px;
}

.frame-GreenBox h3 {
    color: #fff;
    transition: color 0.35s ease;
}

.frame-GreenBox p {
    color: #608B8E;
    transition: color 0.35s ease;
}

.frame-GreenBox:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.18);
}

.frame-GreenBox:hover p {
    color: #b7d7d9;
}

.frame-borderBox {
    background: #fff;
    border: 1px solid #00000021;
    padding: 40px 40px 40px 80px;
    margin-bottom: 40px;
    transition: all 0.35s ease;
    transform: translateY(0);
}

.frame-borderBox:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.grid-3{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:40px;
}

.frame-borderBoxLink{
	position:relative;
	border:1px solid #00000021;
	padding:40px 40px 70px 40px;
	transition:all .35s ease;
	overflow:hidden;
}

.frame-borderBoxLink h3,
.frame-borderBoxLink p,
.frame-borderBoxLink hr{
	transition:all .35s ease;
}

.frame-borderBoxLink a{
	position:absolute;
	inset:0;
	z-index:5;
	font-size:0;
	color:transparent;
	background:transparent;
}

.frame-borderBoxLink a::after{
	content:"↗";
	position:absolute;
	left:40px;
	bottom:15px;
	width:35px;
	height:35px;
	border-radius:100px;
	background:#246978;
	color:#fff;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:18px;
	font-weight:400;
	transition:all .35s ease;
	box-shadow:0 12px 30px rgba(36,105,120,.25);
}

.frame-borderBoxLink:hover{
	background:#246978;
	transform:translateY(-8px);
	box-shadow:0 20px 40px rgba(0,0,0,.12);
}

.frame-borderBoxLink:hover h3,
.frame-borderBoxLink:hover hr{
	color:#fff;
	border-color:#fff;
}

.frame-borderBoxLink:hover p{
	color:#b7d7d9;
}

.frame-borderBoxLink:hover a::after{
	background:#fff;
	color:#246978;
	transform:translateX(5px);
	box-shadow:0 12px 30px rgba(255,255,255,.2);
}

.section-green{
	width:100%;
	background:#246978;
	padding-top:100px;
	padding-bottom:100px;
}

.section-green h3, .section-green h4{color:#fff;}
.section-green p{color:#608B8E;}

.frame-blacktextinimage{
	position:relative;
}

.frame-blacktextinimage .ce-bodytext{
	position:absolute;
	left:50%;
	bottom:0;
	transform:translate(-50%, 50%);
	width:80%;
	text-align:center;
	color:#fff;
	padding:20px 0;
	background:#0D1F25;
	z-index:2;
}

.frame-blacktextinimage h4{
	color:#fff;
	margin:0;
	padding-bottom:5px;
}

.frame-blacktextinimage .ce-bodytext p{color:#ffffff66; margin:0;padding:0px;}

.frame-textincenterofbox{
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.site-footer{
	width:100%;
	padding:40px;
	background:#081317;
}

.footer-grid{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:40px;
	margin-bottom:40px;
}

.footer-bottom{
	border-top:1px solid #ffffff66;
	padding-top:40px;
	text-align:center;
	color:#ffffff66;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

.grid-4 .first-column,
.grid-4 .second-column,
.grid-4 .third-column,
.grid-4 .last-column {
    width: 100%;
}

/* Footer text colors */
.site-footer h4,
.site-footer h4 span {
    color: #fff;
}

.site-footer p,
.site-footer li,
.site-footer span {
    color: #ffffff66;
}

.site-footer a {
    color: #ffffff66;
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-footer a:hover {
    color: #fff;
}

/* Footer menu reset */
.site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-footer li {
    margin-bottom: 14px;
}

/* Menu links */
.site-footer li a {
    position: relative;
    padding-left: 20px;
    color: #ffffff66;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
    display: inline-block;
	margin-bottom:0px !important;
}

/* Arrow icon */
.site-footer li a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
    background-color: #ffffff66;
    transition: all 0.3s ease;

    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E") no-repeat center;

    -webkit-mask-size: contain;

    mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E") no-repeat center;

    mask-size: contain;
}

/* Hover */
.site-footer li a:hover {
    color: #fff !important;
    transform: translateX(6px);
}

.site-footer li a:hover::before {
    background-color: #fff;
}

/* Location icon */
.site-footer .second-column #c32 p {
    position: relative;
    padding-left: 45px;
}

.site-footer .second-column #c32 p::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 35px;
    height: 35px;
    background-color: #ffffff66;
    transition: background-color 0.3s ease;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-6-5.686-6-11a6 6 0 1 1 12 0c0 5.314-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: contain;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-6-5.686-6-11a6 6 0 1 1 12 0c0 5.314-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.site-footer .second-column #c32 p:hover::before {
    background-color: #fff;
}

/* Phone icon */
.site-footer .second-column #c33 p:has(a[href^="tel:"]) {
    position: relative;
    padding-left: 45px;
}

.site-footer .second-column #c33 p:has(a[href^="tel:"])::before {
    content: "";
    position: absolute;
    left: 0;
    width: 35px;
    height: 35px;
    background-color: #ffffff66;
    transition: background-color 0.3s ease;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: contain;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='7' y='2' width='10' height='20' rx='2'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

.site-footer .second-column #c33 p:has(a[href^="tel:"]):hover::before {
    background-color: #fff;
}

/* Email icon */


.site-footer .second-column #c33 p:has(a[href^="mailto:"]) {
    position: relative;
    padding-left: 45px;
    transition: color 0.3s ease;
}

.site-footer .second-column #c33 p:has(a[href^="mailto:"])::before {
    content: "";
    position: absolute;
    left: 0;
    width: 35px;
    height: 35px;
    background-color: #ffffff66;
    transition: background-color 0.3s ease;

    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") no-repeat center;
    -webkit-mask-size: contain;

    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") no-repeat center;
    mask-size: contain;
}

/* Hover */
.site-footer .second-column #c33 p:has(a[href^="mailto:"]):hover::before {
    background-color: #fff;
}

.container.grid-4{max-width:100%;}

.site-footer h4{margin-bottom:20px}

.site-footer img{margin-bottom:20px;}

.frame-space-after-extra-large{margin-bottom:40px;}

#c33 p{margin-bottom:20px;}

@media(max-width:1030px){

	.header-bg{
		background:#246978;
	}

	.header-container{
		min-height:70px;
	}

	.header-left{
		width:100%;
		min-height:70px;
		justify-content:flex-end;
		padding-right:0px;
	}

	.header-right{
		display:none;
	}

	.menu-toggle{
		display:flex;
	}

	.main-menu{
		position:fixed;
		top:0;
		left:0;
		width:50%;
		height:100vh;
		min-height:100vh;
		background:#fff;
		display:block;
		padding:88px 28px 35px;
		transform:translateX(-100%);
		transition:transform .45s cubic-bezier(.77,0,.175,1);
		z-index:1000;
		box-shadow:25px 0 60px rgba(36,105,120,.18);
		overflow-y:auto;
	}

	.main-menu.is-open{
		transform:translateX(0);
	}

	.main-menu > li{
		width:100%;
		border-bottom:1px solid rgba(36,105,120,.10);
	}

	.main-menu > li > a{
		position:relative;
		display:inline-flex;
		min-height:auto;
		padding:15px 0;
		font-size:18px;
		font-weight:500;
		color:#246978;
		justify-content:flex-start;
	}

	.main-menu > li > a::after{
		content:"";
		position:absolute;
		left:0;
		right:0;
		bottom:8px;
		width:100%;
		height:2px;
		background:#608B8E;
		transform:scaleX(0);
		transform-origin:left;
		transition:transform .35s ease;
	}

	.main-menu > li:hover > a,
	.main-menu > li.active > a{
		color:#608B8E;
	}

	.main-menu > li:hover > a::after,
	.main-menu > li.active > a::after{
		transform:scaleX(1);
	}

	.submenu{
		position:static;
		min-width:100%;
		background:transparent;
		box-shadow:none;
		padding:0 0 12px 14px;
		margin:0;
		opacity:1;
		visibility:visible;
		transform:none;
		display:block;
		border-radius:0;
	}

	.submenu li a{
		position:relative;
		color:#5b7478;
		padding:7px 0 7px 16px;
		font-size:14px;
		font-weight:400;
		white-space:normal;
	}

	.submenu li a::before{
		content:"";
		position:absolute;
		left:0;
		top:50%;
		width:5px;
		height:5px;
		border-radius:50%;
		background:#608B8E;
		transform:translateY(-50%);
		opacity:.6;
	}

	.submenu li a:hover,
	.submenu li.active > a{
		color:#246978;
		background:transparent;
		padding-left:20px;
	}

	.menu-toggle.is-open span:nth-child(1){
		transform:translateY(6px) rotate(45deg);
	}

	.menu-toggle.is-open span:nth-child(2){
		opacity:0;
	}

	.menu-toggle.is-open span:nth-child(3){
		transform:translateY(-6px) rotate(-45deg);
	}
	.intro-section{grid-template-columns:100%; background:#246978;}
	.intro-left{padding-left:50px;}
	.intro-right{margin-top:50px;}
	.intro-section{padding-bottom:0px;}
	
	.grid-2{grid-template-columns: 1fr; gap: 0;}
	
	.grid-3{grid-template-columns: 1fr; gap: 0;}
	
	.grid-2 .left-column{margin-bottom:40px;}
	.grid-3 .left-column{margin-bottom:40px;}
	.grid-3 .center-column{margin-bottom:40px;}
	.frame-blacktextinimage{margin-bottom:60px;}
	
	 .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:600px){
	.main-menu{
		width:100%;
	}
	.menu-toggle.is-open{
	background:#246978;
	}

	.menu-toggle.is-open span{
	background:#fff;
	}
	.intro-left{padding-left:20px; padding-right:20px;}
	.intro-content h1{font-size:42px;}
	.intro-content p{font-size:14px;}
	.button-yellow{padding:10px 25px; font-size:15px;}
	.grid-4 {
        grid-template-columns: 1fr;
    }
}

@media(max-width:400px){
	
	
	
	
}