/**
 * This file will be included in header in every page after foundation.
 * It should be used for content that relates
 * to your site as a whole, it should not be used for plugin-specific css.
 */

html {
    overflow-y: scroll;
}

body > .contentRender {
    min-height: 100%;
    height: 100%;
}

body .mfp-close:hover, body .mfp-arrow:hover, body .mfp-arrow:focus {
	background-color: transparent; /* foundation compatibility with magnific popup */
}

/*
|-----------------------------------------------------------------------------------------------------------
| FONTS
|-----------------------------------------------------------------------------------------------------------
|
*/
/*

Proxima Nova Bold
font-family: proxima-nova,sans-serif;
font-weight: 700;
font-style: normal;

Proxima Nova Extrabold
font-family: proxima-nova,sans-serif;
font-weight: 800;
font-style: normal;

Proxima Nova Regular
font-family: proxima-nova,sans-serif;
font-weight: 400;
font-style: normal;

Proxima Nova Italic
font-family: proxima-nova,sans-serif;
font-weight: 400;
font-style: italic;

Proxima Nova Condensed Bold
font-family: proxima-nova-condensed,sans-serif;
font-weight: 700;
font-style: normal;

Proxima Nova Condensed Semibold
font-family: proxima-nova-condensed,sans-serif;
font-weight: 600;
font-style: normal;

*/

/*---------------------------CORE STYLES---------------------------*/

