/*
 Theme Name:   Brandon Hall
 Description:  Custom theme
 Author:       Carnoustie Creative
 Author URI:   https://www.carnoustiecreative.co.uk
 Template:     baseline
 Version:      1.2.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  baseline-child


font-family: 'Kenao';
font-weight: 300;
font-style: normal;

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}


*/

@font-face {
    font-family: 'Kenao';
    src: url('kenao-webfont.woff2') format('woff2'),
         url('kenao-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

:root {
    --bh-saltpan: #EDF1EB;
    --bh-satin-linen: #E5DBCB;
    --bh-oxford-blue: #283C50;
    --bh-cognac: #9B320F;
    --bh-pampas: #F4F1EF;
    --bh-sanddrift: #BB9979;
    --bh-chunk-border: 2rem;
    --bh-border-radius: 2rem;
}

.baseline {
    --baseline-aos-distance: 20px;
    --baseline-aos-distance-negative: -20px;
}

.baseline .container {
    max-width: 1400px;
    width: 92%;
}

body.baseline {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.5;
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: clamp( 1.6rem, 1.7vw, 1.8rem);
}

body.baseline strong {
    font-weight: 500;
}

.baseline .cde-wide-text .wrapper .container {
    width: 92%;
}

.baseline h1,
.baseline h2 {
    font-family: 'Kenao';
    font-weight: 300;
    font-style: normal;
}

.baseline h1 {
    font-size: clamp(3.6rem, 4vw, 6rem);
}

.baseline h1.xl {
    font-size: clamp(4.2rem, 5vw, 7rem);    
}

.baseline h2 {
    font-size: clamp(3rem, 2.7vw, 5rem);
}

.baseline .overlap .inner h2 {
    margin-bottom: 2.5rem;
}

.baseline h3 {
    font-weight: 500;
    font-size: clamp(2.1rem, 2vw, 2.7rem);
    margin-bottom: 2.5rem;
}

.baseline .col-oxford-blue h4 em {
    color: var(--bh-satin-linen);
}

.baseline .large-text {
    font-size: clamp(1.8rem, 1.6vw, 2.3rem);
    line-height: 1.5;
}

.header-wrap .container {
    max-width: 96%;
    width: 96%;
}

.widget h2 + h4 {
    margin-top: -1rem;
    margin-bottom: 3rem;
}

.flex-elm.bh-pattern-bg {    
    background-color: #e5dbcb;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.2' fill-rule='nonzero'%3E%3Cpath d='M29 58.58l7.38-7.39A30.95 30.95 0 0 1 29 37.84a30.95 30.95 0 0 1-7.38 13.36l7.37 7.38zm1.4 1.41l.01.01h-2.84l-7.37-7.38A30.95 30.95 0 0 1 6.84 60H0v-1.02a28.9 28.9 0 0 0 18.79-7.78L0 32.41v-4.84L18.78 8.79A28.9 28.9 0 0 0 0 1.02V0h6.84a30.95 30.95 0 0 1 13.35 7.38L27.57 0h2.84l7.39 7.38A30.95 30.95 0 0 1 51.16 0H60v27.58-.01V60h-8.84a30.95 30.95 0 0 1-13.37-7.4L30.4 60zM29 1.41l-7.4 7.38A30.95 30.95 0 0 1 29 22.16 30.95 30.95 0 0 1 36.38 8.8L29 1.4zM58 1A28.9 28.9 0 0 0 39.2 8.8L58 27.58V1.02zm-20.2 9.2A28.9 28.9 0 0 0 30.02 29h26.56L37.8 10.21zM30.02 31a28.9 28.9 0 0 0 7.77 18.79l18.79-18.79H30.02zm9.18 20.2A28.9 28.9 0 0 0 58 59V32.4L39.2 51.19zm-19-1.4a28.9 28.9 0 0 0 7.78-18.8H1.41l18.8 18.8zm7.78-20.8A28.9 28.9 0 0 0 20.2 10.2L1.41 29h26.57z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 6rem 6rem;
}

.bh-pattern-bg .cde-shared-content {
    padding: 6rem;
}

.flex-elm.bh-pattern-bg.pattern-oxford-blue {
    background-color: #283C50;
    color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cg fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04' fill-rule='nonzero'%3E%3Cpath d='M29 58.58l7.38-7.39A30.95 30.95 0 0 1 29 37.84a30.95 30.95 0 0 1-7.38 13.36l7.37 7.38zm1.4 1.41l.01.01h-2.84l-7.37-7.38A30.95 30.95 0 0 1 6.84 60H0v-1.02a28.9 28.9 0 0 0 18.79-7.78L0 32.41v-4.84L18.78 8.79A28.9 28.9 0 0 0 0 1.02V0h6.84a30.95 30.95 0 0 1 13.35 7.38L27.57 0h2.84l7.39 7.38A30.95 30.95 0 0 1 51.16 0H60v27.58-.01V60h-8.84a30.95 30.95 0 0 1-13.37-7.4L30.4 60zM29 1.41l-7.4 7.38A30.95 30.95 0 0 1 29 22.16 30.95 30.95 0 0 1 36.38 8.8L29 1.4zM58 1A28.9 28.9 0 0 0 39.2 8.8L58 27.58V1.02zm-20.2 9.2A28.9 28.9 0 0 0 30.02 29h26.56L37.8 10.21zM30.02 31a28.9 28.9 0 0 0 7.77 18.79l18.79-18.79H30.02zm9.18 20.2A28.9 28.9 0 0 0 58 59V32.4L39.2 51.19zm-19-1.4a28.9 28.9 0 0 0 7.78-18.8H1.41l18.8 18.8zm7.78-20.8A28.9 28.9 0 0 0 20.2 10.2L1.41 29h26.57z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.flex-elm.bh-pattern-bg.pattern-oxford-blue h2,
.flex-elm.bh-pattern-bg.pattern-oxford-blue h3 {
    color: #fff;
}

.flex-elm.bh-pattern-bg.pattern-oxford-blue .col-none h2,
.flex-elm.bh-pattern-bg.pattern-oxford-blue .inner,
.flex-elm.bh-pattern-bg.pattern-oxford-blue .col-none {
    background-color: transparent;;
}

.header-wrap .container {
    width: 100%;
    max-width: 100%;
}

.baseline .header-wrap {
    background: transparent;    
    width: 100%;
    z-index: 4;
    height: 13vw;
    position: fixed;
}

.baseline .main {
    margin-top: 0;
}

#canvas.move-right {
    transform: none;
}

.baseline #menu-choices.slide-left, 
.baseline #menu-choices.slide-right {
    transition-duration: 0.3s;
    background-color: var(--bh-oxford-blue);
}

.baseline #canvas-overlay {
    z-index: 70;
}

