:root {
    --color_a: #7B9582;
    --color_b: #b3a68e;
    --color_c: rgba(123, 149, 130, .5);
    --color_d: #6b6768;
    --xs: 7.5px;
    --sm: 15px;
    --md: 30px;
    --lg: 45px;
    --xl: 60px;
}

@font-face {
    font-family: 'BondoluoPeek';
    src: url('fonts/BondoluoPeek.eot');
    src: local('☺'),
    url('../fonts/BondoluoPeek.woff') format('woff'),
    url('../fonts/BondoluoPeek.ttf') format('truetype'),
    url('../fonts/BondoluoPeek.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Cera';
    src: url('fonts/Cera-regular.eot');
    src: local('☺'),
    url('../fonts/Cera-regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Cera bold';
    src: url('fonts/Cera-bold.eot');
    src: local('☺'),
    url('../fonts/Cera-bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}


*, ::before, ::after {
    box-sizing: border-box;
    font-feature-settings: 'lnum';
    -webkit-font-feature-settings: 'lnum';
    -moz-font-feature-settings: 'lnum';
}

html,
body {
    font-family:Cera;
    height: auto;
    width: 100%;
}
body {
    width:100%;
    font-size: 16px;
    line-height: 1;
    margin:0;
}

a {
    color:#808080;
}
a:hover {
    color:black;
}
.form_error {
    border-color:#ff0000!important;
}
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap:wrap;
    background-color: white;
    padding: 15px;
    position: sticky;
    top: 0;
    z-index:2;
}
header a.logo_main {
    z-index:2;
    display: flex;
    align-items: flex-end;
}
header a.logo_main SPAN {
    margin-left: 15px;
}
header a.logo_main img {
    max-width:200px;
    width:200px;
}

@media screen and (min-width:1200px) {
    header .splitter {
        display: flex;
        justify-content: center;
        align-items: center;
        border-right: 1px solid;
    }
}
nav {
    display: flex;
}
nav a {
    display:inline-flex;
    margin: 0 15px;
    padding: 15px 0;
    color: #808080;
    font-family:'Cera bold';
}
nav a:last-of-type {
    margin-right:0;
}
nav a:hover {
    color: black;
}

#burger {
    transition: all 0.3s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    width: 65px;
    height: 15px;
    cursor: pointer;
    position: relative;
    left: 0;
    z-index: 1;
}
#burger>.line {
    transition: all 0.3s ease-in-out;
    -webkit-transform: translate3d(0, 0, 0);
    position: absolute;
    width: 65px;
    height: 3px;
    right: 0px;
    left: 0px;
    margin: auto;
    background: #000000;
}

#burger.active {
    transform: rotate(45deg);
}
#burger>.line.top {
    top: 0px;
}
#burger>.line.middle {
    top: -22px;
    width: 3px;
    height: 0px;
    top: 0px;
    bottom: 0px;
}
#burger>.line.bottom {
    top: 12px;
}
/* if HOVER is needed
#burger.active>.line.top,
#burger:hover>.line.top {
    top: 6px;
}
#burger.active>.line.middle,
#burger:hover>.line.middle {
    height: 65px;
}
#burger.active>.line.bottom,
#burger:hover>.line.bottom {
    top: 6px;
}
*/

#burger.active>.line.top {
    top: 6px;
}
#burger.active>.line.middle {
    height: 65px;
}
#burger.active>.line.bottom {
    top: 6px;
}


@media screen and (min-width:1200px) {
    #burger {
        display:none;
    }
}

@media screen and (max-width:1199px) {
    body nav.menu {
        display: none;
    }
    body.menu_open nav.menu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 1;
        background-color: white;
    }
    body.menu_open nav.menu a {
        border-bottom: 2px solid;
        margin: 5vh;
        text-align: center;
        min-width: 150px;
        padding: 10px 0;
        color: black;
    }
    body.menu_open nav.menu a:last-of-type {
        margin-bottom:0;
    }
}
main {
    width:100%;
    padding:0 var(--sm);
    background-color:#f0f1f1;
    background-color:white;
    /* min-height:90vh; */
    padding-bottom: 15px;
}
main .content {
    padding:var(--sm) 0;
}

footer:after {
    content: "";
    background-image: url(/assets/templates/cavovezal/images/pattern.svg);
    background-size: 48px;
    background-repeat: repeat;
    display: flex;
    height: 150px;
}

.mailto {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 30vh;
    margin-bottom: 30vh;
}

.mailto a {
    font-size: 73px;
    font-family: Cera;
    color: black;
    text-decoration: underline;
    padding-bottom: 15px;
    text-align:center;
}
@media screen and (max-width:1199px) {
    .mailto a {
        font-size:50px;
    }
}
.mailto span {
    font-family: Cera;
}