.core-styles h1,
.contentRender_name_plugins_core_textbox h1 {
    color: #05497b;
    font-size: 44px;
    line-height: 54px;
    font-family: proxima-nova,sans-serif;
    font-weight: 800;
    font-style: normal;
    margin-bottom: 40px;
    margin-top: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.core-styles h2,
.contentRender_name_plugins_core_textbox h2 {
    color: #05497b;
    font-size: 40px;
    line-height: 48px;
    font-family: proxima-nova-condensed,sans-serif;
    font-weight: 600;
    font-style: normal;
    margin-bottom: 30px;
    margin-top: 30px;
}

.core-styles h3,
.contentRender_name_plugins_core_textbox h3 {
    color: #05497b;
    font-size: 28px;
    line-height: 34px;
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
    margin-top: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.core-styles h4,
.contentRender_name_plugins_core_textbox h4,
.sitemap h4 {
    color: #05497b;
    font-size: 32px;
    font-family: proxima-nova-condensed,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 20px;
}

.core-styles h5,
.contentRender_name_plugins_core_textbox h5 {
    color: #05497b;
    font-size: 24px;
    line-height: 32px;
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
    margin-top: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.core-styles h6,
.contentRender_name_plugins_core_textbox h6 {
    color: #05497b;
    font-size: 25px;
    line-height: 34px;
    font-family: proxima-nova-condensed,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
    margin-top: 30px;
}

.core-styles p,
.contentRender_name_plugins_core_textbox p,
p, table tr th, table tr td  {
    color: #58595b;
    font-size: 18px;
    font-family: proxima-nova,sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 26px;
    text-rendering: optimizeLegibility;
}

.core-styles a,
.contentRender_name_plugins_core_textbox a {
    color:#c5962d;
    font-weight: 700;
}

.contentRender_name_plugins_core_textbox a > button.qv-textbox-btn {
    all: inherit;
    color: inherit;
}

.contentRender_name_plugins_core_textbox a > button.qv-textbox-btn::before {
    content: none;
}

.core-styles a:hover,
.contentRender_name_plugins_core_textbox a:hover {
    text-decoration: underline;
}

.core-styles > ul:not([class*="block-grid-"]),
.core-styles > ol:not([class*="block-grid-"]),
.contentRender_name_plugins_core_textbox > ul:not([class*="block-grid-"]),
.contentRender_name_plugins_core_textbox > ol:not([class*="block-grid-"]),
.sitemap > ul {
    margin-bottom: 20px;
}

.core-styles ul:not([class*="block-grid-"]) li,
.core-styles ol:not([class*="block-grid-"]) li,
.contentRender_name_plugins_core_textbox ul:not([class*="block-grid-"]) li,
.contentRender_name_plugins_core_textbox ol:not([class*="block-grid-"]) li,
.sitemap li {
    color: #58595b;
    font-size: 18px;
    font-family: proxima-nova,sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 31px;
    text-rendering: optimizeLegibility;
    list-style-position: inside;
}

.core-styles td,
.contentRender_name_plugins_core_textbox td,
.core-styles tr,
.contentRender_name_plugins_core_textbox tr {
    color: #58595b;
    font-size: 18px;
    font-family: proxima-nova,sans-serif;
    font-style: normal;
    font-weight: 400;
    /* line-height: 26px; */
    text-rendering: optimizeLegibility;
}

.core-styles strong, .contentRender_name_plugins_core_textbox strong,
.core-styles b, .contentRender_name_plugins_core_textbox b {
    font-weight: bold;
}

.core-styles em, .contentRender_name_plugins_core_textbox em,
.core-styles i, .contentRender_name_plugins_core_textbox i:not(.fa) {
    font-style: italic;
}

h1 > a,
h2 > a,
h3 > a,
h4 > a,
h5 > a,
h6 > a {
  font: inherit;
  color: inherit;
  text-decoration: none;
}

.core-styles img[align*='right'],
.contentRender_name_plugins_core_textbox img[align*='right'] { margin-left : 15px; margin-bottom: 5px; }
.core-styles img[align*='left'],
.contentRender_name_plugins_core_textbox img[align*='left'] { margin-right : 15px; margin-bottom: 5px; }
.sitemap > ul {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 15px;
       -moz-column-gap: 15px;
            column-gap: 15px;
            padding-left: 15px;
}

@media screen and (max-width: 1024px){
    .sitemap > ul {
        -webkit-column-count: 2;
           -moz-column-count: 2;
                column-count: 2;
    }
}

@media screen and (max-width: 640px) {
    .sitemap > ul {
        -webkit-column-count: 1;
           -moz-column-count: 1;
                column-count: 1;
    }

    .core-styles h1,
    .contentRender_name_plugins_core_textbox h1 {
        font-size: 27px;
        line-height: 32px;
        margin-bottom: 20px;
        letter-spacing: 2px;
    }

    .core-styles h2,
    .contentRender_name_plugins_core_textbox h2 {
        font-size: 26px;
        line-height: 32px;
        margin-bottom: 20px;
    }

    .core-styles h3,
    .contentRender_name_plugins_core_textbox h3 {
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 20px;
        letter-spacing: 3px;
    }

    .core-styles h4,
    .contentRender_name_plugins_core_textbox h4,
    .sitemap h4 {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 20px;
    }

    .core-styles h5,
    .contentRender_name_plugins_core_textbox h5 {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 20px;
    }

    .core-styles h6,
    .contentRender_name_plugins_core_textbox h6 {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 20px;
    }

    .core-styles p,
    .contentRender_name_plugins_core_textbox p,
    .core-styles ul:not([class*="block-grid-"]) li,
    .core-styles ol:not([class*="block-grid-"]) li,
    .contentRender_name_plugins_core_textbox ul:not([class*="block-grid-"]) li,
    .contentRender_name_plugins_core_textbox ol:not([class*="block-grid-"]) li,
    .sitemap li,
    .core-styles td,
    .contentRender_name_plugins_core_textbox td,
    .core-styles tr,
    .contentRender_name_plugins_core_textbox tr {
        font-size: 16px;
        line-height: 24px;
    }
}

::selection {
    color: #fff; background: #c5962d;
}

.crn-calendar-parent .header-replacement {display: none;}
/************************************/
/**Custom Button with Theme Support**/
/************************************/
.button-cont { display: flex; }
.button-cont a.custom-btn {
    width: auto;
    margin: 0;
    font-weight: 800;
    font-family: "proxima-nova", sans-serif;
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 0.65px;
    color: #26a0de;
    margin-bottom: 30px;
    padding: 7px 21px;
    border: 2px solid #26a0de;
    text-align: center;
    text-transform: uppercase;
    background-color: transparent;
    position: relative;

    z-index: 1;
    overflow: hidden;
    -webkit-transition: border-color 0.3s, color 0.3s;
    transition: border-color 0.3s, color 0.3s;
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.button-cont a.custom-btn.white {
    border-color: white;
    color: white;
}


.button-cont a.custom-btn::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 150%;
    height: 100%;

    z-index: -1;
    -webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
    transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
    -webkit-transform-origin: 0% 100%;
    transform-origin: 0% 100%;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s;
    transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}

.button-cont a.custom-btn:hover::before {
    opacity: 1;
    background-color: #26a0de;
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
    -webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}


.bacalar_theme .button-cont a.custom-btn,
.holbox_theme .button-cont a.custom-btn,
.costa_mujeres_theme .button-cont a.custom-btn {
    border-color: #41A9AB;
    color: #41A9AB;
}

.bacalar_theme .button-cont a.custom-btn::before,
.holbox_theme .button-cont a.custom-btn::before,
.costa_mujeres_theme .button-cont a.custom-btn::before {
    background-color: #41A9AB;
}

.chetumal_theme .button-cont a.custom-btn,
.tulum_theme .button-cont a.custom-btn,
.costa_maya_theme .button-cont a.custom-btn {
    border-color: #9BA339;
    color: #9BA339;
}

.chetumal_theme .button-cont a.custom-btn::before,
.tulum_theme .button-cont a.custom-btn::before,
.costa_maya_theme .button-cont a.custom-btn:before {
    background-color: #9BA339;
}

.mahahual_theme .button-cont a.custom-btn,
.puerto_morelos_theme .button-cont a.custom-btn,
.riviera_theme .button-cont a.custom-btn {
    border-color: #189494;
    color: #189494;
}

.mahahual_theme .button-cont a.custom-btn::before,
.puerto_morelos_theme .button-cont a.custom-btn::before,
.riviera_theme .button-cont a.custom-btn::before
 {
    background-color: #189494;
}

.cancun_theme .button-cont a.custom-btn {
    border-color: #C5962D;
    color: #C5962D;
}
.cancun_theme .button-cont a.custom-btn::before {
    background-color: #C5962D;
}

.cozumel_theme .button-cont a.custom-btn {
    border-color: #00AEEF;
    color: #00AEEF;
}
.cozumel_theme .button-cont a.custom-btn::before {
    background-color: #00AEEF;
}

.isla_mujeres_theme .button-cont a.custom-btn {
    border-color: #ECAE29;
    color: #ECAE29;
}
.isla_mujeres_theme .button-cont a.custom-btn::before {
    background-color: #ECAE29;
}

.maya_kaan_theme .button-cont a.custom-btn {
    border-color: #80C57A;
    color: #80C57A;
}
.maya_kaan_theme .button-cont a.custom-btn::before {
    background-color: #80C57A;
}

.carmen_theme .button-cont a.custom-btn {
    border-color: #469FB4;
    color: #469FB4;
}
.carmen_theme .button-cont a.custom-btn::before {
    background-color: #469FB4;
}


.button-cont a.custom-btn.white {
    border-color: white;
    color: white;
}
.button-cont a.custom-btn.white:hover {
    color: #26a0de;
}
.button-cont a.custom-btn.white:hover::before {
    background-color: white;
}


.button-cont a.custom-btn:not(.white):hover{color: white;}

.button-cont.align_left {justify-content:flex-start;}
.button-cont.align_center {justify-content:center;}
.button-cont.align_right {justify-content:flex-end;}

/***********End of Custom Button**************/


/*****************************/
/****** THEME STYLES ********/
/***************************/
.default .theme-color{
    color: #2caae2;
}

.bacalar_theme .core-styles h1,
.holbox_theme .core-styles h1,
.costa_mujeres_theme .core-styles h1,
.bacalar_theme .contentRender_name_plugins_core_textbox h1,
.holbox_theme .contentRender_name_plugins_core_textbox h1,
.costa_mujeres_theme .contentRender_name_plugins_core_textbox h1,
.bacalar_theme .core-styles h3,
.holbox_theme .core-styles h3,
.costa_mujeres_theme .core-styles h3,
.bacalar_theme .contentRender_name_plugins_core_textbox h3,
.holbox_theme .contentRender_name_plugins_core_textbox h3,
.costa_mujeres_theme .contentRender_name_plugins_core_textbox h3,
.bacalar_theme .core-styles h5,
.holbox_theme .core-styles h5,
.costa_mujeres_theme .core-styles h5,
.bacalar_theme .contentRender_name_plugins_core_textbox h5,
.holbox_theme .contentRender_name_plugins_core_textbox h5,
.costa_mujeres_theme .contentRender_name_plugins_core_textbox h5,
.holbox_theme .theme-color,
.costa_mujeres_theme .theme-color,
.bacalar_theme .theme-color,
.bacalar_theme .bacalar_theme .theme-color {
    color: #41A9AB;
}

.chetumal_theme .core-styles h1,
.tulum_theme .core-styles h1,
.costa_maya_theme .core-styles h1,
.chetumal_theme .contentRender_name_plugins_core_textbox h1,
.tulum_theme .contentRender_name_plugins_core_textbox h1,
.costa_maya_theme .contentRender_name_plugins_core_textbox h1,
.chetumal_theme .core-styles h3,
.tulum_theme .core-styles h3,
.costa_maya_theme .core-styles h3,
.chetumal_theme .contentRender_name_plugins_core_textbox h3,
.tulum_theme .contentRender_name_plugins_core_textbox h3,
.costa_maya_theme .contentRender_name_plugins_core_textbox h3,
.chetumal_theme .core-styles h5,
.tulum_theme .core-styles h5,
.costa_maya_theme .core-styles h5,
.chetumal_theme .contentRender_name_plugins_core_textbox h5,
.tulum_theme .contentRender_name_plugins_core_textbox h5,
.costa_maya_theme .contentRender_name_plugins_core_textbox h5,
.costa_maya_theme .theme-color,
.tulum_theme .theme-color,
.chetumal_theme .theme-color{
    color: #9BA339;
}

.mahahual_theme .core-styles h1,
.mahahual_theme .contentRender_name_plugins_core_textbox h1,
.mahahual_theme .core-styles h3,
.mahahual_theme .contentRender_name_plugins_core_textbox h3,
.mahahual_theme .core-styles h5,
.mahahual_theme .contentRender_name_plugins_core_textbox h5,
.mahahual_theme .theme-color{
    color: #58a5aa
}

.puerto_morelos_theme .core-styles h1,
.puerto_morelos_theme .contentRender_name_plugins_core_textbox h1,
.puerto_morelos_theme .core-styles h3,
.puerto_morelos_theme .contentRender_name_plugins_core_textbox h3,
.puerto_morelos_theme .core-styles h5,
.puerto_morelos_theme .contentRender_name_plugins_core_textbox h5,
.puerto_morelos_theme .theme-color{
    color: #189494;
}

.cancun_theme .core-styles h1,
.cancun_theme .contentRender_name_plugins_core_textbox h1,
.cancun_theme .core-styles h3,
.cancun_theme .contentRender_name_plugins_core_textbox h3,
.cancun_theme .core-styles h5,
.cancun_theme .contentRender_name_plugins_core_textbox h5,
.cancun_theme .theme-color {
    color: #C5962D;
}

.cozumel_theme .core-styles h1,
.cozumel_theme .contentRender_name_plugins_core_textbox h1,
.cozumel_theme .core-styles h3,
.cozumel_theme .contentRender_name_plugins_core_textbox h3,
.cozumel_theme .core-styles h5,
.cozumel_theme .contentRender_name_plugins_core_textbox h5,
.cozumel_theme .theme-color {
    color: #00AEEF;
}

.isla_mujeres_theme .core-styles h1,
.isla_mujeres_theme .contentRender_name_plugins_core_textbox h1,
.isla_mujeres_theme .core-styles h3,
.isla_mujeres_theme .contentRender_name_plugins_core_textbox h3,
.isla_mujeres_theme .core-styles h5,
.isla_mujeres_theme .contentRender_name_plugins_core_textbox h5,
.isla_mujeres_theme .theme-color {
    color: #ECAE29;
}

.maya_kaan_theme .core-styles h1,
.maya_kaan_theme .contentRender_name_plugins_core_textbox h1,
.maya_kaan_theme .core-styles h3,
.maya_kaan_theme .contentRender_name_plugins_core_textbox h3,
.maya_kaan_theme .core-styles h5,
.maya_kaan_theme .contentRender_name_plugins_core_textbox h5,
.maya_kaan_theme .theme-color {
    color: #80C57A;
}


.riviera_theme .core-styles h1,
.riviera_theme .contentRender_name_plugins_core_textbox h1,
.riviera_theme .core-styles h3,
.riviera_theme .contentRender_name_plugins_core_textbox h3,
.riviera_theme .core-styles h5,
.riviera_theme .contentRender_name_plugins_core_textbox h5,
.carmen_theme .core-styles h1,
.carmen_theme .contentRender_name_plugins_core_textbox h1,
.carmen_theme .core-styles h3,
.carmen_theme .contentRender_name_plugins_core_textbox h3,
.carmen_theme .core-styles h5,
.carmen_theme .contentRender_name_plugins_core_textbox h5,
.carmen_theme .theme-color,
.riviera_theme .theme-color {
    color: #469FB4;
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
/*---------------------------END CORE STYLES---------------------------*/


/* This ensures that the page always has a scrollbar to ensure that some headers load correctly without FOUC */

html, body {
    height: 100%;
    font-family: proxima-nova,sans-serif;
    font-weight: 400;
    font-style: normal;
}

body {
    background: url("/includes/client_public/assets/images/body-bg.png")center/auto repeat;
}

h1 {
    color: #05497b;
    font-size: 44px;
    line-height: 54px;
    font-family: proxima-nova,sans-serif;
    font-weight: 800;
    font-style: normal;
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

h2 {
    color: #05497b;
    font-size: 40px;
    line-height: 48px;
    font-family: proxima-nova-condensed, sans-serif;
    font-weight: 600;
    font-style: normal;
    margin-bottom: 30px;
    margin-top: 30px;
}

h3 {
    color: #05497b;
    font-size: 28px;
    line-height: 34px;
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

h4 {
    color: #05497b;
    font-size: 32px;
    font-family: proxima-nova-condensed,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 20px;
}

h5 {
    color: #05497b;
    font-size: 24px;
    line-height: 32px;
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

h6 {
    color: #05497b;
    font-size: 25px;
    line-height: 34px;
    font-family: proxima-nova-condensed,sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-bottom: 30px;
}


a:link, a:visited, a:active {
    color: #c5962d;
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    font-style: normal;
    text-decoration: none;
}

ul {
    display: block;
    list-style-type: disc;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

ul, ol, dl {
    color: #58595b;
    font-size: 18px;
    line-height: 26px;
    font-family: proxima-nova,sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-left: 0;
}

.shared-back-button {
    display: inline-block;
    text-align: center;
    text-transform: uppercase;
    color: #2caae2 !important;
    font-size: 13px;
}

@media (max-width: 640px) {
    h1 {
        font-size: 28px;
        line-height: 34px;
        margin-bottom: 20px;
        letter-spacing: 2px;
    }

    h2 {
        font-size: 28px;
        line-height: 34px;
        margin-bottom: 20px;
    }

    h3 {
        font-size: 22px;
        line-height: 25px;
        margin-bottom: 20px;
        letter-spacing: 3px;
    }

    h4 {
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 20px;
    }

    h5 {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }

    h6 {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 20px;
    }

    p, table tr th, table tr td {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 30px;
    }

    ul, ol, dl {
        font-size: 16px;
        line-height: 24px;
        font-family: proxima-nova,sans-serif;
        font-weight: 400;
        font-style: normal;
    }
}

.panel_page {
    min-height: 100%;
    position: relative;
}

.panel_page .mobile-background {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("/includes/client_public/assets/images/mobile-nav-overlay.png")center/auto repeat;
}

.panel_page .mobile-background::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("/includes/client_public/assets/images/body-bg.png")center/auto repeat;
    z-index: -1;
}

.contained-narrow {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 15px;
}

@media (min-width: 64.063em) {
    .panel_page .mobile-background,
    .panel_page .mobile-background::after {
        display: none;
    }
}

.header-replacement {
    position: relative;
}

.header-replacement .img-cont img{
    width: 100%;
}
.header-replacement::after {
    content: "";
    position: absolute;
    bottom: -13px;
    left: 0;
    width: 100%;
    height: 30px;
}

.cancun_theme .header-replacement::after,
.caribbean_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/cancun-hr.svg")center/contain repeat-x;
}

.bacalar_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/bacalar-hr.svg")center/contain repeat-x;
}

.chetumal_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/chetumal-hr.svg")center/contain repeat-x;
}

.cozumel_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/cozumel-hr.svg")center/contain repeat-x;
}

.holbox_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/holbox-hr.svg")center/contain repeat-x;
}

.costa_mujeres_theme .header-replacement::after,
.isla_mujeres_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/isla-hr.svg")center/contain repeat-x;
}

.mahahual_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/mahahual-hr.svg")center/contain repeat-x;
}