#menu-choices-side a {
    font-size: 2.3rem;
    font-family: 'Kenao';    
}

body.baseline,
.baseline #menu-choices {
    overflow-y: visible;
}

.baseline #menu-choices .inner {
    position: sticky;
    top: 0;
}

.baseline .mobile-nav #menu-choices li.current-menu-item > a, 
.baseline .mobile-nav #menu-choices-side li.current-menu-item > a {
    color: var(--bh-sanddrift);
}

.baseline .mobile-nav #menu-choices li > a, 
.baseline .mobile-nav #menu-choices-side li > a {
    color: #fff;
}

.baseline .mobile-nav #menu-choices li, 
.baseline .mobile-nav #menu-choices-side li {
    background: transparent;
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.headtitle {
    display: grid;
    grid-template-columns: 1fr 12vw 1fr;
    grid-column-gap: 2rem;
    padding-bottom: 10%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    transition-duration: 0.5s;
    opacity: 1;
}

.header-not-at-top.baseline .headtitle {
    opacity: 0;
}

.headtitle_menuleft,
.headtitle_menuright {
    position: relative;
    height: 14rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 6vw;
}

.headtitle_menuleft .menu,
.headtitle_menuright .menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.headtitle_menuleft .menu li a,
.headtitle_menuright .menu li a {
    color: var(--bh-oxford-blue);
    font-size: clamp(1.3rem, 1.1vw, 1.45rem);
    font-weight: 400;
    letter-spacing: 0.1vw;
}

.headtitle_menuleft .menu li.current-menu-item a,
.headtitle_menuright .menu li.current-menu-item a {
    font-weight: 900;
}

.baseline .sm-headtitle {
    position: fixed;
    height: 8rem;
    width: 100%;
    background-color: var(--bh-oxford-blue);
    z-index: 9;
    box-sizing: border-box;
    transition-duration: 1s; 
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    transition-duration: 0.5s;
    margin-top: -8rem;    
}

@media ( max-width: 600px ) {

    .baseline .flex-elm, .baseline .flex-elm .wrapper {
        margin-top: 0;
    }

}

.baseline .mobile-headtitle {
    display: none;
    position: static;
}

.mobile-headtitle_right .widget-area.mobile-menubar ul.menu {
    justify-content: flex-end;
}

@media ( max-width: 1100px ) {

    .baseline .headtitle,
    .baseline .sm-headtitle  {
        display: none;
    }
    
    .baseline header {
        padding: 0;
    }

    .baseline .mobile-headtitle {        
        display: grid;
        grid-template-columns: 1fr 10rem 1fr;
        grid-column-gap: 3rem;    
        padding: 0.8rem 0.5rem 1rem 0.5rem;    
        background-color: transparent;
        transition-duration: 0.5s;    
    }

    .header-not-at-top.baseline .mobile-headtitle {
        background-color: var(--bh-oxford-blue);
    }

    .baseline header .mobile-headtitle .custom-logo {
        width: 100% !important;
        margin-top: 1rem;
        height: auto;
    }

    .baseline .header-wrap {
        background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
        height: 16rem;
        transition-duration: 0.5s;
    }

    .header-not-at-top.baseline .header-wrap {
        background: transparent;
    }

}


.baseline .mobile-headtitle_left {
    padding-top: 0.3rem;
}

.baseline header .mobile-headtitle_right li.button {
    padding: 0;
    margin-top: 0.5rem;
    margin-right: 0.5rem;
    background: transparent;    
}

.baseline .mobile-headtitle_right .button a {
    padding: 0.8rem 3vw;
    display: inline-block;
    font-size: 1.1rem;
    border: 0.2rem solid var(--bh-cognac);
    color: var(--bh-cognac);
    background: transparent;
    transition-duration: 0.5s;
}