.details {
    background-color:white;
    display:flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size:18px;
    margin-top:60px;
    padding-bottom:60px;
    border-bottom:1px solid;
    font-family:"Cera";
    margin-left: 15px;
    margin-right: 15px;
    line-height: 2;
}
.details a {
    text-decoration: underline;
}
.details>div {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    width:100%;
}
.details>div>strong:first-of-type {
    border-bottom:1px solid;
    width:100%;
    margin-bottom:15px;
    padding-bottom:15px;
}
.details>div>strong:nth-of-type(2) {
    padding-top: 50px;
}
.copyright {
    margin-top:30px;
    margin-bottom:30px;
    font-size:12px;
    color:black;
    margin-left: 15px;
    margin-right: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.copyright a {
    color:black;
}
.copyright a:hover {
    color:var(--color_b);
}

@media screen and (max-width:991px) {
    .details {
        flex-direction:column;
    }
    .details>div>strong:last-of-type {
        padding-top: 0;
        padding-bottom:50px;
    }
}
h1,h2,h3,h4,h5,h6 {
    font-weight:normal;
}
a {
    text-decoration:none;
}
p {
    margin: 0 0 var(--sm) 0;
}
img {
    width:100%;
}

.content_wrap {
    display:flex;
    flex-direction:column;
}

.moto {
    position: absolute;
    z-index: 1;
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-items: center;
    min-width: 100%;
    bottom: 0;
    pointer-events: none;
    text-align: center;
    padding: 50px 15px;
}

.moto img {
    max-width:40px;
    filter:invert(1);
}

.soloLinks {
    min-height: 40vh;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.solo-link {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.solo-link a {
    font-size: 73px;
    font-family: Cera;
    color: black;
    text-decoration: underline;
    padding-bottom: 15px;
    text-align:center;
}
.solo-link span {
    font-family: Cera;
}
@media screen and (max-width:1199px) {
    .solo-link a {
        font-size:50px;
    }
}

/* HOME */

.section_wrap h1 {
    font-size:73px;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom:80px;
    text-align:center;
}
@media screen and (max-width:1199px) {
    .section_wrap h1 {
        font-size:50px;
    }
}
.section_wrap h1>span {
    font-size:14px;
    padding-top:20px;
}
p {
    font-size:27px;
    line-height:34px;
}

.section_wrap {
    display: flex;
    flex-wrap:wrap;
    min-height: 300px;
}
.section_wrap>div {
    min-width:320px;
    flex:1;
}

.section_1,
.section_3,
.section_5 {
    padding:140px 0;
}
@media screen and (max-width:768px) {
    .section_1,
    .section_3,
    .section_5 {
        padding:50px 0;
    }
    h1 {
        font-size:50px;
    }
}

.section_1 h1 {
    align-items: flex-start;
}

.section_2 {
    display: flex;
    justify-content:center;
    align-items:center;
}
.section_2 img {
    min-width:320px;
    padding: 7.5px;
}

@media screen and (min-width:768px) {
    .section_2 img {
        max-width: 50%;
    }
}
@media screen and (min-width:1199px) {
    .section_2 img {
        max-width: 40%;
    }
}

.section_3,
.section_5 {
    flex-direction:column;
    align-items:center;
}
.section_3>div:last-of-type,
.section_5>div:last-of-type {
    align-self: flex-end;
}

@media screen and (min-width:1199px) {
    .section_3>div:last-of-type,
    .section_5>div:last-of-type {
        max-width: 50%;
    }
}

.section_6 img {
    max-height: 974px;
    object-fit: cover;
    object-position: top;
}
.section_6 {
    justify-content:center;
}
.section_6 img {
    max-width: 80%;
}
.section_7 {
    padding-top:140px;
}
.section_7 h1 {
    margin-bottom:50px;
}
.section_7 .card {
    padding:15px;
    min-width:500px;
}
@media screen and (max-width:768px) {
    .section_7 .card {
        min-width:100%;
    }
}
.section_7 .card>div:nth-of-type(2) {
    min-height: 250px;
}
.section_7 .card>div:nth-of-type(2) span {
    display: flex;
    margin-bottom:50px;
}
.section_7 .card h1 {
    text-align:left;
    align-items: flex-start;
}

/* SIMPLE GALLERY */
.simple-images {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
}
.simple-images>a {
    flex: 1;
    min-width: 25%;
    max-width: 25%;
    margin: 2vw;
}

/* NEW GALLERY */
.Gallery {
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-top: 200px;
    margin-bottom: 200px;
}
.galleryMoto {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    position: absolute;
    width: 100%;
    top: 267px;
    left:0;
    font-family: Cera;
}
.galleryMoto h1 {
    font-size:73px;
    font-weight:normal;
    margin:0;
    margin-bottom:15px;
}
.galleryMoto span {
    font-size:12px;
}
.Gallery a {
    overflow:hidden;
    max-width: 432px;
    position:relative;
    display:flex;
}
.Gallery a img {
    max-width: 432px;
    transition: transform .3s ease-in-out;
}
.Gallery a img:hover {
    transform: scale(1.1);
}

.youtube_redirect a:after,
.Gallery a:after {
    content: "";
    
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15%;
    color: white;
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(34,34,34, 0.5);
    transition: opacity .3s ease-in-out;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
.Gallery a:after {
    background-image: url(/assets/templates/cavovezal/images/cross.svg);
}

.Gallery a:hover:after {
    pointer-events:none;
    opacity:1;
}

.Gallery a:nth-of-type(3n+2) {
    margin-top: 238px;
    margin-left: 5vw;
    margin-right: 5vw;
}

.youtube_redirect {
    display: flex;
    justify-content: center;
    align-items: center;
}
.youtube_redirect a {
    position:relative;
    max-width: 54%;
}
.youtube_redirect img {
    max-height: 60vh;
    object-fit: cover;
}

.youtube_redirect a:after {
    background-image: url(/assets/templates/cavovezal/images/arrow.svg);
    opacity:1;
    background-size: 10%;
}

@media screen and (max-width:1500px) {
    .Gallery a {
        max-width: 350px;
    }
    .Gallery a img{
        max-width: 350px;
    }
    .galleryMoto {
        top: 200px;
    }
    .galleryMoto h1 {
        font-size:55px;
    }
}
@media screen and (max-width:1200px) {
    .Gallery a {
        max-width: 288px;
    }
    .Gallery a img{
        max-width: 288px;
    }
    .galleryMoto h1 {
        font-size:50px;
    }
}
@media screen and (max-width:1000px) {
    .Gallery {
        flex-direction:column;
        justify-content: center;
        align-items:center;
    }
    .Gallery a:nth-of-type(3n+2) {
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
    }
    .Gallery a {
        margin-top:30px !important;
        max-width: 100%;
    }
    .Gallery a img {
        max-width: 100%;
    }
    .youtube_redirect a {
        max-width: 432px;
    }
}

/* END NEW GALLERY */


/* Bar Menu */

.booklet a {
    display:flex;
    margin-bottom: var(--xl);
}

.box {
    background-color:#E3D9D0;
    margin-bottom:15px;
    font-family: 'Cera';
    position:relative;
    padding-bottom:100px;
}
.box-header {
    margin-bottom:100px;
}
.box-header,
.box.end {
    background-image:url('/assets/templates/cavovezal/images/pattern.svg');
    background-size: 48px;
    background-repeat: repeat;
}
.box-header-title {
    font-size:50px;
    background-color:white;
    display:inline-flex;
    margin:15px 0;
    font-family: 'Cera bold';
    padding: 10px 40px;
}
.box-main {
    padding:15px;
    padding:15px 5%;
}
.ul-title {
    font-size:36px;
    border-bottom:3px solid;
    display:inline-flex;
    font-family: 'Cera bold';
    position:relative;
    padding-bottom: 15px;
}
.ul-title:before {
    content: "";
    width: 3px;
    height: 11px;
    background-color: black;
    position: absolute;
    bottom: -7px;
    left:0;
}

.ul-title,
ul {
    padding-left:20px;
}
ul {
    list-style:none;
}
li {
    display:flex;
    align-items:center;
    font-size: 22px;
    
}
.box-main li {
    margin: 24px 0;
}
ul.duo>li {
    justify-content:space-between;
}
ul.triple>li  {
    flex-direction: column;
    align-items: flex-start;
}

ul.triple>li>div {
    justify-content: space-between;
    display: flex;
    width:100%;
}

.box.end {
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
}
.box.end img {
    background-color: #E3D9D0;
    max-width: 70%;
    padding: 20px;
}

@media screen and (max-width:991px) {
    .ul-title,
    ul {
        padding-left:0;
    }
    .ul-title {
        width:100%;
    }
    .box-header-title {font-size: 10vw;}
}
.price {
    margin-left:15px;
    white-space:nowrap;
}

/* ALERT */
.alert_wrap {
    position:fixed;
    width:100%;
    height:100vh;
    display:flex;
    justify-content: flex-end;
    align-items: flex-end;
    pointer-events:none;
    z-index: 2;
    border: none;
    padding: 0;
    margin: 0;
}
.alert_wrap>div {
    display:flex;
    pointer-events:all;
    background: transparent;
    margin-bottom: 35px;
    margin-right: 0;
}
.alert_wrap>div a {
    background-color:rgba(131,125,103, 0.5);
    color:white;
    padding: 10px 15px;
    font-weight:bold;
    font-size:20px;
}
.alert_wrap>div>a>img {
    width:auto;max-height:15vh
}

.covid-19-update {
    display:flex;
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;
    font-family: 'Cera';
}
.covid-19-update p {
    font-size:16px;
}
@media screen and (max-width:1199px) {
    .covid-19-update {
        flex-direction:column;
    }
}
.covid-19-update div:first-of-type {
    flex:2;
}
.covid-19-update div:last-of-type {
    flex:1;
    padding:var(--sm);
}

/* CONTACT */

.contact {
    display:flex;
    justify-content:center;
    align-items:flex-start;
    width:100%;
    padding-top: 20vh;
    flex-wrap:wrap;
}
.contact>div {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    flex:1;
    height: 100%;
}
.contact .contact_heading {
    padding-bottom:50px;
}
.left_split .address {
    font-size: 27px;
    text-transform: uppercase;
    line-height: 1.2;
}
@media screen and (min-width:991px) {
    .left_split .address {
        font-size: 55px;
    }
}
.left_split .address>span {
    font-size:12px;
}
.left_split a {
    color:black;
}
.left_split a:hover {
    color:#808080;
}
.right_split form * {
    font-family:Cera;
}
.right_split form input,
.right_split form textarea {
    font-size:27px;
    margin-top:30px;
    outline:none;
    padding-left: 0;
}
@media screen and (max-width:1350px) {
    .left_split,
    .right_split {
        min-width:100%;
    }
}
form button {
    outline: none;
    border: none;
    background: none;
    font-size: 27px;
    cursor:pointer;
    padding: 0;
}
form button:hover {
    color:#808080;
}
form .finalize {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
form .finalize .g-recaptcha {
    margin-left: -40px;
}

/* .contact_form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 85vh;
    flex-wrap: wrap;
    padding: 15px;
    background-color: white;
    font-family: 'Cera';
}
@media screen and (min-width:1199px) {
    .contact_form {
        width:85%;
    }
} */
.content_wrap {
    align-items:center;
}
.heading p {
    color: #999999;
}
.heading .msg {
    font-style: italic;
    font-size: 21px;
    text-align:center;
    margin-bottom:30px;
}
.heading h2 {
    color: #7B9582;
}
input[type=text],
input[type=email],
textarea{
    border:none;
    border-bottom:1px solid;
    background-color: transparent;
    width: 100%;
    padding: 15px;
}

form {
    display:flex;
    flex-direction:column;
}
.input_wrap {
    display:flex;
    margin-bottom:60px;
    justify-content:space-between;
    flex-wrap:wrap;
}
.input_wrap>div {
    display:flex;
    flex:1;
    padding:15px;
}
@media screen and (max-width:1199px) {
    .input_wrap>div {
        min-width:100%;
    }
}
.input_wrap>div:first-of-type {
    flex-direction:column;
}
.action_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex: 1;
    flex-wrap: wrap;
}
.action_wrap>* {
    display:flex;
    justify-content:center;
    align-items:center;
    flex:1;
    width: 100%;
}

.button_wrap {
    display:flex;
    justify-content:center;
    align-items:center;
}
.button_wrap button {
    display: flex;
    padding: 15px 45px;
    background-color: #bccac0;
    border: none;
    color: white;
    text-transform: uppercase;
    box-shadow: 0 0 5px -3px #333;
    cursor: pointer;
}
.g-recaptcha {
    transform:scale(0.75);
}
.company_details {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.company_details h3 {
    font-style: italic;
    font-size: 18px;
    margin-bottom: 15px;
    color: #7B9582;
}
.company_details a {
    color:#999999;
    text-decoration: underline;
}
.company_details a:hover {
    color:#7B9582;
}

#video {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 0;
    transform: scale(1);
}
#video>IFRAME {
    position: fixed;
}
.home_carousel {
    height: 91vh;
    padding: 0px 15px 15px 15px;
}
.section_4 {
    width: 55%;
    margin: auto;
}
@media screen and (max-width:767px) {
    .section_4 {
        width: 100%;
    }
}
.holiday_carousel {
    height: 600px;
}
.owl-stage-outer,
.owl-stage,
.owl-item,
.item {
    height: 100%;
}
.owl-item IMG {
    height: 100%;
    object-fit: cover;
}