@charset "utf-8";
/* CSS Document */

/*reset*/
*{margin:0; padding:0; outline:none; box-sizing:border-box;}
img,fieldset{border:0px; display:block;}
br.clear, div.clear{clear:both; font-size:0px;}
ul, ol{list-style:none;}
textarea, input.text, input[type="text"], input[type="button"], input[type="submit"], .input-checkbox, button{-webkit-appearance:none; border-radius:0;}

header, nav, article, aside, section, footer{display:block; overflow:hidden;}
header, section, footer{width:100%; height:auto; position:relative;}

/*template*/
html{width:100%; height:100%; font-size:62.5%;}
body{width:100%; height:100%; font-family:'PT Sans', sans-serif; font-size:1.6rem; line-height:1.628571; color:#352d25; overflow-x:hidden; overflow-y:scroll; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}


/*text*/
h1, h2, h3, h4, h5, h6{width:100%; font-family:'Poppins', sans-serif; height:auto; font-weight:500;}
h1{font-size:3.0rem; margin-bottom:32px; font-weight:700;}
h2{font-size:2.6rem; margin-bottom:32px;}
h3{font-size:2.2rem; margin-bottom:16px;}
h4{font-size:1.8rem; margin-bottom:16px;}
p{margin:0px 0px 32px 0px;}
p:last-of-type{margin:0px 0px 0px 0px;}
a, a{color:#0386DD; text-decoration:none;}
a:hover, a:hover {color:#025790;}
small{font-size:1.2rem;}
section{padding: 32px 0;}
section.nopadding{padding:0;}
article{margin-bottom:24px;}
article ul,
article ol{list-style:disc outside; margin:0px 0px 30px 20px;}
article .button{margin-top:24px;}
article a{text-decoration:underline;}

/*floats*/
.left{float:left;}
.right{float:right;}

/*main-container*/
main{width:100%; max-width:1920px; min-height:100vh; margin:0px auto;}
.container{max-width:1260px; margin:0px auto; padding: 0 24px; position:relative;}

/*generals*/
.button{display:block; width:fit-content; font-size:2.0rem; color:#ffffff; border-radius:4px; padding:6px 16px; text-decoration:none !important;}
.button.full{width:100%; height:48px; line-height:48px; padding:unset; border-radius: 0px 0px 4px 4px;}
.button.outline{background:unset; border:4px solid white;}
.accent{width:100%; height:25px; background: rgb(2,87,144);background: linear-gradient(90deg, rgba(2,87,144,1) 0%, rgba(70,179,252,1) 100%); margin-bottom:24px;}

/*color*/
.bg-green{background:#03DD5A;}
.bg-green:hover{background:#02923b; color:#ffffff;}
.bg-lightblue-gradient{background: rgb(2,87,144); background: linear-gradient(90deg, rgba(2,87,144,1) 0%, rgba(70,179,252,1) 100%);}
.bg-lightblue-gradient{background: rgb(3,134,221); background: linear-gradient(90deg, rgba(3,134,221,1) 0%, rgba(70,179,252,1) 100%);}
.bg-bluegreen-gradient{background: rgb(4,241,253); background: linear-gradient(90deg, rgba(4,241,253,1) 0%, rgba(1,169,177,1) 100%);}
.bg-greenblue-gradient{background: rgb(4,241,253); background: linear-gradient(90deg, rgba(1,169,177,1) 0%, rgba(4,241,253,1) 100%);}
.bg-grey{background:#555555;}
.bg-blue{background:#025790;}
.button.bg-blue:hover{background:#0386DD; color:#ffffff;}
.bg-darkblue{background:#0386DD;}
.bg-lightblue{background:#46B3FC;}
.txt-darkblue{color:#0386DD;}
.txt-lightblue{color:#46B3FC;}
.bg-blue-gradient{background: rgb(2,87,144); background: linear-gradient(180deg, rgba(2,87,144,1) 0%, rgba(1,44,72,1) 100%);}
.txt-white{color:white;}
.txt-white a{color:white; text-decoration:underline;}
.txt-blue{color:#025790;}
.bg-white{background-color:white}

/*breadcrumbs*/
.breadcrumbs{width:100%; height:24px; line-height:unset; line-height:24px;}
.breadcrumbs ol{display:flex; justify-content:flex-start;}
.breadcrumbs li,
.breadcrumbs li a{font-size:1.4rem; color:#46B3FC;}
.breadcrumbs li a span{color:#46B3FC !important;}

/*forms*/
.form-offer{display:grid; grid-template-columns:1fr 1fr 1fr; column-gap:102px; row-gap:24px;}
.form-offer h2{grid-column-end:span 3;}
.form-offer .row.two{grid-column-end:span 2;}
.form-offer .row.three{grid-column-end:span 3;}
.form-offer label{color:#0386DD; font-family:'PT Sans',sans-serif; margin-bottom:12px; display:block;}
.form-offer .row.service label{display:inline; margin-left:12px; margin-right:12px; color:#444444;}
.form-offer ::placeholder{color:#9D9D9D;}
.form-offer .uploader{width:100%; height:38px; display:block; line-height:38px; border-radius:8px; text-align:center; margin-bottom:12px; border:1px solid rgba(2,87,144,0.25);}
.form-offer .uploader label{color:#555555; font-size:1.4rem;}
.form-offer .uploader label:hover{cursor:pointer;}
.form-offer p{color:#0386DD;}
.form-offer label.red{color:#e2001a !important;}
.form-offer div.red{color:#e2001a !important;}
.form-offer input[type="datetime-local" ],
.form-offer input[type="time" ],
.form-offer input[type="date" ]{color:#2a2620;}
.form-offer input[type="text"],
.form-offer input[type="number"],
.form-offer input[type="date"],
.form-offer input[type="time"],
.form-offer input[type="datetime-local"]{width:100%; height:24px; line-height:24px; padding:16px; border-radius:8px; border:1px solid rgba(2,87,144,0.25); font-family:'PT Sans', sans-serif;   color:#2a2620; background:#ffffff;}
.form-offer select{width:100%; height:24px; line-height:24px; padding:16px; border-radius:8px; color:#2a2620; background:#ffffff; border:1px solid rgba(2,87,144,0.25); font-family:'PT Sans', sans-serif;  color:#555555;}
.form-offer select{height:unset; line-height:unset; padding:8px 16px;}
.form-offer select option{color:#555555;}
.form-offer input[type="text"].red,
.form-offer input[type="number"].red,
.form-offer input[type="date"].red,
.form-offer input[type="time"].red,
.form-offer select.red,
.form-offer textarea.red,
.form-offer input[type="datetime-local"].red{border:1px solid #e2001a;}
.form-offer input[type="file"].red{color:e2001a;}
.form-offer input[type="text"]:focus,
.form-offer input[type="number"]:focus,
.form-offer input[type="date"]:focus,
.form-offer input[type="time"]:focus,
.form-offer input[type="datetime-local"]:focus{border:1px solid rgba(2,87,144,0.25);}
.form-offer textarea{width:100%; height:300px; line-height:24px; padding:16px; border-radius:8px; background:#ffffff; color:#2a2620; border:1px solid rgba(2,87,144,0.25); font-family:'PT Sans', sans-serif;} 
.form-offer textarea:focus{border:1px solid rgba(2,87,144,0.50);}
.form-offer #submit{grid-column-end:span 3;}
.form-offer #submit .button{width:100%; border:none; border-radius:8px; cursor:pointer;}
.form-offer #submit .button.disabled{cursor:wait; pointer-events:none;}

/*header*/
header{height:90px; width:100%; overflow:visible;}
header .grid{display:grid; grid-template-columns:220px auto; gap:24px;}
header .grid .logo{margin:10px 0; height:70px; width:220px;}
header .grid .logo img{height:100%; width:100%; object-fit:cover;}
header .grid nav ul{display:flex; justify-content:flex-end;}
header .grid nav ul li{font-family:'Poppins',sans-serif; font-weight:700; font-size:2.0rem; line-height:90px;}
header .grid nav ul li.mobile{display:none;}
header .grid nav ul li a{color:#707070; margin:0 8px;}
header .grid nav ul li a:hover,
header .grid nav ul li a:active,
header .grid nav ul li a.on{color:#025790;}
header .grid .menu{display:none;}

/*Sections*/
section.slider{position:relative; height:350px;}
section.slider .background{width:100%; height:100%; position:absolute; top:0; left:0; z-index:0;}
section.slider .background img{width: 100%; height: 100%; object-fit:cover;}
section.slider .overlay{width: 100%; height:100%; position:absolute; top:0; left:0; z-index:0; background: rgb(3,134,221);background: linear-gradient(90deg, rgba(3,134,221,0.5018382352941176) 0%, rgba(2,87,144,0.5046393557422969) 100%);}
section.slider .grid{display:grid; grid-template-columns:1fr 1fr;}
section.slider .grid article{margin-top:64px; margin-bottom:24px; text-shadow: 2px 2px 2px rgba(89,88,86,0.17);}
section.slider.contact .grid article{margin-top:64px; margin-bottom:98px;}
section.slider .grid article h1{margin-bottom:12px;}
section.slider .grid article .button{display: inline-block; margin-right:12px;}
section.slider .grid article .button:last-of-type{margin-right:unset;}

section.intro{padding-top:unset;}

section.content .grid{display:grid; grid-template-columns:1fr; gap:32px;}
section.content .grid .item{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
section.content .grid .item .image{width:100%; margin: 0 0 auto 0;}
section.content .grid .item .image img{height:100%; width:100%; object-fit:cover; border-radius:8px;}
section.content .grid .item:nth-of-type(even) .image{grid-area:1/1/1/1;}
section.content .grid .item.wide article{grid-column-end:span 2;}
section.content .grid .item.wide .image{display:none;}

section.contactbar .grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
section.contactbar .grid .contact-links{display:grid; grid-template-columns:103px 103px 103px auto; gap:12px;}
section.contactbar .grid .contact-links a{position: relative; text-align:center;}
section.contactbar .grid .contact-links a:hover i,
section.contactbar .grid .contact-links a:active i,
section.contactbar .grid .contact-links a.on i{color:#0386DD;}
section.contactbar .grid .contact-links a:hover .background,
section.contactbar .grid .contact-links a:active .background,
section.contactbar .grid .contact-links a.on .background{opacity:0.3;}
section.contactbar .grid .contact-links a .background{height: 103px; width: 72px; position:absolute; top:77px; left:50%; transform:translate(-50%, -50%); z-index:0; opacity:0.5;}
section.contactbar .grid .contact-links a .background img{height: 100%; width: 100%; object-fit:contain;}
section.contactbar .grid .contact-links a i{position: relative ;font-size:48px; color:#025790;  line-height:103px; z-index:8; margin-top:37px;}
section.contactbar .grid .contact-links .button{margin: auto 0;}
section.contactbar .grid .contact-links .button:after{content:'\2192'; margin-left:4px;}

section.services{padding-bottom:unset;}
section.services .grid{display:grid; grid-template-columns:1fr 1fr 1fr 1fr; column-gap:41px; row-gap:16px; }
section.services .grid article{grid-column-end:span 4;}
section.services .grid .service-card{width: 100%; position: relative;}
section.services .grid .service-card .background{width: 124px; height: 176px; position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:-1; transition: opacity 0.3s ease-in;}
section.services .grid .service-card .background img{width:100%; height:100%; object-fit:contain;}
section.services .grid .service-card .card-inner{width: 108px; height: 108px; margin: 0 auto; text-align:center; border-radius:50%; margin-top:62px; transition: 0.3s ease-in}
section.services .grid .service-card .card-inner i{font-size:48px; line-height:108px; color:white; transition: color 0.3s ease-in}
section.services .grid .service-card .title{text-align:center; font-size:2.5rem; font-weight:500; margin-top:12px;}
section.services .grid .service-card:hover .background{opacity:0.5;}
section.services .grid .service-card:hover .card-inner{background:rgba(2,87,144,0.75);}
section.services .grid .service-card:hover .title, .service-card:hover .card-inner i{color:#025790 !important;}

section.about{padding-top:unset;}
section.about .accent{height:20px;background: rgb(1,169,177); background: linear-gradient(90deg, rgba(1,169,177,1) 0%, rgba(4,241,253,1) 100%);}
section.about .background{width: 100%; height:100%; position:absolute; top:20px; left:0; z-index:-1;;}
section.about .background img{width: 100%; height:100%; object-fit:cover;}
section.about .container article{max-width:70%; padding:24px; background:white; margin:24px auto;}
section.about .container article .button{margin-left:auto; margin-right:auto;}

section.reviews{position: relative;}
section.reviews .grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
section.reviews .background{height: 560px; width: 394px; position:absolute; bottom:-12px; right:-10%; z-index:0;}
section.reviews .background img{height: 100%; width: 100%; object-fit:contain;}
section.reviews .grid .review{background:white; border-bottom-right-radius:8px;  position:relative; z-index:100;}
section.reviews .grid article{grid-column-end:span 2;}
section.reviews .grid .review article{padding:24px;}
section.reviews .grid .review .accent{height:10px; background: rgb(1,169,177); background: linear-gradient(90deg, rgba(1,169,177,1) 0%, rgba(4,241,253,1) 100%); margin-bottom:unset;}
section.reviews .grid .review:nth-of-type(even) .accent{background: rgb(2,87,144); background: linear-gradient(90deg, rgba(2,87,144,1) 0%, rgba(70,179,252,1) 100%);}
section.reviews .grid .review article{margin-bottom:unset;}
section.reviews .grid .review article .overall{margin-bottom:12px;}
section.reviews .grid .review article .overall span{color:#46B3FC; font-weight:700; margin-right:4px;}
section.reviews .grid .review .author{display:grid; grid-template-columns:120px auto; gap:12px;}
section.reviews .grid .review .author .name{grid-column-end:span 2; color:#025790;}
section.reviews .grid .review .score{display:grid; grid-template-columns:repeat(5,12px);gap:12px;}
section.reviews .grid .review .score .drop{width: 12px; height:auto;}
section.reviews .grid .review .score .drop img{width:100%; height:100%; object-fit:contain;}
section.reviews .grid .review .author .date{font-style:italic; color:#01A9B1;}

section.contact{position: relative;}
section.contact .accent.big{height: 100px; width: 100%; position:absolute; z-index:0; top:0; left:0}
section.contact .accent .background{width: 65px; height: 93px; position:absolute; top:0; right:9%; opacity:0.2;}
section.contact .accent .background img{width: 100%; height: 100%; object-fit:contain;}
section.contact .wrapper{max-width:100%; margin: 0 auto; background:white; padding:32px 93px; border-radius:8px;}


/*footer*/
footer{padding:32px 0px 12px 0px;}
footer .grid{display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:32px;}
footer .grid h4{margin-bottom:24px;}
footer .grid address{font-style: normal; color:#46B3FC;}
footer .grid address i{color:#0386DD;}
footer .grid address i:hover,
footer .grid address i:active,
footer .grid address i.on{color:white;}
footer .grid address .sociallinks a{display:inline-block; margin-right:12px;}
footer .grid address .sociallinks a:last-of-type{margin-right:unset;}
footer .grid a{display:block; color:#46B3FC;}
footer .grid a:hover,
footer .grid a:active,
footer .grid a.on{color:white;}
footer .grid .copyright{grid-column-end:span 4; display:grid; grid-template-columns:auto 150px; gap:24px; font-size:1.2rem; color:#46B3FC;}
footer .grid .copyright div a{display:unset;}
footer .grid .copyright div:first-of-type a{margin:0 4px;}
footer .grid .copyright div br{display:none;}
footer .grid .logo{margin:10px 0; height:70px; width:220px;}
footer .grid .logo img{height:100%; width:100%; object-fit:cover;}

/*tablet: 768-1023*/
@media only screen and (max-width:1023px) 
{

    h1{font-size:2.6rem; margin-bottom:24px; font-weight:700;}
    h2{font-size:2.2rem; margin-bottom:24px;}
    h3{font-size:2.0rem; margin-bottom:16px;}
    h4{font-size:1.8rem; margin-bottom:16px;}

    .button{font-size:1.8rem;}

    section{padding:24px 0;}
        
    header .grid nav ul li{font-size:1.8rem;}

    section.slider{height:unset;}
    section.slider .grid{grid-template-columns:1fr;}

    section.services .grid .service-card .background{transition:unset;}

    section.services .grid .service-card .card-inner{transition:unset;}
    section.services .grid .service-card .card-inner i{transition:unset;}

    section.contactbar .grid .contact-links{display:grid; grid-template-columns:50px 50px 50px auto; gap:12px;}
    section.contactbar .grid .contact-links a{position: relative; text-align:center; height:98px; margin: auto 0;}
    section.contactbar .grid .contact-links a .background{height:89px; width: 50px; position:absolute; top:42px; left:50%;}
    section.contactbar .grid .contact-links a i{position: relative ;font-size:32px; line-height:89px; margin-top:8px;}
    section.contactbar .grid .contact-links .button{height:40px;}

    .form-offer{display:grid; grid-template-columns:1fr 1fr; column-gap:32px; row-gap:24px;}
    .form-offer h2{grid-column-end:span 2;}
    .form-offer .row.three{grid-column-end:span 2;}
    .form-offer #submit{grid-column-end:span 2;}
    .form-offer .row.service label{margin-left:8px; margin-right:15px;}
    .form-offer .row.service{display:grid; grid-template-columns:20px auto;}
    .form-offer .row.service p{grid-column-end:span 2;}
    .form-offer .row.service label{margin:unset;}
    .form-offer .row.service input{width: 12px; height: 12px; margin:auto;}

    section.reviews .background{height:280px; width:197px}
    section.reviews .grid{grid-template-columns:1fr; gap:32px;}
    section.reviews .grid article{grid-column-end:unset;}

    footer{font-size:1.4rem;}
    footer .grid{grid-template-columns:2fr 1fr 1fr;}
    footer .grid .copyright{grid-column-end:span 3;}
}

/*mobile l: 427-767*/
@media only screen and (max-width:767px) 
{
    h1{font-size:2.4rem; margin-bottom:16px; font-weight:700;}
    h2{font-size:2.0rem; margin-bottom:16px;}
    h3{font-size:1.8rem; margin-bottom:16px;}
    h4{font-size:1.6rem; margin-bottom:16px;}

    body{font-size:1.4rem;}

    .breadcrumbs{display:none;}

    article .button{width:100%;;}

    section.contact .wrapper{padding:32px;}
    .form-offer{display:grid; grid-template-columns:1fr; column-gap:32px; row-gap:24px;}
    .form-offer h2{grid-column-end:unset;}
    .form-offer .row.three{grid-column-end:unset;}
    .form-offer .row.two{grid-column-end:unset;}
    .form-offer #submit{grid-column-end:unset;}

    section.slider{height:unset;}
    section.slider .background{height:100px; position:relative; top:unset; left:unset; z-index:0;}
    section.slider .grid{background:#0386DD;}
    section.slider .grid article{margin-top:24px;}

    header .grid nav{width:100%; height:auto; display:block; float:none; left:0; top:-800px; position:absolute; -webkit-transform:translateY(-140%); transform:translateY(-140%); -webkit-transition:-webkit-transform 0.5s, visibility 0s 0.5s; transition:transform 0.5s, visibility 0s 0.5s;}
    header .grid .menu{display:unset; display:block; text-align:right;}
    header .grid .menu a i{font-size:3.0rem; color:#575656; line-height:100px;}    
    header .grid nav ul{width:100%; height:auto; display:block; position:relative; float:left; padding:24px; background:#46B3FC; margin-left:unset;}
    header .grid nav ul li:before{background:none;}
    header .grid nav ul li{width:100%; height:auto; min-height:48px; line-height:unset; display:block; float:left; margin:0px; text-align:right; border-radius:unset;}
    header .grid nav ul li a{color:white; height:48px; line-height:48px; margin:unset; border-right:unset;}
    header .grid nav ul li a:active,
    header .grid nav ul li a:hover{color:white;}
    header .grid nav ul li a.on{color:#fccc00;}
    header .grid nav.open{width:100%; height:100vh; display:block; float:none; left:0px; top:90px; z-index:101; position:absolute; margin:0px !important; -webkit-transform:translateY(0%); transform:translateY(0%); -webkit-transition:-webkit-transform 0.5s; transition:transform 0.5s;}

    section.content .grid .item{grid-template-columns:1fr;}
    section.content .grid .item:nth-of-type(even) .image{grid-area:unset;}
    section.content .grid .item.wide article{grid-column-end:unset;}
    section.content .grid .item .image{height: 170px;}

    section.contactbar .grid{grid-template-columns:1fr;}
    section.contactbar .grid .contact-links{grid-template-columns:1fr 1fr 1fr;}
    section.contactbar .grid .contact-links .button{grid-column-end:span 3; width: 100%;}

    section.services .grid{grid-template-columns:1fr 1fr; gap:24px;}
    section.services .grid article{grid-column-end:span 2;}
    section.services .grid .service-card{display:grid; grid-template-columns:32px auto; gap:12px}
    section.services .grid .service-card .background{display:none;}
    section.services .grid .service-card .card-inner{width: 32px; height: 32px; margin:unset; transition:none;}
    section.services .grid .service-card .card-inner i{font-size:12px; line-height:32px; transition:none;}
    section.services .grid .service-card .title{text-align:left; font-size:1.6rem; font-weight:700; margin-top:unset;}

    section.about .container article{max-width:90%;}

    section.reviews .review:nth-of-type(3), .review:nth-of-type(4){display:none;}

    footer .grid{grid-template-columns:1fr; gap:24px;}
    footer .grid .copyright{grid-column-end:unset; display:block;}
    footer .grid .menu{display:none;}
    footer .grid .copyright div:last-of-type{text-align:left;}
}

/*mobile s: 320-426*/
@media only screen and (max-width:426px)
{
    section.contact .wrapper{padding:8px;}
 
    section.services .grid{grid-template-columns:1fr 1fr; gap:12px;}
    section.services .grid .service-card .title{font-size:1.4rem;}

    footer .grid .copyright div:first-of-type{display:block;}
}