.header-not-at-top.baseline .mobile-headtitle_right .button a {
    background-color: var(--bh-cognac);
    color: #fff;
}

.mobile-logo_holder {
    margin-top: 0.5rem;
    background-image: url('bh-logo-blue.svg');
    background-size: 10rem;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 8rem;
    transition-duration: 0.5s;
}

.header-not-at-top.baseline .mobile-logo_holder {
    background-image: url('bh-logo-small.svg');
    height: 3.7rem;
    background-size: 4rem;
}

.header-not-at-top.baseline  .sm-headtitle {
    margin-top: 0;  
}

.sm-headtitle .cde_submenu {
    margin-right: 5vw;
}

.cde_submenu > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

header li i {
    color: var(--bh-sanddrift);
}

.sm-headtitle_first {
    width: 100%;
}

.sm-headtitle_first #other-buttons .button {
    height: 100%;
}

.sm-headtitle_first div,
.sm-headtitle_first .widget {
    height: 100%;
}

.sm-logowrap {
    padding: 2rem;
    box-sizing: border-box;
}

.sm-headtitle_logo, .sm-logowrap {
    height: 100%;
}

.sm-headtitle_logo {
    margin: 0 2rem 0 1rem;
}

header .sm-headtitle_first .menu li.current-menu-item  a {
    font-weight: 700;
}

header .widget {
    margin-bottom: 0;
}

.cde_submenu,
.cde_submenu > * {
    width: 100%;    
}

.baseline img.sm-logo {
    height: 100%;
    width: auto;
}

.header-not-at-top.baseline .sm-headtitle {
    top: 0;
}

.baseline header .first .menu,
.baseline header .second .menu,
.baseline header .sm-headtitle_first .menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between  ;
    align-items: center;
}

header .first .widget.widget_text ul {    
    margin: 0;
    padding-left: 4vw;
    width: 100%;
    padding-right: 4vw;
}

.logo-columns {
    position: relative;
    z-index: 1;
}

.baseline .widget ul.menu {
    float: none;
}

.baseline header .first .cde_submenu {
    width: 100%;
    height: unset;
}

#sub-nav-loc {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.baseline header .button {
    color: #fff;    
    display: flex;
    flex-direction: column;
    justify-content: center;    
    padding-left: 3vw;
    padding-right: 3vw;
    margin-bottom: 0;
}

.baseline header .first .menu li {
    margin: 0;
}

.baseline header .first .menu li i {
    width: 2.2rem;
    display: block;
    color: var(--bh-sanddrift);
}

.baseline header .first .menu li.button {
    margin-right: 0;
}

.baseline header .first .menu li a {
    font-size: clamp(1.35rem, 1.4vw, 1.6rem);    
    line-height: 1.3;        
    text-align: center;
    text-decoration: none;
    color: #fff;    
    padding-left: 0;
    padding-right: 0;
}

.baseline header .first .menu li.current-menu-item a {
    font-weight: 900;
}

.baseline header .first .sub-menu {
    padding-top: 2rem;
}

.baseline header .first .sub-menu li a {
    font-size: 1.3rem;
    letter-spacing: 0.19rem;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
    line-height: 1.3;
}

.baseline header .custom-logo {
    width: clamp(10rem, 12vw, 18rem) !important;
    transition-duration: 0.5s;
}

@media ( max-width: 600px ) {

    .baseline header .custom-logo {
        width: 50vw !important;
        margin: 0;
    }

}

/* Collage trio */
.collage-trio .container {
    width: 100%;
    max-width: 100%;
}

.collage-trio .collage-wrap.il-tr {
    position: relative;
    padding-bottom: 10rem;
}

.collage-trio .collage-wrap .collage-text-wrap {
    position: absolute;
    width: calc(40% - 12rem);
    min-width: 20rem;
    bottom: 0;
    padding: 3vw;
    background-color: #fff;    
    margin-bottom: -1vw;
}

.collage-text-wrap h1 {
    margin-bottom: 0;
    font-size: clamp(3rem, 3.3vw, 6.5rem);
}

.collage-trio .collage-wrap ul {
    display: grid;
    grid-template-columns: 1fr 1fr 35%;
    grid-template-rows: 18vw 18vw;
    grid-gap: var(--bh-chunk-border);
}

.collage-trio ul li {
    background-position: center;
    background-size: cover;
    margin-bottom: 0;
    position: relative;
}

.collage-trio ul li:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;    
}

/* End of collage trio */



/* Animated hyperlinks */

.baseline .widget.widget_text a {
    text-decoration: none;
}

.baseline .inner a {
    border-bottom-color: transparent;
}

header .menu li a,
footer .menu li a,
.flex-elm .inner a:not(.button),
.letter li a {
    position: relative;    
    overflow: hidden;   
    padding-bottom: 0.3rem;
    text-decoration: none;        
    border-color: transparent;    
}

.inner p a {
    margin-top: 2rem;
}

header .menu li a,
footer .menu li a {
    color: #fff;
    font-size: clamp(1.3rem, 1.1vw, 1.45rem);
    letter-spacing: 0.1vw;
    text-transform: uppercase;
}