.maya_kaan_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/kaan-hr.svg")center/contain repeat-x;
}

.carmen_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/pdc-hr.svg")center/contain repeat-x;
}

.puerto_morelos_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/morelos-hr.svg")center/contain repeat-x;
}

.tulum_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/tulum-hr.svg")center/contain repeat-x;
}

.riviera_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/riviera-maya-hr.svg")center/contain repeat-x;
}

.costa_maya_theme .header-replacement::after {
    background: url("/includes/client_public/assets/images/costa_maya_theme-hr.svg")center/contain repeat-x;
}

.header-replacement .img-cont img {
    display: block;
    width: 100%;
}

.header-section {
    position: absolute;
    left: 0;
    width: 100%;
    min-height: 40px;
    padding: 0;
    z-index: 1000;
}

.header-section .header-inner {
    position: relative;
    width: 100%;
    max-width: 1330px;
    margin: 0 auto;
}

.header-section .logo-cont {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(100% - 110px);
    margin: 0 auto 0 0;
    padding: 10px 15px 0;
    max-width: 185px;
}

.header-section .logo img {
    display: block;
    width: 100%;
}

.header-section .header-right {
    display: none;
}

@media (min-width: 40.063em) {
    .header-section .logo-cont {
        justify-content: flex-start;
        max-width: 200px;
    }
}

