html, body, input, textarea {color:#0b5562; font-family: 'Poppins', sans-serif; font-size: 1.1em; line-height: 1.7;}
a{color: #333; text-decoration:none; transition: all 0.5s;}
*{padding:0; margin:0;}
.social{margin: 0;}
.social li{display:inline-block; margin: 0 25px 25px 0; width: 45px; height: 45px;}
.social li a{border-bottom: none!important;}
.social li a svg{fill: #d50074; width: 100%; vertical-align: middle; transition: all 0.5s;}
.clear { clear: both;}
.center { margin: 0 auto; max-width: 1400px;}
.grecaptcha-badge{z-index:100;}
.btn{color:#fff; background:#d50074; display:inline-block; padding: 15px 35px; font-weight:500; text-align: center; border-radius: 5px 5px 30px 5px; border: none; transition: all 0.5s;}
.error{ background:#fff; border:#C4060A 1px solid; color:#C4060A; padding:10px; margin:25px 0!important; border-radius: 15px;}
.error li{ margin-left:25px; }
.succes{ background:#fff; border:#03af07 1px solid; color:#03af07; padding:20px; margin:25px 0!important; border-radius: 15px;}

.mm-spn.mm-spn--light{background: #fff!important; color: #0b5562!important; }
.mm-spn a.active{color:#d50074;}
.mm-spn  li.contact a{padding:20px; background:#d50074; color: #fff!important; border-radius: 5px 5px 30px 5px;}
.mm-spn  li:after{opacity: 0!important;}
.mm-spn li:before{opacity: 1!important;}
.mm-spn a:not(:last-child):after{opacity: 0!important;}

.sl-wrapper .sl-image .sl-caption{background: rgba(11,85,98,.5)!important; color: #fff!important; text-align:center!important; font-size: 1.1em!important; font-weight:500!important; width:100%!important; left:auto!important; bottom: 25px!important;}
.sl-wrapper .sl-image img{border-radius: 25px;}
.sl-overlay{background: #000!important;}

.content{}
.content h1{font-size: 2.5em; margin: 0 0 50px 0; line-height: 1.2; color:#0b5562; }
.content h1 span{color: #d50074;}
.content h2{font-size: 1.8em; margin: 0 0 50px 0; line-height: 1; font-weight: 500;}
.content h3, .content h6{font-size: 1.4em; margin: 0 0 20px 0; line-height: 1.2; font-weight: 600;}
.content p{margin: 0 0 25px 0;}
.content a{border-bottom: 1px solid #fff;}
.content ul, .content ol{margin: 0 0 25px 25px;}
.content img, .content iframe {max-width:100%;}
.content img,.content video, .content iframe {max-width:100%;}
.content .overviewSubPages{border: 1px solid #d8edf8; padding:25px 25px 5px 25px; border-radius: 10px;}
.content table, .content table tbody, .content table tr{border:0;}
.content table tr td{width:50%!important; padding: 10px; vertical-align: middle!important; border:0!important; height: auto!important;}
.content table tr td table tr td{padding: 5px!important;}
.content table tr td table{margin-bottom: 25px!important;}
.content table tr td:first-of-type{padding-left:0;}
.content table tr td:last-of-type{padding-right:0;}
.content table tr td img{max-width:100%!important; height: auto;}

.formContainer{overflow:hidden; position:relative; }
.formTxt{margin: 0 0 5px 0; font-weight:bold; }
.formTxt.gone{display:none;}
.formInput{margin: 0 0 25px 0;}
.formInput input:not(.btn), .formInput textarea{background:#fff; border: 2px solid #0b5562; padding:10px; width: calc(100% - 24px); border-radius: 5px 5px 25px 5px; -webkit-appearance: none;}
.formInput textarea{ height:100px;}
.formInput .btn{}
.formContainer .adjustJump{position:absolute; margin-top:-250px!important;}

.photolist {display:flex; flex-wrap: wrap; margin: 0!important;}
.photolist li {width: calc(40% - 40px); transition: 0.5s; list-style:none; margin: 0 40px 40px 0;}
.photolist picture{aspect-ratio: 16/9; display:block; overflow:hidden;}
.photolist picture *{transition: 0.5s; width:100%; height:100%!important; object-fit:cover; border-radius: 60px 20px 20px 20px;}
.photolist li .button{align-items: center; display:flex; padding: 20px; margin: 25px 0 0 0; color:#fff; font-weight: 600; line-height: 1.2; border: 2px solid #fff; border-radius: 10px 10px 90px 10px; transition: all 0.7s;}
.photolist li .button .title{width: calc(100% - 120px); display:block; padding: 15px 25px;}
.photolist li .button .plus{text-align: center; line-height: 40px; font-size: 2em; width: 40px; height:40px; display:block; margin: 0 0 0 10px; transition: all 0.7s; font-weight: 400;}
.photolist li.more{width: 20%; margin: 0 0 40px 0; text-align:right;}
.photolist li.more .btn{background-color:#fff; color:#0b5562;}
.photolist li.more .btn:hover{background-color:#ccc;}
.projectPhoto{padding: 50px 50px 1px 50px; margin: 0 0 100px 0; border-radius:20px; }
.projectPhoto picture{display:block; line-height:0; overflow:hidden; border-radius: 60px 20px 20px 20px; border: 2px solid #0b5562; width: 100%; margin: 0 0 50px 0;}
.projectPhoto picture *{width:100%;}
.photoBack{margin: 0 0 25px 0;}

header{background:#fff; box-shadow: 0 0 15px #ccc; position: relative; z-index: 75; transition: all 0.5s;}
header.sticky{position: fixed; top: 0; width: 100%; box-shadow: 0 0 15px #666; z-index:110;}
header.sticky + .hero { padding-top: 65px;}
header .logoMenuHolder{padding: 25px 0; transition: all 0.5s;}
header.sticky .logoMenuHolder{padding: 5px 0;}
header .logoMenuHolder .center{max-width: 1600px; display:flex; align-items: center;}
header .logo{width:calc(20% - 25px); margin:0 25px 0 0; line-height: 0;}
header .logo picture * {width: 100%; max-width: 200px; transition: all 0.5s;}
header.sticky picture * {width: 70%; margin-top: 5px; }
header nav{width:80%; font-weight: 600; line-height: 1;}
header nav ul{list-style:none; display: flex; float: right; align-items: center;}
header nav ul li{padding: 0 5px;}
header nav ul li a{display:block; padding:10px; color:#0b5562;}
header nav ul li a.active, header nav ul li a:hover, header nav ul li:hover > a{color:#d50074; }
header nav ul li:has(ul) > a::after{content: " >"; display: inline-block; margin: 0 0 0 10px; transition: all 0.7s;}
header nav ul li:has(ul):hover > a::after{ transform: rotate(90deg);}
header nav ul li ul{background-color: rgba(11, 85, 98, 0.8); max-height:0px; width: 200px; display:block; position:absolute; border-radius: 10px; z-index:100; transition: all 0.7s; overflow:hidden;}
header nav ul li ul li{float: none; padding: 0;}
header nav ul li ul li a{display:block; padding: 15px 25px; color:#fff; font-size: 1em;}
header nav ul li ul li a:hover, header nav ul li ul li a.active{color:#d50074; }
header nav ul li:hover ul, header nav ul li:focus ul{max-height:500px; }
header nav ul li.contact{margin: 0 0 0 10px; padding: 0;}
header nav ul li.contact a{color:#fff; background:#0b5562; border-radius: 5px 5px 30px 5px; padding: 17px 30px;}
header nav ul li.contact a:hover{background-color:#d50074; color:#fff;}
header nav ul li.home{/*display:none;*/}
header .mobileMenuHolder{display:none;}

.hero{position: relative; background: #0b5562; }
.hero:after{ /*content:''; background:rgba(11,85,98,.7);*/ position: absolute; top: 0; width: 100%; height: 100%;}
.hero .heroImage{width:100%; max-width: 2500px; margin: 0 auto; aspect-ratio: 10 / 1; position:relative; z-index: 50;}
.hero .heroImage picture.image{display:block; width: 100%; height:100%; }
.hero .heroImage picture.image *{opacity: 0.1; width: 100%; height:100%; object-fit:cover;}
.hero .heroTxt{position: absolute; align-content: center; padding:25px; top:0; right:0; bottom:0; left:0;}
.hero .heroTxt .center{position: relative;}
.hero .heroTxt h1{font-weight: 600; font-size:2.5em; color: #fff; max-width: 500px; line-height: 1.2;}
.hero .heroTxt picture.shield{position: absolute; top: 75%; right: 0; height: 100px;}
.hero .heroTxt picture.shield *{height: 100%;}

main{}
main .photos, main .photos *{aspect-ratio: 1/1; border-radius: 10px 10px 100px 10px;}
main .photos .photo{position: relative; /*aspect-ratio: 1/1;*/}
main .photos .photo picture{left: 0; top: 0; right: 0; bottom: 0; position: absolute; height:100%!important; width:100%!important; display:block!important;}
main .photos .photo picture *{height:100%!important; width:100%!important; display:inline!important; object-fit:cover;}
main .photos .photo p{aspect-ratio: unset; border-radius:0; color: #fff; padding: 10px; font-weight: 500; font-size: 1em; height: auto; width:calc(100% - 20px); bottom: 0; right: 0; position: absolute; z-index: 10; line-height: 1; text-align:center;}
main .slick-arrow{aspect-ratio: unset; width: 45px; height:45px; min-height:40px; cursor:pointer; font-size:0; border:0; position: absolute; bottom:25px; z-index: 100; background:#0b5562 no-repeat; background-size: 25px 25px; background-position: center; transition: 0.5s; border-radius: 5px;}
main .slick-next{left:75px; background-image: url("/images/arrowRight.svg"); }
main .slick-prev{left:25px; background-image: url("/images/arrowLeft.svg");}
main .slick-disabled{opacity: 0; cursor:default;}

section.home{padding: 50px 0 25px 0; background-image: linear-gradient(to bottom, #fff 25%, rgba(219,240,243,1) 0);}
section.home .center{display:flex; }
section.home .intro{order: 1; width: calc(50% - 40px); margin: 50px 0 0 40px;}
section.home .intro a{border-bottom-color:#dbf0f3;}
section.home .img{height: fit-content; position: relative; width: calc(50% - 40px); margin: 0 40px 0 0;}
section.home .img .mask{height: 100%; max-width: unset; mask-size: 100% 95%; -webkit-mask-image: url(/images/mask.svg); mask-image: url(/images/mask.svg); mask-repeat: no-repeat;}
section.home .img .mask *{min-height: 700px; width: 90%; max-width: unset; height: 100%; object-fit: cover;}
section.home .img picture{display:block;}
section.home .img .shield{position: absolute; top: 60%; right: 0; width: 25%;}
section.services{padding: 75px 0; background: #0b5562;}
section.services .holder{display:flex; flex-wrap: wrap;}
section.services .holder .item{width: calc(25% - 15px); margin: 0 20px 0 0;}
section.services .holder .item a{display:flex; align-items: center; width:100%; height:100%; color: #fff; font-size: 1.2em; border: 2px solid #fff; border-radius: 10px 10px 60px 10px;}
section.services .holder .item h4{width: calc(100% - 120px); font-weight: 600; line-height: 1.2; padding: 25px 35px;}
section.services .holder .item span{text-align: center; line-height: 40px; font-size: 2em; width: 40px; height:40px; display:block; margin: 0 0 0 10px; transition: all 0.7s;}
section.services .holder .item:last-of-type{margin-right:0;}
section.info{padding: 100px 0 50px 0;}
section.info .center.divide{display:flex; flex-wrap: wrap;}
section.info .text{order: 0; width: calc(60% - 40px); margin: 0 40px 0 0;}
section.info .img{width: calc(40% - 40px); margin: 0 0 0 40px;}
section.sub{padding: 75px 0;}
section.sub .center.divide{display:flex; flex-wrap: wrap;}
section.sub .side{order: 1; width: calc(35% - 50px); margin: 0 0 0 50px;}
section.sub .side.half{width: calc(50% - 50px); }
section.sub .text.full{ /*max-width: 800px;*/ }
section.sub .text.half{ width: calc(50% - 50px); margin: 0 50px 0 0;}
section.sub .text.third{ width: calc(65% - 50px); margin: 0 50px 0 0;}
section.sub .contact{position: relative; overflow:hidden; color: #fff; background: #0b5562 url(/images/shield.svg) no-repeat; background-position: right 50px top 50px; background-size: 100px; border-radius: 40px 5px 40px 5px; padding: 50px 50px 300px 50px;}
section.sub .contact a{color: #fff;}
section.sub .contact h2{margin: 0 0 25px 0;}
section.sub address{font-style:normal;}
section.sub address span{background: #0b5562 url(/images/location.svg) no-repeat; background-size: 20px; display: inline-block; margin: 10px 0; padding: 0 0 0 50px;}
section.sub address .phone{background: #0b5562 url(/images/phone.svg) no-repeat;}
section.sub address .mail{background: #0b5562 url(/images/mail.svg) no-repeat;}
section.sub .contact iframe{width: 100%; height: 250px; border:0; position:absolute; bottom: 0; left:0; right:0;}
section.sub .photolist{}
section.sub .photolist li{width: calc(33.3% - 40px); margin: 0 40px 80px 0;}
section.sub .photolist li .button {background: #0b5562; }
section.dark{background: #0b5562; color: #fff;}
section.small .center > *{padding: 0 100px;}
section.small .center > * > *{padding: 0;}
section.small .center p:has(img){padding: 0;}
section.small .center p img{width: 100%; border-radius: 10px 10px 100px 10px; margin: 0 0 50px 0;}
section.light{background:#e6f5f8; padding: 75px 0;}
section.light .center > *{padding: 0 100px;}
section.light .center > * > *{padding: 0;}
section.light ul{list-style-type: none; margin: 0 0 25px 0;}
section.light ul li{font-weight: 500; font-size: 1.2em; padding: 3px 0 3px 50px!important; background: transparent url(/images/shieldLi.svg) no-repeat left center; background-size: auto 25px;}
section.cta{background:#e6f5f8; color:#0b5562; padding: 75px 0;}
section.cta .center{display:flex; flex-wrap: wrap; align-items: center;}
section.cta .txt{width: calc(50% - 100px); padding: 25px 0; margin: 0 100px 0 0; line-height: 1.1;}
section.cta .txt h5{font-size: 2.5em; margin: 0 0 10px 0; font-weight: 600;}
section.cta .link{width: 50%; padding: 25px 0; background: url("/images/shield.svg") no-repeat left center; background-size: contain; }
section.cta .link .btn {margin: 0 0 0 150px;}
section.lastProjects{padding: 75px 0 50px 0; background: #0b5562;}
section.lastProjects h2{color:#fff; }
section.reviews{padding: 100px 0 75px 0; overflow:hidden;}
section.reviews .reviewCaroussel{}
section.reviews .review .inner{margin: 30px; display:flex;}
section.reviews .review .left{width: 35%; }
section.reviews .review .right{width: calc(65% - 25px); margin: 0 0 0 25px;}
section.reviews .review .reviewStars ul{list-style: none; margin: 0 0 20px 0;} 
section.reviews .review .reviewStars ul li{display: inline-block; margin: 0 10px 0 0;}
section.reviews .review .reviewStars ul li img{width: 25px;}
section.reviews .review .logo{max-width: 100%; max-width: 150px; max-height: 80px; bottom: 20px; position: absolute;}
section.reviews .review p{font-weight: 500;}
section.reviews .review strong{bottom: 20px; font-weight: normal; color:#d50074; position: absolute;}
section.reviews .slick-arrow{ top: -85px;}
section.reviews .slick-next{right:0; left: unset;}
section.reviews .slick-prev{right:60px; left: unset;}
section.reviews .slick-track{display: flex!important;}
section.reviews .slick-list{overflow: visible!important;}
section.reviews .slick-slide{position: relative; height: inherit !important; background:#e6f5f8; border-radius: 10px 10px 90px 10px; margin: 10px;}

footer{color:#d50074; font-weight:500; padding: 75px 0 0 0; font-size: 1.1em; line-height:2em;}
footer a{color:#d50074; border-bottom: 1px solid #fff; padding:0;}
footer h6{color:#d50074;}
footer.content ul{list-style:none; margin:0;}
footer .center{max-width: 1600px; display:flex; flex-wrap: wrap;}
footer .block{flex: 25%; padding: 0 0 100px 0;}
footer .block .logo{width:80%; max-width:225px; margin: 0 0 100px;}
footer .block .logo picture *{width:100%;}
footer .bottom{text-align: right; background:#d50074; padding: 15px 0;}
footer .bottom .center{display: block;}
footer .bottom a{color:#fff; border-bottom: 1px solid #d50074; font-weight: 200;}
footer .bottom a strong{font-weight: 600;}

@media only screen and (min-width: 1500px) {
	/* Hover effects only on big screens*/
	.social li a:hover{}
	.social li a:hover svg{fill: #0b5562;}
	.btn:hover{color:#fff; background-color:#0b5562;}
	
	.content a:hover{border-bottom: 1px solid #0b5562;}

	.photolist li a:hover .button{background:#0f6271;}
	.photolist li a:hover .button .plus{rotate: 90deg;}
	.photolist li a:hover picture *{ transform: scale(1.2);}
	
	section.services .holder .item a:hover{background:#0f6271;}
	section.services .holder .item a:hover span{rotate: 90deg;}

	footer a:not(.logoLink):hover{border-bottom: 1px solid #d50074;}
	footer .bottom a:hover{border-bottom: 1px solid #fff;}
}

@media only screen and (max-width: 1620px) {
	header .logoMenuHolder .center, footer .center{ margin: 0 50px;}
}

@media only screen and (max-width: 1400px) {
	.center { margin: 0 50px; }

	.hero .heroImage{aspect-ratio: 8 / 1;}
}

@media only screen and (max-width: 1250px) {

	header nav{font-size: 1em;}
	header nav ul li a{padding: 15px 5px 15px 5px;}
	
	section.home .img .mask *{min-height: 500px;}
	
	section.reviews .review .inner{display:block;}
	section.reviews .review .left{width: 100%; }
	section.reviews .review .right{width: 100%; margin: 25px 0 0 0; padding: 0 0 25px 0;}
	section.reviews .review strong{}
	section.reviews .review .logo{position: unset;}
	section.sub .side .contact{background: #0b5562; padding: 25px 25px 250px 25px;}
	section.sub .photolist picture *{border-radius: 40px 10px 10px 20px;}
	section.sub .photolist li .button{border-radius: 10px 10px 40px 10px;}
	section.sub .photolist li .button .title{width: calc(100% - 40px); padding: 0; font-size: 0.9em;}
}


@media only screen and (max-width:1000px) {
	.center, header .logoMenuHolder .center, footer .center { margin: 0 25px; }	
	
	.content h1{font-size: 2.0em;}
	.content h2{font-size: 1.5em;}
	.content h3, .content h6{font-size: 1.2em;}

	.photolist li:nth-of-type(1){width: calc(65% - 20px); margin: 0 20px 20px 0;}
	.photolist li:nth-of-type(2){display:none;}
	.photolist li.more{width: calc(35% - 20px); margin: 0 0 20px;}
	.photolist li .button .title{padding: 0px 15px; width: calc(100% - 40px);}
	.photolist li .button{font-size: 1em;}
	
	main .slick-arrow{width: 35px; height: 35px; min-height: 35px; background-size: 20px 20px;}

	header .logo{width:225px;}
	header.sticky picture * {width: 80%; margin-top: 5px; }
	header nav{display:none;}
	header .mobileMenuHolder{padding: 3px 0 0 0; width: calc(100% - 225px); display: block;}
	header .mobileMenu {background:#d50074; border-radius:5px; padding: 3px 5px 15px 10px; width: 85px; height: 25px; float:right; line-height:50px; } 
	header .mobileMenu .mobileNav{display:block; height: 27px; width: 80px; }
	header .mobileMenu .mobileNav .hamburger{width:30px; height:30px; float:left;}
	header .mobileMenu .mobileNav .txt{color:#fff; font-weight:bold; font-size: 15px; line-height: 35px; width:50px; height:30px; float:left; text-align: right;}
	header .mobileMenu .mobileNav .bar1, header .mobileMenu .mobileNav .bar2, header .mobileMenu .mobileNav .bar3 {background: #fff; width: 100%; height: 2px; margin: 8px 0; transition: all 0.5s;}	
	header .mobileMenu .menuOpen .bar1 {transform: translate(0, 10px) rotate(-45deg);}
	header .mobileMenu .menuOpen .bar2 {opacity: 0;}
	header .mobileMenu .menuOpen .bar3 {transform: translate(0, -10px) rotate(45deg);}

	.hero .heroImage{aspect-ratio: 6 / 1;}
	.hero .heroTxt h1{font-size: 2.0em;}
	section.home .img .mask *{min-height: 350px;}
	section.home .intro{margin: 0 0 0 40px;}
	section.sub .text.third{width: calc(60% - 30px); margin: 0 30px 0 0;}
	section.sub .side{width: calc(40% - 30px); margin: 0 0 0 30px;}
	section.services .holder .item{width: calc(50% - 10px);}
	section.services .holder .item:nth-child(odd){margin: 10px 10px 10px 0;}
	section.services .holder .item:nth-child(even){margin: 10px 0 10px 10px;}
	section.cta{padding: 50px 0; }
	section.cta .txt{width: 100%; margin: 0;}
	section.cta .txt h5{font-size: 2.5em; margin: 0 0 10px 0;}
	section.cta .link{width: 100%;}
	section.sub .photolist li{width: calc(50% - 40px); margin: 0 40px 80px 0;}
	
	footer .block{flex: 50%;}
}


@media only screen and (max-width: 750px) {
	.btn{padding: 10px 25px;}
	
	.content table tr td, .content table col{display:block; width:100%!important; padding: 25px 0 0 0; }
	
	.projectPhoto{padding: 15px; margin: 0;}
	
	.hero .heroTxt picture.shield{height: 65px;}

	section.home .center{ display:block; }
	section.home .intro{width: 100%; margin: 0 0 40px 0;}
	section.home .img{width: 100%; margin: 0 auto 40px auto; text-align: center;}
	section.home .img .shield{right: 10%; width: 20%;}
	section.info{padding: 50px 0 50px 0;}
	section.info .text{width: 100%; margin: 0 0 40px 0;}
	section.info .img{width: 100%; margin: 0 auto 40px auto; text-align: center;}
	section.sub{padding: 50px 0 0 0;}
	section.sub .center.divide{}
	section.sub .text.third{width: 100%; margin: 0 0 40px 0;}
	section.sub .text.half{width: 100%; margin: 0 0 40px 0;}
	section.sub .side.half{width: 100%; margin: 0 0 40px 0;}
	section.sub .side{width: 100%; margin: 0 0 40px 0;}
	section.sub .photolist li{width:100%; margin: 0 0 80px 0;}
	section.services .holder .item a{font-size: 1em; border-radius: 10px 10px 40px 10px;}	
	section.services .holder .item h4{width: calc(100% - 65px); padding: 15px;}
	section.cta .txt h5{font-size: 2em;}
	
}


@media only screen and (max-width: 500px) {
	.formInput input[type="submit"]{ width:100%; }	
	.formContainer .adjustJump{position:absolute; margin-top:-100px !important;}

	.content td{ display:block; width:100%!important; }
	
	.photolist li:nth-of-type(1){width:100%; margin: 0 0 40px 0;}
	.photolist li:nth-of-type(2){display:block; width:100%; margin: 0 0 40px 0;}
	.photolist li.more{width:100%; margin: 0; text-align:left;}
	.photolist li .button{margin: 15px 0 0 0; border-radius: 10px 10px 40px 10px;}
	.photolist picture *{border-radius: 40px 10px 10px 10px;}

	header .top ul{display: block; padding: 5px 0;}
	header .top ul li,header .top ul li:last-child{text-align: center; padding: 2px 0;}
	
	.hero .heroImage{aspect-ratio: 4 / 1;}
	.hero .heroTxt h1{font-size: 1.2em;}
	
	section.home .img .shield{right:5%; width: 22%;}
	section.cta{padding: 35px 0; }
	section.cta .txt h5{font-size: 2em; text-align: center;}
	section.cta .link{padding: 0; text-align: center;}
	section.cta .link .btn{margin: 0 0 0 50px;}

	footer{padding: 50px 0 0 0;}
	footer .block {flex: 100%; padding: 0 0 25px 0;}
	footer .block .logo{margin: 0 0 35px;}
	footer.content .bottom{text-align:left;}	
}

@media only screen and (max-width: 400px) {
	.hero .heroTxt picture.shield{display:none;}
	
	section.services{padding: 50px 0;}
	section.services .holder .item{width:100%; }
	section.services .holder .item:nth-child(odd){margin: 10px 0 10px 0;}
	section.services .holder .item:nth-child(even){margin: 10px 0 10px 0;}
	section.cta .link{background: none;}
	section.cta .link .btn{margin: 0;}

}