header .menu li a:before,
footer .menu li a:before,
.flex-elm .inner a:before,
.letter li a:before {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0%; 
    height: 2px; 
    background-color: var(--bh-cognac); 
    transition: width 0.3s;     
}

header .menu li a {
    padding: 0.5rem 0;
}

header .menu li a:before {
    bottom: 0;
}

header .menu li a:hover,
footer .menu li a:hover,
.flex-elm .inner a:hover,
.letter li a:hover  {
    text-decoration: none;
    border-bottom-color: transparent;
}


header .menu li a:hover:before,
footer .menu li a:hover:before,
.flex-elm .inner a:hover:before,
.letter li a:hover:before {
    width: 100%;
}


/* End of animated hyperlinks */

.baseline footer {
    padding-bottom: 0;
}

.footer-logo {
    margin: 5rem 0 2rem 0;
    text-align: center;
}

.footer-logo img {
    max-width: 12rem;
    height: auto;
}

#footer-bottom-container {
    background-color: var(--bh-oxford-blue);
    color: #fff;
    width: 100%;
    max-width: 100%;
    padding: 2rem 2%;
    margin: 0;
}

.widget-area.footer-bottom {
    margin-bottom: 0;
}

#footer-bottom-container a,
#footer-bottom-container p {
    color: #fff;
    margin-bottom: 0;
}

#home-intro.flex-elm {
    margin-top: -5vw;
    margin-left: 38%;
    padding-right: 3vw;
}

#home-intro .inner {
    padding: 0 5vw;
}

@media ( max-width: 1100px ) {

    #home-intro.flex-elm {
        margin-top: -7vw;
        margin-left: 36%;
        padding-right: 3vw;
    }
    
    #home-intro .inner {
        padding: 0 2vw;
    }

}

@media ( max-width: 600px ) {

    #home-intro.flex-elm {
        margin-top: 0;
        margin-left: 2%;
        padding-right: 2%;
    }


}

.flex-elm.narrow .inner {
    max-width: 70rem;
    margin: 0 auto;
}

.flex-elm.limit-width .inner {
    max-width: 70rem;    
}

.baseline .cde-text-left-image-right.overlap,
.baseline .cde-image-left-text-right.overlap  {
    grid-gap: 0;
    align-items: center;
}


.baseline .cde-text-left-image-right.overlap .img {
    margin-left: -7vw;
}

.baseline .cde-image-left-text-right.overlap .img {
    margin-right: -7vw;
}

.baseline .cde-text-left-image-right.overlap .img,
.baseline .cde-image-left-text-right.overlap .img {
    height: 33vw;
    z-index: 3;
}
.baseline .cde-text-left-image-right.overlap .left .inner,
.baseline .cde-image-left-text-right.overlap .right .inner {
    padding: 8rem 5rem;
}

.baseline .cde-text-left-image-right.overlap .left .inner {
    padding-right: 15rem;
}

.baseline .cde-image-left-text-right.overlap .right .inner {
    padding-left: 15rem;
}

@media ( max-width: 1000px ) {


    .baseline .cde-text-left-image-right.overlap .left .inner {
        padding-right: 4rem;
    }
    
    .baseline .cde-image-left-text-right.overlap .right .inner {
        padding-left: 4rem;
    }

    .baseline .cde-text-left-image-right.overlap .left .inner {
        padding: 4rem 6rem 4rem 1rem;
    }

    .baseline .cde-image-left-text-right.overlap .right .inner {
        padding: 4rem 1rem 4rem 6rem;
    }
    

}

/* Image header */

.cde-image-header {
    height: calc(75vh + 6rem);        
}

@media ( max-width: 600px ) {

    .cde-image-header {
        height: calc(55vh + 6rem);        
    }

}

#home-hero.cde-image-header {
    height: 90vh;        
}

@media ( max-width: 600px ) {

    #home-hero.cde-image-header {
        height: 70vh;        
    }

}

.cde-image-header .wrapper {
    position: relative;
    z-index: 1;      
}

.cde-image-header .container {
    position: static;   
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    height: 100%;
    padding-top: 10.5vw;    
    padding-bottom: 3vw;  
}

.cde-image-header .img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-size: cover;
}

@keyframes zoomPan {
    0% {
      background-size: 100%;
      background-position: 50% 20%;
    }
    100% {
      background-size: 112%;
      background-position: top right;
    }
  }

  @keyframes zoomPanPort {
    0% {
      background-size: cover;
      background-position: center;
    }
    100% {
      background-size: cover;
      background-position: 50% 50%;
    }
  }


.cde-image-header.no-screen-overlay .img:after {
    display: none;
}

.cde-image-header .img:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(45deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.1) 100%);
}

.cde-image-header .inner {
    position: relative;
    z-index: 1;
    color: #fff;
    max-width: 45vw;
}

@media ( max-width: 1100px ) {

    .cde-image-header .inner {
        max-width: 60%;
    }

}

@media ( max-width: 800px ) {

    .cde-image-header .inner {
        max-width: 80%;
    }

}

.cde-image-header .inner h1, 
.cde-image-header .inner h2,
.cde-image-header .inner h3 {
    color: #fff;
}