@media (min-width: 64.063em) {
    .header-section {
        background: linear-gradient(to top, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 60%) 100%);
    }

    .header-section .header-inner {
        display: flex;
        height: inherit;
        padding: 0 15px;
    }

    .header-section .header-left {
        flex: 0 1 auto;
        display: flex;
        align-items: center;
    }

    .header-section .header-right {
        display: flex;
        flex-direction: column;
        flex: 1 1 960px;
        padding-left: calc(20px + (25 - 20) * ((100vw - 1025px) / (1200 - 1025)));;
        padding-top: 25px;
    }

    .header-section .header-top,
    .header-section .header-bottom {
        display: inline-flex;
        justify-content: flex-end;
    }

    .header-section .header-top {
        position: relative;
        align-items: center;
    }

    .header-section .logo-cont {
        width: 100%;
        padding: 25px 0 0;
        height: auto;
    }

    .header-section .logo-cont.large {
        max-width: none;
    }

    .header-section .logo img {
        max-width: calc(220px + (260 - 220) * ((100vw - 1025px) / (1200 - 1025)));
    }

    .header-section .logo-cont.large .logo img {
        max-width: calc(400px + (680 - 400) * ((100vw - 1025px) / (1330 - 1025)));
    }

    .header-section .contentRender_name_plugins_common_logo {
        width: 100%;
    }

    .header-section .header-top {
        margin-bottom: 15px;
        min-height: 27px;
    }

    .header-section .header-link {
        margin-left: 30px;
        display: flex;
        align-items: center;
        color: white;
        font-weight: 400;
        text-transform: uppercase;
    }

    .header-section .header-link > a {
        font-size: 12px;
        color: white;
        font-weight: 400;
        letter-spacing: 1.2px;
        line-height: 24px;
    }

    .header-section .header-link.tb-link i {
        margin-right: 5px;
    }

    .header-section .header-link.tb-link .count {
        display: inline-block;
        margin-left: 5px;
        margin-top: -3px;
    }
}

