@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%; background:#ffffff; font-family:'Montserrat', sans-serif; font-size:1.6rem; line-height:1.628571; color:#000000; overflow-x:hidden; overflow-y:scroll; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;}

/*text*/
h1, h2, h3, h4, h5, h6{width:100%; height:auto; line-height:1.2;}
h1{font-size:4.2rem; margin-bottom:48px; color:#e5004d;}
h2{font-size:3.0rem; margin-bottom:32px; color:#e5004d;}
h3{font-size:2.4rem; margin-bottom:16px; color:#e5004d;}
h1.nomargin, h2.nomargin, h3.nomargin{margin:0px;}
h1.white, h2.white, h3.white{color:#ffffff;}
h1.center, h2.center, h3.center{text-align:center;}
p{margin:0px 0px 32px 0px;}
p:last-of-type{margin:0;}
a, a *{color:#00b2bb; text-decoration:none;}
small{font-size:1.2rem;}
.white, .white *{color:#ffffff;}

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

/*youtube*/
.video-container{position:relative; padding-bottom:56.25%; padding-top:30px; height:0; overflow:hidden;}
.video-container iframe, .video-container object, .video-container embed{position:absolute; top:0; left:0; width:100%; height:100%;}

/*buttons*/
.button{min-width:200px; height:40px; line-height:40px; display:inline-block; padding:0px 16px; text-align:center; font-size:1.4rem; border-radius:8px; text-transform:uppercase; text-decoration:none !important; color:#ffffff;}  
.button.yellow{background:#ffbe31; color:#ffffff; font-weight:bold;}

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

/*forms*/
.form-grid{display:grid; grid-template-columns:1fr 1fr; column-gap:48px; margin:0px auto;}
.form-grid .full{grid-column-end:span 2;}
.form-grid div{padding:8px 0px;}
.form-grid div.row{}
.form-grid div.nopadding{padding:0px;}
.form-grid div.label{color:#ffffff; font-size:1.4rem; padding-top:8px;}
.form-grid div.label.white{color:#ffffff; font-size:1.4rem;}
.form-grid div.row label{font-size:1.6rem; font-weight:bold; color:#ffffff;}
.form-grid div.row label.red{color:#e5004d;}
.form-grid div span{display:block; height:32px; line-height:32px; color:#a3a3a3; font-size:1.2rem;}
.form-grid div strong{display:block; color:#ffffff; font-size:1.8rem;}
.form-grid div strong span{color:#ffffff; display:unset; font-size:1.8rem;}

/*input*/
.form-grid div input[type="text"],
.form-grid div input[type="number"],
.form-grid div input[type="date"],
.form-grid div input[type="time"],
.form-grid div input[type="datetime-local"]{width:100%; height:24px; line-height:24px; padding:16px; color:#00b2bb; font-weight:bold; font-family:'Montserrat', sans-serif; border-radius:8px; border:1px solid #00b2bb;}
.form-grid div select{width:100%; height:24px; line-height:24px; font-size:1.4rem; padding:16px; border-radius:8px; border:1px solid #eae9e9; font-family:'Montserrat', sans-serif; font-weight:bold; color:#00b2bb;}
.form-grid div select{height:unset; line-height:unset; padding:8px 16px;}
.form-grid div select option{color:#00b2bb; font-weight:bold;}
.form-grid div input[type="text"].red,
.form-grid div input[type="number"].red,
.form-grid div input[type="date"].red,
.form-grid div input[type="time"].red,
.form-grid div input[type="datetime-local"].red{border:2px solid #e5004d;}
.form-grid div select.red{border:2px solid #e3051b;}
.form-grid div input[type="text"]:focus,
.form-grid div input[type="number"]:focus,
.form-grid div input[type="date"]:focus,
.form-grid div input[type="time"]:focus,
.form-grid div input[type="datetime-local"]:focus{border:1px solid #00b2bb;}
.form-grid div select:focus{border:1px solid #00b2bb;}
.form-grid div textarea{width:100%; height:300px; line-height:24px; padding:16px; border-radius:8px; border:1px solid #00b2bb; font-family:'Montserrat', sans-serif; color:#00b2bb; font-weight:bold;} 
.form-grid div textarea:focus{border:1px solid #00b2bb;}
.form-grid div .checkbox-ctr{display:block; position:relative; padding-left:32px; margin-bottom:12px; cursor:pointer; font-size:22px; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none;}
.form-grid div .checkbox-ctr input{position:absolute; opacity:0; cursor:pointer; height:0; width:0;}
.form-grid div .checkbox-ctr .checkmark{position:absolute; top:0; left:0; height:25px; width:25px; background-color:#ffffff; border-radius:4px;}
.form-grid div .checkbox-ctr input:checked ~ .checkmark{background-color:#e5004d;}
.form-grid div .checkbox-ctr .checkmark:after{content:""; position:absolute; display:none;}
.form-grid div .checkbox-ctr input:checked ~ .checkmark:after{display:block;}
.form-grid div .checkbox-ctr .checkmark:after{left:9px; top:5px; width:5px; height:10px; border:solid white; border-width:0 3px 3px 0; -webkit-transform:rotate(45deg); -ms-transform:rotate(45deg); transform:rotate(45deg);}
.form-grid div .radio-ctr{display:block; position:relative; padding-left:35px; margin-bottom:12px; cursor:pointer; font-size:22px; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none;user-select:none;}
.form-grid div .radio-ctr input{position:absolute; opacity:0; cursor:pointer; height:0; width:0;}
.form-grid div .radio-ctr .checkmark{position:absolute; top:0; left:0; height:24px; width:24px; background-color:#ffffff; border-radius:50%; border:2px solid #ffffff;}
.form-grid div .radio-ctr .checkmark.red{border:2px solid #e3051b;}
.form-grid div .radio-ctr input:checked ~ .checkmark{background-color:#e5004d; border:2px solid #e3051b;}
.form-grid div .radio-ctr .checkmark:after{content:""; position:absolute; display:none;}
.form-grid div .radio-ctr input:checked ~ .checkmark:after{display:block;}
.form-grid div .radio-ctr .checkmark:after{top:6px; left:6px; width:8px; height:8px; border-radius:50%; background:white;}
/*buttons*/
.form-grid div.submit{display:grid; grid-template-columns:1fr 1fr;}
.form-grid div.submit .button-left input[type=button],
.form-grid div.submit .button-left input[type=submit]{border:0px; font-family:'Montserrat', sans-serif; color:#555555; background-color:#eae9e9; font-size:1.6rem; border-radius:8px; text-decoration:none; float:left; cursor:pointer;}
.form-grid div.submit .button-right input[type=button],
.form-grid div.submit .button-right input[type=submit]{border:0px; font-family:'Montserrat', sans-serif; font-size:1.6rem; border-radius:8px; text-decoration:none; float:right; cursor:pointer; color:#e5004d; background-color:#ffffff; font-weight:bold;}
.form-grid div.submit .button-right input[type=submit].grey{color:#ffffff; background-color:#444444;}

/*header*/
header{width:100%; height:80px; background:#e5004d; overflow:visible; z-index:900;}
header .grid{display:grid; grid-template-columns:375px auto; grid-gap:24px;}
header .logo{margin-top:40px; height:80px; z-index:1100;}
header .logo a{height:inherit; display:block;}
header .logo a img{max-width:100%;}
header nav{}
header nav ul{display:flex; justify-content:right;}
header nav ul li a{height:80px; display:block; line-height:80px; color:#ffffff; margin:0px 16px; font-weight:bold;}
header nav ul li a:hover,
header nav ul li a.on{border-bottom:2px solid #ffffff;}
header nav ul li:last-of-type a{margin-right:0px;}
header .menu{display:none;}

/*sections*/
section{padding:48px 0px;}
section.margin-top{margin-top:80px;}
section:last-of-type{padding-bottom:96px;}
section.blue{background:#00b2bb;}
section.blue p, section.blue p *{color:#ffffff;}

section.slider{padding:0px;}
section.slider .slide{aspect-ratio:24 / 7; position:relative;}
section.slider .slide .spot{width:100%; height:100%; position:absolute; bottom:0;}
section.slider .slide .spot img{width:100%; height:100%; object-fit:cover;}

section.hero{padding:0px; height:210px; margin-top:-210px;}
section.hero.title{margin-top:unset; margin-top:100px;}
section.hero .grid{display:grid; grid-template-columns:1fr 350px; gap:48px;}
section.hero .grid h1{font-size:6.2rem; color:#ffffff; width:72%;}
section.hero .grid .circle{width:350px; height:350px; background:url('../images/ellipse.svg') no-repeat top center;}
section.hero .grid .circle img{width:60%; margin:56px auto;}

section.content .grid{display:grid; grid-template-columns:2fr 1fr; grid-gap:48px;}
section.content .intro{font-size:1.8rem;}
section.content article .socials{margin-top:24px;}
section.content article .socials li{float:left; margin-right:24px; width:40px; height:40px; line-height:40px; text-align:center; border-radius:50%; color:#ffffff; background:#00b2bb;}
section.content article .socials li a i{color:#ffffff; font-size:2.2rem; line-height:40px;}

section.blocks .grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:48px;}
section.blocks .grid .block .image{height:192px; margin-bottom:16px;}
section.blocks .grid .block .image img{margin:0px auto; width:100%; height:100%; object-fit:contain;}
section.blocks .grid .block .info *{text-align:center;}
section.blocks .grid .block .info h2{color:#e5004d; font-size:2.6rem; margin-bottom:8px;}
section.blocks .grid .block .info h3{color:#00b2bb; font-size:1.8rem;}

section.booking{padding:0px; height:210px; margin-top:100px;}
section.booking.nomargin{margin-top:0px;}
section.booking .grid{display:grid; grid-template-columns:1fr 350px; gap:48px;}
section.booking .grid h1{font-size:4.8rem; color:#00b2bb; width:72%;}
section.booking .grid .circle{width:350px; height:350px; background:url('../images/ellipse.svg') no-repeat top center;}
section.booking .grid .circle img{width:60%; margin:56px auto;}

section.photogrid{margin:80px 0px 120px 0px; padding:0px; overflow:visible;}
section.photogrid .grid{display:grid; grid-template-columns:repeat(3, 1fr); grid-gap:48px; padding:0px 48px;}
section.photogrid .grid .picture{aspect-ratio:1/1; display:block; box-sizing:content-box; overflow:hidden; border-radius:50%; margin:-24px 0px; border:8px solid #ffffff; position:relative;}
section.photogrid .grid .picture img{width:100%;}

footer{width:100%; height:120px; background:#e5004d; overflow:visible; z-index:900;}
footer .grid{display:grid; grid-template-columns:1fr 220px 1fr 375px; grid-gap:24px;}
footer .partner{color:#ffffff; font-size:1.2rem; font-weight:bold; padding-top:8px;}
footer .partnerlogo{padding-top:8px;}
footer .partnerlogo img{max-width:100%; max-height:100%; object-fit:cover;}
footer .copyright{color:#ffffff; font-size:1.2rem; padding-top:8px;}
footer .logo{margin-top:-40px; height:80px;}
footer .logo a{height:inherit; display:block;}
footer .logo a img{max-width:100%;}

/*laptop*/
@media only screen and (max-width:1024px) 
{  
    h1{font-size:2.8rem;}
    h2{font-size:2.2rem;}
    h3{font-size:1.8rem;}
    
    header{height:60px;}
    header .grid{grid-template-columns:320px auto;}
    header .logo{margin-top:20px;}
    header nav ul li a{height:60px; line-height:60px;}
    
    section.hero .grid h1{font-size:4.8rem;}
}

/*tablet*/
@media only screen and (max-width:768px) 
{
    h1{font-size:2.6rem;}
    h2{font-size:2.0rem;}
    h3{font-size:1.6rem;}
    body{font-size:1.6rem;}
    
    .form-grid{grid-template-columns:1fr;}
    .form-grid .full{grid-column-end:unset;}    
    .form-grid div.row label{font-size:1.4rem;}
    
    header{overflow:visible;}
    header .menu{display:unset; display:block; text-align:right;}
    header .menu a{height:60px;}
    header .menu a i{font-size:2.2rem; line-height:60px; color:#ffffff;}
    header 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 nav ul{width:100%; height:auto; display:block; position:relative; float:left; padding:24px; background:#e5004d;}
    header nav ul li{width:100%; height:auto; min-height:48px; display:block; float:left; margin:0px; text-align:right;}
    header nav ul li a{color:#ffffff; height:48px; line-height:48px; margin:unset; padding:unset;}    
    header nav ul li a:hover, header nav ul li a.on{border:none;}
    header nav.open{width:100%; height:100vh; display:block; float:none; left:0px; top:60px; z-index:800; position:absolute; margin:0px !important; -webkit-transform:translateY(0%); transform:translateY(0%); -webkit-transition:-webkit-transform 0.5s; transition:transform 0.5s;}
    
    section.hero{height:120px; margin-top:-120px;}
    section.hero .grid{grid-template-columns:1fr 200px; gap:24px;}
    section.hero .grid h1{font-size:3.6rem; color:#ffffff; width:72%;}
    section.hero .grid .circle{width:200px; height:200px; background:url('../images/ellipse.svg') no-repeat top center / 200px;}
    
    section.booking{padding:0px; height:120px; margin-top:100px;}
    section.booking .grid{grid-template-columns:1fr 200px; }
    section.booking .grid h1{font-size:3.6rem;}
    section.booking .grid h1 br:first-of-type{display:none;}
    section.booking .grid .circle{width:200px; height:200px; background:url('../images/ellipse.svg') no-repeat top center / 200px;}
    
    section.blocks .grid .block .image img{width:80%;}
    section.blocks .grid .block .info p{font-size:1.4rem;}
    
    section.content .grid{grid-template-columns:1fr;}
    section.content .grid div{display:none;}
    
    section.photogrid .grid{padding:0px;}
    
    footer{height:auto;}
    footer .grid{grid-template-columns:1fr 320px; grid-gap:24px;}
    footer .partner{grid-area:1/1/2/2;}
    footer .partnerlogo{grid-area:2/1/2/2;}
    footer .copyright{grid-area:3/1/3/2; margin-top:unset; margin-bottom:8px;}
    footer .logo{margin-top:-20px; grid-area:1/2/2/2;}
  
}

/*mobile l*/
@media only screen and (max-width:426px)
{
    body{font-size:1.4rem;}

    header .grid{grid-template-columns:200px auto;}
    
    section.hero{height:80px; margin-top:-80px;}
    section.hero .grid{grid-template-columns:1fr;}
    section.hero .grid h1{font-size:2.4rem; width:72%;}
    section.hero .grid .circle{display:none;}
    section.content .intro{font-size:1.4rem;}
    section.blocks .grid{grid-template-columns:1fr; gap:12px;}
    section.blocks .grid .block .image img{width:120px;}
    section.margin-top{margin-top:40px;}
    section.photogrid{margin:40px 0px 60px 0px;}
    section.photogrid .grid{grid-template-columns:1fr; grid-gap:24px; padding:0px 24px;}    
    section.photogrid .grid .picture:nth-of-type(1){margin:-24px 0px 12px 0px;}
    section.photogrid .grid .picture:nth-of-type(2){margin:12px 0px;}
    section.photogrid .grid .picture:nth-of-type(3){margin:12px 0px -24px 0px;}
    section.booking{height:unset; margin-top:40px;}
    section.booking .grid{grid-template-columns:1fr;}
    section.booking .grid h1 br{display:none;}
    section.booking .grid .circle{display:none;}
    
    footer .grid{grid-template-columns:1fr; grid-gap:12px;}
    footer .partner,
    footer .partnerlogo,
    footer .copyright{grid-area:unset; text-align:center;}
    footer .partnerlogo img{margin:0px auto;}
    footer .logo{grid-area:1/1/1/1;}
}

/*mobile m*/
@media only screen and (max-width:376px)
{


}

/*mobile s*/
@media only screen and (max-width:320px)
{


}