.img-draw-in .swiper-slide,
.cde-image-header {
    animation-fill-mode: forwards;
    clip-path: inset(100% 0 0 0);    
}

.cde-image-header .img,
.swiper-slide_img {
    animation-fill-mode: forwards;
    transform: scale(1.1);
    overflow: hidden;
}

.fully-loaded .img-draw-in .swiper-slide,
.fully-loaded .cde-image-header { 
    -webkit-animation-name: draw-in-from-bottom;
    animation-name: draw-in-from-bottom;    
    webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;    
}

.fully-loaded .cde-image-header .img,
.fully-loaded .swiper-slide_img  {    
    animation: hero-zoom 5s cubic-bezier(0, 0, 0.28, 1) forwards;
}

@keyframes draw-in-from-bottom {
    0% {
        clip-path: inset(100% 0 0 0);    
    }
    100% {
        clip-path: inset(0% 0 0 0);
    }
}

@keyframes draw-in-from-right {
    0% {
        clip-path: inset(0 0 0 100%);
    }
    100% {
        clip-path: inset(0 0 0 0%);
    }
}

@keyframes draw-in-from-left {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0 0% 0 0);
    }
}

@keyframes hero-zoom { 
    to { transform: scale(1); } 
}


[data-aos="draw-in-from-left"].aos-animate {
    -webkit-animation-name: draw-in-from-left;
    animation-name: draw-in-from-left;
    webkit-animation-duration: 1.6s;
    animation-duration: 1.6s;
}

[data-aos="draw-in-from-right"].aos-animate {
    -webkit-animation-name: draw-in-from-right;
    animation-name: draw-in-from-right;
    webkit-animation-duration: 1.6s;
    animation-duration: 1.6s;
}

/* End of image header */


.baseline .button,
.baseline .woocommerce #respond input#submit,
.baseline .woocommerce a.button,
.baseline .woocommerce button.button,
.baseline .woocommerce input.button,
.baseline button,
.baseline input[type=button],
.baseline input[type=reset],
.baseline  input[type=submit] {
    padding: 2.3rem 5rem;
    font-weight: 700;
}

.baseline .mobile-nav li.button {
    padding: 0.7rem 3rem;
}

.inner_linklist em,
#inner-page-menu .item-label {
    font-style: normal;
    text-transform: uppercase;
    font-weight: 400;
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    letter-spacing: 0.1vw;    
}

.baseline .flex-elm .inner_linklist a {
    color: var(--bh-satin-linen);
}

.baseline .flex-elm .inner_linklist a:after {
    content: "\f178";
    font-family: "Font Awesome 7 Pro";
    color: var(--bh-sanddrift);
    font-weight: 300;
    margin-left: 0.8rem;    
}

.meeting-rooms .item-label {
    font-size: clamp(1.9rem, 1.7vw, 2.3rem);
    font-weight: 600;
    border-bottom: 0.1rem solid #fff;
    margin-bottom: 2rem;
    padding-bottom: 0.7rem;
}

.meeting-rooms.smaller .item-label {
    border-bottom: 0.1rem solid var(--bh-satin-linen);
}

.meeting-rooms .before {
    margin-bottom: 4rem;
}

.meeting-rooms .item-content i {
    color: var(--bh-cognac);
}

.baseline .image-grid-wrap ul {
    padding: var(--cde-grid-gap) 0;
}

.bh-pattern-bg .cde-shared-content > p {
    max-width: 70rem;
    margin: 0 auto 4rem auto;
}

#wedding-gal .image-grid-wrap .cols-four,
#wedding-gal .image-grid-wrap .cols-three {
    grid-gap: 1rem;
} 

#wedding-gal .container {
    max-width: 96%;
}

#wedding-gal .text {
    background-color: var(--bh-oxford-blue);
    color: #fff;
    padding: 10rem 6rem 10rem 16rem;
    margin-left: -14rem;
    margin-top: 5rem;
    margin-bottom: 5rem; 
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#wedding-gal .image-grid-wrap .lightbox li {
    background-color: var(--bh-pampas);
}

#wedding-gal .image-grid-wrap .lightbox li:hover {
    opacity: 1;
}

#wedding-gal .image-grid-wrap .lightbox li:hover img {
    opacity: 0.7;
}

.baseline #wedding-gal .image-grid-wrap ul {
    padding-bottom: 0;
}

#wedding-gal .text h2,
#wedding-gal .text h3,
#wedding-gal .text h4 {
    color: #fff;
}

#wedding-gal.cde-gallery-grid.grid-left .image-grid-wrap {
    grid-template-columns: 60% 1fr;
}

@media ( max-width: 1200px ) {

    #wedding-gal.cde-gallery-grid.grid-left .image-grid-wrap {
        grid-template-columns: 1fr;
        grid-template-areas: unset;
    }

    #wedding-gal.cde-gallery-grid.grid-left .image-grid-wrap ul,
    #wedding-gal.cde-gallery-grid.grid-left .image-grid-wrap .text {
        grid-area: unset;
    }
    
    #wedding-gal.cde-gallery-grid.grid-left .image-grid-wrap .text {
        padding: 6rem 6rem 20rem 6rem;
        margin-left: 5vw;
        margin-right: 5vw;
        margin-bottom: -14rem;
    }
    
    #wedding-gal .container {
        max-width: inherit;
    }

    
}