@media (min-width: 1200px) {
    .header-section .header-right {
        padding-left: 25px;
    }

    .header-section .logo-cont {
        max-width: 246px;
    }

    .header-section .logo img {
        max-width: 260px;
    }
}

@media(min-width: 1331px) {
    .header-section .logo-cont.large .logo img {
        max-width: 680px;
    }
}


.intro-panel {
    width: 100%;
    text-align: center;
    padding: 0 15px 15px;
}

.intro-panel p {
    text-align: left;
}

.intro-panel h1 {
    margin-bottom: 10px;
}

.intro-panel h2 {
    margin-top: 0;
    font-size: 26px;
    font-weight: 700;
}

.intro-panel .contentRender_name_plugins_core_textbox {
    padding: 0;
    width: 100%;
}

.panel-two-col {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 10px;
    padding: 0;
}

.panel-two-col .sv-col {
    width: 100%;
    padding: 0 15px;
}

.panel-two-col .contentRender_name_plugins_core_textbox {
    padding: 0;
}

.panel-three-col {
    margin: 0 auto 10px;
    padding: 0;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
}

.panel-three-col .sv-col {
    width: 100%;
    padding: 0 15px;
}

/**/
.contentRender_name_plugins_core_textbox,
.contentRender_name_plugins_nav_sitemap,
.contentRender_name_plugins_search_results,
.contentRender_name_plugins_common_button,
.contentRender_name_plugins_collections_template_custom_list,
.contentRender_name_plugins_collections_template_custom_contacts,
.contentRender_name_plugins_blog_leisure_blog_posts,
.contentRender_name_plugins_blog_articles_posts,
.contentRender_name_plugins_mediagallery_gallery,
.contentRender_name_plugins_mediagallery_album,
.contentRender_name_plugins_crm_formbuilder,
.contentRender_name_plugins_events_submitevent
{
    width: 100%;
    padding: 0 15px;
    margin: 0 auto 0 0;
}


.dest-panel {
    display: inline-block;
    position: relative;
    margin-top: 15px;
    margin-bottom: 20px;
    width: 100%;
}

.dest-panel .contentRender_name_plugins_collections_template_custom_social_links {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
}

.themed-panel {
    position: relative;
    padding: 45px 0;
    overflow: hidden;
}

.themed-panel.floral {
    padding: 0;
}

.themed-panel .bg-cont {
    position: absolute;
    width: calc(80px + (350 - 80) * ((100vw - 320px) / (1024 - 320)));
    height: calc(114px + (500 - 114) * ((100vw - 320px) / (1024 - 320)));
    pointer-events: none;
    z-index: 1;
}

.themed-panel.cozumel_theme .bg-cont {
    width: calc(150px + (370 - 150) * ((100vw - 320px) / (1024 - 320)));
    height: calc(81px + (200 - 81) * ((100vw - 320px) / (1024 - 320)));
}

/*THEME PANEL POSITIONING*/
.themed-panel.y-top .bg-cont {
    top: 0;
}

.themed-panel.cozumel_theme.y-top .bg-cont {
    top: 20px;
}

.themed-panel.y-bottom .bg-cont {
    bottom: 0;
}

.themed-panel.cozumel_theme.y-bottom .bg-cont {
    bottom: 20px;
}

.themed-panel.x-left .bg-cont{
    left: calc(-40px + (-175 - -40) * ((100vw - 320px) / (1024 - 320)));
}

.themed-panel.floral.x-right.y-top .bg-cont{
    right: 0;
    transform: translateX(50%);
}

.themed-panel.floral.x-right.y-bottom .bg-cont{
    right: 0;
    transform: rotateX(180deg) rotateY(0deg) translateX(50%);
}

.themed-panel.floral.x-left.y-top .bg-cont{
    transform: rotateX(0deg) rotateY(180deg) translateX(50%);
    left: 0;
}

.themed-panel.floral.x-left.y-bottom .bg-cont{
    transform: rotateX(180deg) rotateY(180deg) translateX(50%);
    left: 0;
}

.themed-panel.cozumel_theme.x-left.y-top  .bg-cont{
    left: calc(-75px + (-185 - -75) * ((100vw - 320px) / (1024 - 320)));
}
.themed-panel.x-right .bg-cont {
    right: calc(-40px + (-175 - -40) * ((100vw - 320px) / (1024 - 320)));
}
.themed-panel.cozumel_theme.x-right  .bg-cont{
    right: calc(-75px + (-185 - -75) * ((100vw - 320px) / (1024 - 320)));
}


@media (min-width: 64.063em){
    .themed-panel.cozumel_theme .bg-cont {
        width: 370px;
        height: 200px;
    }
    .themed-panel.cozumel_theme.x-left  .bg-cont{
        left: -185px;
    }
    .themed-panel.cozumel_theme.x-right  .bg-cont{
        right: -185px;
    }
    .themed-panel.cozumel_theme.y-top .bg-cont{
        top: 80px;
    }
    .themed-panel.cozumel_theme.y-bottom  .bg-cont{
        bottom: 80px;
    }
}

/*-------------*/

.themed-panel.floral .bg-cont.one {
    left: auto;
    right: -60px;
}

.themed-panel.floral .bg-cont.two {
    left: auto;
    right: -60px;
    top: 50%;
    transform: rotateX(180deg);
}

@media (min-width: 64.063em) {
    .themed-panel.floral .bg-cont.one {
        right: -240px;
    }

    .themed-panel.floral .bg-cont.two {
        right: -240px;
    }
}

.social-panel {
    position: relative;
}

.social-panel .top-section {
    position: relative;
    padding-bottom: 145px;
    overflow: hidden;
    padding-top: 60px;
}

.social-panel.has-title .top-section {
    padding-bottom: 60px;
}

.social-panel .top-section .logo-cont {
    max-width: 360px;
    margin: 0 auto;
}

.social-panel::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0px;
    width: 100%;
    max-width: 408px;
    height: 244px;
    background: url("/includes/client_public/assets/images/social-panel-bottom.png")center/contain no-repeat;
    z-index: -1;
    pointer-events: none;
}

.social-panel.has-title {
    padding-top: 0;
    padding-bottom: 55px;
}

.social-panel .title-cont {
    text-align: center;
    padding: 0 20px;
}