.cde-grid-item.has-bgcolor {
    border-radius: var(--bh-border-radius);
}

/* Testimonials - grid/flickty */

.testi .flickity-viewport {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
    margin-bottom: 2rem;
}

.testi.flex-elm.col-satin-linen .col-none {
    background-color: transparent;
}

.testi .container {
    width: 100%;
    max-width: 100%;    
}

.testi .cde-grid-item {        
    width: 100%;        
    box-sizing: border-box;    
}

.testi .cde-grid-item-inner {    
    margin: 0 15%;    
    border-radius: var(--bh-border-radius);
    background-color: #fff;                
    padding: 8rem;
    color: #000;
    text-align: center;        
    display: grid;
    grid-template-areas: "testi-top"
                         "testi-bottom";
    grid-column-gap: 4rem;
}

.testi .flickity-button {
    display: none;
}

.testi .flickity-slider {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.testi .cde-grid-item-inner .item-label {
    grid-area: testi-bottom;
    opacity: 0.8;
}

.testi .cde-grid-item-inner .item-content {
    font-size: clamp(1.7rem, 3vw, 2rem);    
}

.testi .xl .cde-grid-item-inner .item-content {
    font-size: clamp(2.3rem, 2vw, 3rem);
}

.baseline .flickity-page-dots .dot.is-selected {
    background: var(--bh-cognac);
}

@media ( max-width: 720px ) {

    .testi .cde-grid-item-inner {
        margin: 0 2rem;
        padding: 3rem;
    }

    .testi .cde-grid-item-inner .item-label {
        font-size: 1.5rem;
    }

}

.testi.flex-elm.col-satin-linen .col-none p {
    background-color: transparent;
}

.testi .item-label {
    text-transform: uppercase;
    font-size: 1.6rem;
    letter-spacing: 0.1rem;
    margin: 1rem 0;
}

.testi .item-subtitle {
    font-family: 'Lato';
    font-weight: 400;
    font-size: clamp(2.2rem, 2.1vw, 2.7rem);
    color: var(--bh-oxford-blue);
    line-height: 1;
}

.testi .item-subtitle:before {
    content: "\201C";
    font-size: clamp(3.9rem, 3.5vw, 5rem);    
    opacity: 0.3;
    margin-right: 0.7rem;
    position: relative;
    top: 0.6rem;
    line-height: 1;
}

.testi .item-subtitle:after {
    content: "\201D";
    font-size: clamp(3.9rem, 3.5vw, 5rem);
    opacity: 0.3;
    margin-left: 0.7rem;
    position: relative;
    top: 0.6rem;
    line-height: 1;
}

/* End of testimonials */

/* Collapsible */

.cde-toggle-label {
    padding: 2.5rem;
    padding-right: 8rem;
    border: 0.1rem solid #ccc;
    border-radius: 0.5rem;
}

.cde-toggle-label:hover {
    border-color: var(--exa-turquoise);
}

.baseline input.cde-toggle:checked + .cde-toggle-label:before {
    content: "\f078";    
    transform: ;
    top: 50%;    
    transform: translate(-50%, -50%)  rotate(180deg);
    right: 0.5rem;
}

.baseline .cde-toggle-label:before {
    content: "\f078";
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-family: "Font Awesome 6 Pro";
    color: var(--exa-leaf);
    position: absolute;
    right: 3rem;
    transition-duration: 0.3s;
    background-color: transparent;
    font-size: 3rem;
    line-height: 1.4;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 50%;    
    transform: translate(-50%, -50%);
    right: 0.5rem;
}

@media ( max-width: 600px ) {

    .baseline .cde-toggle-label {
        font-size: 1.7rem;
        line-height: 1.4;
        padding: 2rem;
        padding-right: 8rem;
    }    

}

.baseline .flex-elm .cde-panel {
    padding: 4rem;
    background-color: #fff;    
    box-sizing: border-box;
    border-radius: 0.5rem;
}

.cde-collapsible .before {
    margin-bottom: 3.5rem;
}

/* End of collapsible */

#inner-page-menu .container {
    padding: 8rem 0;
}

#inner-page-menu .cde-grid-item a {
    display: block;
    border-bottom: none;
    transition-duration: 0.5s;
    border-radius: var(--bh-border-radius);
    margin-bottom: 0;
    padding-bottom: 0;    
    line-height: 0.5;
}

.cde-text-left-image-right .left.has-bgcolor,
.cde-image-left-text-right .left.img {
    border-top-right-radius: var(--bh-border-radius);
    border-bottom-right-radius: var(--bh-border-radius);
}

.cde-text-left-image-right .right.img,
.cde-image-left-text-right .right.has-bgcolor {
    border-top-left-radius: var(--bh-border-radius);
    border-bottom-left-radius: var(--bh-border-radius);
}


.flex-elm.cde-image-left-text-right.has-bgcolor {
    border-radius: var(--bh-border-radius);
}

#inner-page-menu .cde-grid-item a > .item-label,
#inner-page-menu .cde-grid-item a > .item-subtitle {
    line-height: 1;
}

#inner-page-menu .cde-grid-item a:hover {
    transform: scale(1.08);
}

#inner-page-menu .item-image img {
    aspect-ratio: 1/0.8;
    object-fit: cover;
}

.cde-grid-list.flex-elm .inner a {
    border-bottom: none;
}

.cde-grid-list.flex-elm .inner a:before {
    display: none;
}

#inner-page-menu .item-label,
#inner-page-menu .item-subtitle {
    padding: 1rem;
    background-color: #fff;
}

#inner-page-menu .item-label {
    padding-top: 3rem;    
    text-align: center;    
}

#inner-page-menu .item-label span {
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid var(--bh-satin-linen);
    transition-duration: 0.6s;
}

#inner-page-menu .cde-grid-item a:hover .item-label span {
    border-bottom-color: var(--bh-cognac);
}

#inner-page-menu .item-subtitle {
    font-family: 'Kenao';
    font-weight: 300;    
    padding-top: 2rem;
    padding-bottom: 4rem;
    text-align: center;
    color: var(--bh-oxford-blue);
    font-size: clamp(2.3rem, 1.8vw, 2.6rem);
}

.baseline .gallery .prev-next .next-fig:after,
.baseline .gallery .prev-next .prev-fig:after,
.baseline .gallery .lightbox-buttons .lightbox-expand:after {
    font-family: "Font Awesome 7 Pro";
    font-weight: 400;
}

#facilities .before {
    max-width: 70rem;
    margin: 0 auto 5rem auto;
}

#facilities .cde-grid-item-inner {
    background-color: var(--bh-oxford-blue);
    color: var(--bh-satin-linen);
    padding: 2rem;
    min-height: 11.5rem;
    border-radius: var(--bh-border-radius);
}

#facilities .grid-list.cols-0 {
    justify-content: center;
}

#facilities .cde-grid-item {
    width: 15rem;    
}

#facilities .item-label {
    padding-top: 1rem;
    margin-top: 2rem;
    border-top: 0.1rem solid rgba(255, 255, 255, 0.2);
    color: #fff;
    line-height: 1.3;
    font-size: 1.6rem;
    text-align: center;
}

#facilities .item-icon {
    text-align: center;
}

#facilities .item-icon i {
    font-size: 4rem;
}

@media ( max-width: 600px ) {

    #facilities .cde-grid-item-inner {          
        padding: 1.4rem;
        min-height: 9rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    #facilities .item-label {
        padding-top: 1rem;
        margin-top: 1rem;
        border-top: 0.1rem solid rgba(255, 255, 255, 0.2);
        color: #fff;
        line-height: 1.3;
        font-size: 1.4rem;
        text-align: center;
    }

    #facilities .item-icon i {
        font-size: 3rem;
    }

    #facilities .cde-grid-item {
        width: 10rem;    
    }
    
}

.rooms .flex-elm .right ul {
    margin-left: 3rem;
}

.rooms .flex-elm .right ul li {
    position: relative;
}

.rooms .flex-elm .right ul li:before {
    position: absolute;
    top: 0.3rem;
    left: -2.6rem;
    content: "\f2ec";
    font-family: "Font Awesome 7 Pro";
    transform: rotate(90deg);
    margin-right: 1rem;
    font-size: 1.2rem;
    color: var(--bh-cognac);
    font-weight: 900;
}

.baseline #footer-top-container {
    padding: 4rem 0 4rem 0;
}

.baseline footer .widget-area .menu li:after {
    opacity: 0.2;
    margin: 0 3rem;
}

footer .widget-area .menu li:last-child:after {
    margin: 0;
}

footer .fa-light {
    color: var(--bh-cognac);
}

.footer-phone:before {
    content: "";
    display: block;
    margin: 1rem auto 3rem auto;
    width: 30vw;
    background-color: rgba(255, 255, 255, 0.1);
    height: 0.1rem;
}

.footer-phone {
    position: relative;
    margin-top: 3rem;
}

.footer-phone,
.footer-address {
    text-align: center;
}

.footer-address {
    margin: 2rem 0;
}

.footer-address p {
    margin-bottom: 0;
    font-size: 1.6rem;
}

.footer-address-link a {
    text-transform: uppercase;
    font-size: 1.4rem;
}

.footer-address-link {
    margin-top: 1rem;
}

.cde-box-menu .box-menu-item.post-type-offer .img {
    aspect-ratio: 1/0.6;
    height: auto;    
}

.cde-box-menu .box-menu-item.post-type-offer .img:before {
    border-radius: var(--bh-border-radius);
}

.cde-box-menu .box-menu-item.post-type-offer a {
    background-color: #fff; 
    display: block;
    padding: 2rem;
    border-radius: var(--bh-border-radius);
}

.cde-box-menu .box-menu-item.post-type-offer h2 {
    font-size: 3rem;
    margin-top: 1.9rem;
}

.single-offer .content.container {
    padding-top: 5rem;
}

.single-offer .main {
    margin-top: 5rem;
    margin-bottom: 5rem;    
}

.single-offer .offer-bottom {
    margin-top: 4rem;
}

@media ( max-width: 720px ) {

    .logotitle .logo {
        border-left: var(--bh-chunk-border) solid var(--bh-saltpan);
    }

}