.social-panel .title {
    font-size: 32px;
    line-height: 1.15;
    margin-bottom: 0;
    color: #205b86;
    letter-spacing: 1px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.social-panel .subtitle {
    font-size: 22px;
    color: #41a9ab;
    letter-spacing: 1px;
    margin-bottom: 10px;
    line-height: 1.4;
}

.social-panel .links .social-icon {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    color: white;
    font-size: 18px;
    border-radius: 100%;
    font-weight: normal;
    background-color: #c5962d;
}

.social-panel .links .social-icon:last-child {
    margin-right: 0;
}

.caribbean_theme .social-panel .links .social-icon,
.cancun_theme .social-panel .links .social-icon {
    background-color: #c5962d;
}

.social-panel .social-icons.hide {
    display: flex !important;
    visibility: visible !important;
}

@media (min-width: 40.063em) {
    .intro-panel p {
        text-align: center;
    }

    .dest-panel {
        margin-bottom: 45px;
        margin-top: 45px;
    }

    .dest-panel .contentRender_name_plugins_collections_template_custom_social_links {
        width: 50%;
    }

    .social-panel::after {
        left: 23%;
    }

    .social-panel .subtitle {
        font-size: 24px;
    }

    .social-panel .title {
        font-size: 40px;
    }

    .panel-two-col {
        flex-direction: row;
    }

    .panel-two-col.even .sv-col {
        width: 50%;
    }

    .panel-two-col.third_sidebar_left .sv-col.left,
    .panel-two-col.third_sidebar_right .sv-col.right {
        width: 33.33%;
    }

    .panel-two-col.third_sidebar_left .sv-col.right,
    .panel-two-col.third_sidebar_right .sv-col.left {
        width: 66.66%;
    }

    .panel-two-col.fourth_sidebar_left .sv-col.left,
    .panel-two-col.fourth_sidebar_right .sv-col.right {
        width: 25%;
    }

    .panel-two-col.fourth_sidebar_left .sv-col.right,
    .panel-two-col.fourth_sidebar_right .sv-col.left {
        width: 75%;
    }

    .panel-three-col {
        flex-direction: row;
    }

    .panel-three-col.even .sv-col {
        width: 33.3%;
    }

    .panel-three-col.uneven .sv-col.middle {
        width: 50%;
    }

    .panel-three-col.uneven .sv-col.left,
    .panel-three-col.uneven .sv-col.right {
        width: 25%;
    }
}

@media (min-width: 64.063em) {
    .intro-panel {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto 65px;
        padding: 0 50px 15px;
    }

    .intro-panel h1 {
        font-size: 58px;
        margin-bottom: 20px;
    }

    .intro-panel h2 {
        font-size: 48px;
        margin-bottom: 20px;
    }

    .intro-panel p {
        line-height: 32px;
    }

    .contentRender_name_plugins_core_textbox,
    .contentRender_name_plugins_search_results,
    .contentRender_name_plugins_nav_sitemap,
    .contentRender_name_plugins_common_button,
    .contentRender_name_plugins_collections_template_custom_list,
    .contentRender_name_plugins_collections_template_custom_contacts,
    .contentRender > .blog-container,
    .contentRender_name_plugins_mediagallery_gallery,
    .contentRender_name_plugins_mediagallery_album,
    .contentRender_name_plugins_crm_formbuilder,
    .contentRender_name_plugins_events_submitevent  {
        width: 100%;
        max-width: 970px;
        padding: 0;
        margin: 0 auto;
    }

    .themed-panel {
        padding: 120px 0;
    }

    .themed-panel .bg-cont {
        width: 290px;
        height: 350px;
        background-size: auto !important;
        background-position: left !important;
    }

    .themed-panel.y-top .bg-cont {
        top: 0;
    }

    .themed-panel.cozumel_theme.y-top .bg-cont {
        top: 20px;
    }

    .themed-panel.y-bottom .bg-cont {
        bottom: 0;
    }

    .themed-panel.cozumel_theme.y-bottom .bg-cont {
        bottom: 20px;
    }

    .themed-panel.x-left .bg-cont{
        left: -130px;
    }

    .themed-panel.x-right .bg-cont {
        right: -130px;
    }

    .themed-panel.floral .bg-cont {
        width: 350px;
        height: 500px;
        background-size: contain !important;
    }

    .social-panel,
    .social-panel.has-title {
        padding-top: 0;
        display: flex;
    }

    .social-panel .top-section,
    .social-panel.has-title .top-section {
        max-width: 500px;
        width: 35%;
        padding: 45px 3vw 0;
    }

    .social-panel .top-section .logo-cont {
        margin: 0;
    }

    .social-panel .title-cont {
        text-align: left;
        padding: 0;
    }

    .social-panel .subtitle {
        letter-spacing: 3px;
        margin-bottom: 20px;
    }

    .social-panel .title {
        font-size: 45px;
        margin-top: 45px;
    }

    .social-panel .links .social-icons {
        justify-content: flex-start;
    }

    .social-panel .embed {
        flex: 1;
    }
}

.popout-image {
    text-align: center;
}

.popout-image a {
    position: relative;
    display: inline-block;
}

.popout-image .controls {
    position: absolute;
    bottom: 0px;
    right: 0px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    color: white;
    font-size: 17px;
    background-color: #c58e4b;
}

/****Vguide and Enews****/

.vguide {
    position: relative;
    padding: 13px 20px;
    border: 2px solid white;
    margin-bottom: 10px;
    z-index: 1;
    min-height: 100px;
}

.vguide .top-section {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5px;
}

.vguide .top-section .icon {
    color: white;
    font-size: 18px;
    margin-right: 8px;
}

.vguide .top-section .title {
    font-family: proxima-nova,sans-serif;
    font-weight: 700;
    color: white;
    margin: 0;
    text-transform: uppercase;
    font-size: 17px;
    letter-spacing: 2.72px;
    line-height: 1;
}

.vguide .top-section .desc {
    color: white;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.92px
    margin: 0;
    text-align: center;
}

.vguide .desc {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: 1.92px;
    margin: 0;
    color: white;
    text-align: center;
    text-transform: uppercase;
}

.vguide::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
    background: rgba(0, 0, 0, 0.3);
}

@media (min-width: 64.063em) {
    .vguide {
        padding: 25px 65px;
        min-height: 130px;
    }

    .vguide .top-section .title {
        font-size: 22px;
        letter-spacing: 3px;
    }

    .vguide .top-section .icon {
        font-size: 28px;
        margin-right: 12px;
    }

    .vguide .desc {
        font-size: 15px;
        line-height: 21px;
        letter-spacing: 3px;
    }
}

/****End Vguide and Enews****/

.footer-section {
    position: relative;
    padding-top: 265px;
    /* background: url("/includes/client_public/assets/images/footer-bg.png")bottom 100px center/cover no-repeat; */
    background-position: bottom 100px center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}

.footer-section .footer-top {
    padding: 0 15px;
}

.footer-section .footer-center {
    padding: 15px;
}

.footer-section .footer-logo {
    width: 100%;
    max-width: 330px;
    margin: 10px auto 20px;
}

.footer-section .footer-logo img {
    display: block;
    width: 100%;
}

.footer-section .footer-center .contentRender_name_plugins_core_textbox ul {
    margin: 0;
    list-style: none;
}

.footer-section .footer-center .contentRender_name_plugins_core_textbox ul li,
.footer-section .footer-center .contentRender_name_plugins_core_textbox p {
    text-align: center;
    color: white;
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 5px;
    text-shadow: 0 2px 3px rgba(0,0,0,0.5);
}

.footer-section .destinations {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 25px 15px 0;
    width: 100%;
    max-width: 980px;
    margin: auto;
    z-index: 1;
}

@media (max-width: 40em) {
    .footer-section .mobile-fixed{
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: 100;
    }

    .footer-section .destinations::before {
        content: "";
        position: absolute;
        left: -15px;
        top: 0;
        width: calc(100% + 30px);
        height: calc(100% + 15px);
        z-index: -1;
        background-color: #05487c;
    }
}

.footer-section .destinations .dest {
    width: 50%;
    margin-bottom: 15px;
}

.footer-section .destinations .dest a {
    font-size: 12px;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.footer-section .footer-bottom {
    padding: 20px;
    background-color: #05487c;
}

.footer-section .footer-bottom .copyright {
    text-align: center;
    color: white;
    font-size: 13px;
    line-height: 18px;
    margin-bottom: 15px;
}

.footer-section .footer-bottom .made-by {
    display: block;
    width: 100%;
    max-width: 200px;
    margin: 0 auto 10px;
}

.footer-section .footer-bottom .made-by img {
    display: block;
    width: 100%;
}

@media (min-width: 40.063em) {
    .footer-section .footer-top {
        display: flex;
        justify-content: center;
    }

    .footer-section .footer-top .contentRender_name_plugins_common_vguide,
    .footer-section .footer-top .contentRender_name_plugins_common_enews {
        width: 49%;
        max-width: 550px;
        margin: 0 8px;
    }

    .footer-section .destinations {
        padding: 0;
        background-color: transparent;
        justify-content: center;
        margin-top: 15px;
    }

    .footer-section .destinations .dest {
        width: auto;
        margin: 0 15px 15px;
    }

    .footer-section .destinations .dest a {
        font-size: 15px;
    }
}

@media (min-width: 64.063em) {
    .footer-section {
        /* background: url("/includes/client_public/assets/images/footer-bg.png")center/cover no-repeat; */
        background-position: center !important;
    }

    .footer-section .footer-logo {
        max-width: 670px;
        margin: 25px auto;
    }

    .footer-section .footer-top {
        margin-bottom: 20px;
    }

    .footer-section .footer-center .contentRender_name_plugins_core_textbox ul li {
        font-size: 16px;
    }

    .footer-section .footer-bottom {
        display: flex;
        align-items: center;
        justify-content: space-around;
        padding: 15px;
    }

    .footer-section .footer-bottom .made-by {
        margin: 0;
        max-width: 240px;
    }

    .footer-section .footer-bottom .copyright {
        margin: 0;
    }
}

.crm-extranet-login {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.expand-content-container {
	position: relative;
	max-height: 320px;
	overflow: hidden;
	padding-bottom: 45px;
	margin: 30px 0;
}

.expand-content-container.active {
	max-height: 100%;
}

.expand-content-container .cont-section {
	position: relative;
	max-height: 320px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
	mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}

.expand-content-container.active .cont-section {
	max-height: 100%;
	-webkit-mask-image: none;
	mask-image: none;
}

.expand-content-container .see-more {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 8px 24px;
	font-size: 14px;
	color: #2caae2;
	border: 2px solid #2caae2;
	background: white;
	text-transform: uppercase;
	z-index: 1;
	overflow: hidden;
	-webkit-transition: border-color 0.3s, color 0.3s;
	transition: border-color 0.3s, color 0.3s;
	-webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
	transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
	cursor: pointer;
}

.expand-content-container .see-more:hover {
	border-color: white;
	color: white;
}

.expand-content-container .see-more::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	-webkit-transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
	transform: rotate3d(0, 0, 1, -45deg) translate3d(0, -3em, 0);
	-webkit-transform-origin: 0% 100%;
	transform-origin: 0% 100%;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s, background-color 0.3s;
	transition: transform 0.3s, opacity 0.3s, background-color 0.3s;
}

.expand-content-container .see-more:hover::before {
	opacity: 1;
	background-color: #26a0de;
	-webkit-transform: rotate3d(0, 0, 1, 0deg);
	transform: rotate3d(0, 0, 1, 0deg);
	-webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
	transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

/* social share */
.add-this-panel {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 15px;
    margin: 0 auto 25px;
    width: 100%;
    max-width: 1000px;
}

.sv-share {
	padding: 0;
}

.sv-share-trigger {
	flex-direction: row-reverse;
	color: #41a9ab;
	font-family: proxima-nova,sans-serif;
	font-weight: bold !important;
	font-size: 13px;
	text-transform: uppercase;
	padding: 0;
}

.sv-share-trigger i {
	color: #41a9ab;
}

.sv-share-popover [data-sv-social-share] {
	--anchor-right: 0;
}