.baseline #hamburger {
    background: transparent;
}

.baseline #hamburger #div-1,
.baseline #hamburger #div-2,
.baseline #hamburger #div-3 {
    background-color: var(--bh-sanddrift);
    width: 3.5rem;
}

#canvas > .mobile-nav.left {
    background-color: #fff;
    margin-bottom: 1.8rem;
}

@media (max-width: 960px) {

    .collage-trio .collage-wrap ul {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 30vw 30vw 30vw;
    }

}

@media (max-width: 720px) {

    .baseline .cde-image-left-text-right .img, 
    .baseline .cde-text-left-image-right .img {
        margin-bottom: 0;
    }

}

@media ( max-width: 600px ) {

    .collage-trio .collage-wrap .collage-text-wrap {
        position: static;
        margin-top: var(--bh-chunk-border);    
        padding: 6%;
    }

    .collage-trio .collage-wrap.il-tr {
        padding-bottom: 1rem;
    }

    .baseline .cde-image-left-text-right .left.img, 
    .baseline .cde-text-left-image-right .right.img {
        min-height: 30rem;
    }

}

@media ( max-width: 600px ) {


    .baseline footer .widget-area .menu li {
        display: block;
        margin-bottom: 1rem;
    }

    .baseline footer .menu li a {
        display: block;
    }

    .baseline footer .widget-area .menu li:after {
        display: none;
    }

}


.cde-text-left-image-right.no-max-width  .left .inner,
.cde-image-left-text-right.no-max-width  .right .inner {
    max-width: unset;
}


.main .image-wrapper-horz img {
    border-radius: var(--bh-border-radius);
}

.baseline .image-wrapper-horz {
    padding-left: 0;
    margin-right: 2rem;
}

.baseline .is-fullwidth .image-wrapper-horz {
    margin-right: 0;
    padding-left: 2rem;
}


.gallery-horz-wrap .text {
    margin-bottom: 4rem;
}

.container .cde-wide-text.has-bgimage .wrapper,
.container .cde-wide-text.has-bgimage .wrapper:before {
    border-radius: var(--bh-border-radius);
}

.baseline.single .main,
.no-image-header .main {
    margin-top: 20rem;
}

.baseline.single .hero {    
    aspect-ratio: 1/0.5;
    height: auto;
    background-image: cover;
    background-position: center;
}

.baseline.single .hero,
.baseline.single .content.container,
.cde-shared-content-elm.has-bgcolor,
.cde-shared-content-elm.bh-pattern-bg {
    border-radius: var(--bh-border-radius);
}

.places .cde-grid-item-inner {
    background-color: #fff;
    border-radius: var(--bh-border-radius);
    height: 100%;
}

.places .item-label,
.places .item-content {
    padding: 2rem;
}

.places .item-label {
    font-weight: 600;
    font-size: clamp(2rem, 1.6vw, 2.6rem);    
    border-bottom: 0.1rem solid var(--bh-sanddrift);
}

.places .item-image img {
    height: 25vw;
    width: 100%;
    object-fit: cover;
    border-top-left-radius: var(--bh-border-radius);
    border-top-right-radius: var(--bh-border-radius);
}

.flex-elm.places .col-none .item-content a {
    position: relative;
    font-weight: 700;
    color: var(--bh-cognac);
}

.places .item-content a:after {
    content: "\f08e";
    font-family: "Font Awesome 7 Pro";
    margin-left: 1rem;
    color: var(--bh-sanddrift);
    font-weight: 400;
}

.flex-elm .col-white .inner h2 {
    color: var(--bh-oxford-blue);
}

.empty-message {
    text-align: center;
}


.baseline #wis2-panel .wis2-panel--horizontal.fixed {
    background-color: var(--bh-satin-linen);
    position: static;
    color: var(--bh-oxford-blue); 
}

.baseline #wis2-panel .wis2-button--primary {
    background-color: var(--bh-cognac);
    border-color: var(--bh-cognac)    ;
}

.room-deets {
    min-height: 33vw;
}

.room-deets .left figure {
    border-radius: var(--bh-border-radius);
    min-height: 33vw;
}

.cde-image-left-text-right.room-deets .right {
    height: 100%;
    box-sizing: border-box;
}

.cde-image-left-text-right.room-deets .right .inner {
    background-color: #fff;
    padding: 6rem 6rem 6rem 10rem;
    border-radius: var(--bh-border-radius);
    margin-left: -3rem;
}

@media ( max-width: 720px ) {

    .cde-image-left-text-right.room-deets .right .inner {
        margin-top: -3rem;
        margin-left: auto;
        padding: 8rem 4rem 4rem 4rem;
    }

}

.cde-image-left-text-right.room-deets, 
.cde-text-left-image-right.room-deets {
    grid-gap: 0;
}

.menu li.menu-item-social a {    
    font-size: 2rem;
    transition-duration: 0.2s;
    width: 2.5rem;
    display: block;
}

.menu li.menu-item-social i {
    color: var(--bh-cognac);
}

.menu li.menu-item-social:hover a {
    transform: scale(1.2);
}

.menu li.menu-item-social a:before {
    content: unset;
}

.text-block h2 {
    margin-top: 3.5rem;
}

.text-block h3 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}