:root {
    --color-1: #0f2d52;
    --color-2: #0b1b2d;
    --color-3: #C5B683;
    --color-4: #FFFFFF;

    --swiper-navigation-color: #0f2d52;
    --swiper-navigation-sides-offset: -40px;
}
@media screen and (max-width: 767px) {
    :root {
        --swiper-navigation-sides-offset: 10px;
    }
}

* {
    position: relative;
    box-sizing: border-box;
    scroll-behavior: smooth;
    margin: 0;
    font-family: 'Source Sans 3', Helvetica, sans-serif;
}

body, p {
    font-size: 18px;
    line-height: normal;
    color: var(--color-1);
}

h1,.h1 {
    font-size: 48px;
    line-height: normal;
    color: var(--color-1);
    margin: 0;
    font-family: "Noto Serif", serif;
}
h2,.h2 {
    font-size: 40px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.25;
    font-family: "Noto Serif", serif;
}
h3,.h3 {
    font-size: 32px;
    font-family: "Noto Serif", serif;
}
h4,.h4 {
    font-size: 24px;
    font-weight: 600;
    font-family: "Noto Serif", serif;
}
h5,.h5 {
    font-family: "Noto Serif", serif;
}
h6,.h6 {
    font-family: "Noto Serif", serif;
}
h1.font-br {
    font-family: 'BonheurRoyale', 'Brush Script MT', cursive;
    font-weight: 200;
    font-size: 100px;
    line-height: .84;
}
.noto-serif {
    font-family: "Noto Serif", serif;
}
.font-sans {
    font-family: 'Source Sans 3', Helvetica, sans-serif;
}
@media screen and (max-width: 767px) {
    body, p {
        font-size: 19px;
    }
    h1,.h1 {
        font-size: 35px;
    }
    h2,.h2 {
        font-size: 28px;
    }
    h1.font-br {
        font-size: 50px;
    }
}

.color-1 {
    color: var(--color-1);
}
.color-2 {
    color: var(--color-2);
}
.color-3 {
    color: var(--color-3);
}
.color-4 {
    color: var(--color-4);
}

.bg-color-1 {
    background-color: var(--color-1);
}
.bg-color-2 {
    background-color: var(--color-2);
}
.bg-color-3 {
    background-color: var(--color-3);
}
.bg-color-4 {
    background-color: var(--color-4);
}

.text-10 {
    font-size: 10px;
}
.text-12 {
    font-size: 12px;
}
.text-14 {
    font-size: 14px;
}
.text-20 {
    font-size: 20px;
}
.text-22 {
    font-size: 22px;
}

a {
    color: var(--color-1);
}
a:hover {
    color: var(--color-3);
}

header a.nav-logo {
    display: block;
    max-width: 165px;
}
header nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header nav ul li a {
    text-decoration: none;
    text-transform: uppercase;
    color: var(--color-1);
    font-weight: 500;
    font-size: 16px;
}
header nav ul li a:hover {
    /*text-decoration: underline;*/
}
header nav ul li ul {
    position: absolute;
    z-index: 999;
    background-color: var(--color-4);
    top: 25px;
    left: -125px;
    display: block;
    width: 350px;
    padding: 25px 0;
    text-align: center;
    border-radius: 10px;

    display: none;
}
header nav ul li:hover ul {
    display: block;
}

#menu-toggle {
    display: none;

    position: absolute;
    top: 50%;
    right: 35px;
    transform: translateY(-50%);

    z-index: 999;

    -webkit-user-select: none;
    user-select: none;
}
#menu-toggle input {
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: -7px;
    left: -5px;

    cursor: pointer;

    opacity: 0; /* hide this */
    z-index: 9999; /* and place it over the hamburger */

    -webkit-touch-callout: none;
}
#menu-toggle span {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;

    background: #0b1b2d;
    border-radius: 3px;

    z-index: 999;

    transform-origin: 4px 0px;

    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                opacity 0.55s ease;
}
#menu-toggle span:first-child {
    transform-origin: 0% 0%;
}
#menu-toggle span:nth-last-child(2) {
    transform-origin: 0% 100%;
}
#menu-toggle input:checked ~ span {
    opacity: 1;
    transform: rotate(45deg) translate(0, -2px);
    background: #0b1b2d;
}
#menu-toggle input:checked ~ span:nth-last-child(2) {
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}
#menu-toggle input:checked ~ span:nth-last-child(1) {
    transform: rotate(-45deg) translate(0, -2px);
}
@media screen and (max-width: 767px) {
    #menu-toggle {
        display: block;
    }
    header .column {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    header a.nav-logo {
        max-width: 125px;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    header nav {
        position: fixed;
        z-index: 99;
        top: 0;
        right: -125%;
        width: 100vw;
        height: 100vh;
        background-color: var(--color-4);
        padding: 75px 35px 50px 50px;
        transition: all .5s ease-in-out;
    }
    header nav.open {
        right: 0;
    }
    header nav ul {
        display: block;
        text-align: right;
    }
    header nav ul li {
        margin-bottom: 20px;
    }
    header nav ul li a {
        font-size: 22px;
        font-weight: 600;
    }
    header nav ul li ul {
        display: block;
        position: relative;
        text-align: right;
        top: unset;
        left: unset;
        width: unset;
        padding: unset;
    }
    header nav ul li ul li {
        margin-bottom: 5px;
    }
    header nav ul li ul li a {
        font-size: 18px;
    }
}

.footer-nav {

}
.footer-nav p,
.footer-nav a {
    display: block;
    text-decoration: none;
    color: var(--color-1);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 16px;
    color: var(--color-4);
}
.footer-nav a:hover {
    color: var(--color-3);
}
.sub-footer-nav a {
    display: inline-block;
    margin: 0 20px 0 0;
    text-decoration: none;
    color: var(--color-1);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 14px;
    color: var(--color-4);
}
.sub-footer-nav a:hover {
    color: var(--color-3);
}

.header-overlay:after {
    content: "";
    border-radius: inherit;
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(15,45,82,1) 0%, rgba(255,255,255,0) 100%);
}
.overlay-color-1:after {
    content: "";
    border-radius: inherit;
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    background: rgba(0, 68, 124, 0.81);
}
.overlay-color-2:after {
    content: "";
    border-radius: inherit;
    display: inline-block;
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    background: rgb(43, 99, 145, .89);
}

.button {
    text-transform: uppercase;
    color: var(--color-4);
    cursor: pointer;
    font-weight: 500;
    font-size: 16px;
    border-radius: 8px;
    line-height: 1.5;
    display: inline-block;
    text-decoration: none !important;
    padding: 12px 20px;
    transition: all .2s ease-in-out;
    border-radius: 8px;
    background: #A99A66;
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
}
.button:hover {
    color: #ffffff;
}
.button:before{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 8px;
    z-index: 0;
    background: var(--color-1);
    transition: all .35s;
}
.button:hover:before{
    width: 100%;
}
.button.hover-outline-white:hover {
    border: 1px solid var(--color-4);
}

.button.outline {
    color: var(--color-3);
    border: 2px solid var(--color-3);
    background: transparent;
}
.button.outline.blue {
    color: var(--color-1);
    border: 2px solid var(--color-1);
    background: transparent;
}
.button.outline:hover {
    color: var(--color-4);
    border-color: transparent;
}

.play-video-button {
    /*position: absolute;*/
    z-index: 10;
    /*top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);*/
    box-sizing: content-box;
    display: block;
    width: 32px;
    height: 44px;
    border-radius: 50%;
    padding: 18px 20px 18px 28px;
    cursor: pointer;
}

.play-video-button:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 80px;
    height: 80px;
    background: var(--color-4);
    border-radius: 50%;
    animation: pulse-border 2000ms ease-out infinite;
}
.play-video-button:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    display: block;
    width: 80px;
    height: 80px;
    background: var(--color-1);
    border-radius: 50%;
    transition: all 500ms;
}
.play-video-button:hover:after {
    background-color: darken(var(--color-4), 50%);
}
.play-video-button img {
    position: relative;
    z-index: 3;
    max-width: 100%;
    width: auto;
    height: auto;
}
.play-video-button span {
    display: block;
    position: relative;
    z-index: 3;
    width: 0;
    height: 0;
    border-left: 32px solid #fff;
    border-top: 22px solid transparent;
    border-bottom: 22px solid transparent;
}
@keyframes pulse-border {
    0% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1);
        opacity: 1;
    }
    100% {
        transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1.5);
        opacity: 0;
    }
}
.video-overlay {
    position: fixed;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.80);
    opacity: 0;
    transition: all ease 500ms;
}
.video-overlay.open {
    position: fixed;
    z-index: 1000;
    opacity: 1;
}
.video-overlay-close {
    position: absolute;
    z-index: 1000;
    top: 15px;
    right: 20px;
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: all 200ms;
}
.video-overlay-close:hover {
    color: #fa183d;
}
.video-overlay iframe {
    box-shadow: 0 0 15px rgba(0,0,0,0.75);
}

.review-overlay {
    position: fixed;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.80);
    opacity: 0;
    transition: all ease 500ms;
}
.review-overlay.open {
    position: fixed;
    z-index: 1000;
    opacity: 1;
}
.review-overlay-close {
    position: absolute;
    z-index: 1000;
    top: 15px;
    right: 20px;
    font-size: 36px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: all 200ms;
}
.review-overlay-close:hover {
    color: #fa183d;
}

.fw-divider {
    width: 100%;
    height: 12px;
    background: var(--color-3);
}

.rect-img {
    position: relative;
}
.rect-img::after {
    content: "";
    display: block;
    padding-bottom: 65%;
}
.rect-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.comm-jump-nav > a {
    display: block;
    font-size: 20px;
    text-decoration: none;
    color: var(--color-1);
    background: var(--color-4);
    cursor: pointer;
    border-radius: 10px;
    font-weight: 700;
    text-align: center;
}
.comm-jump-nav > a img {
    max-width: 18px;
    margin-right: 5px;
    vertical-align: middle;
}
.comm-jump-nav > a:hover {
    color: var(--color-4);
}
.comm-jump-nav > a:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    border-radius: 8px;
    z-index: 0;
    background: var(--color-2);
    transition: all .35s;
}
.comm-jump-nav > a:hover:before {
    width: 100%;
}

div.anchor {
    display: block;
    position: relative;
    top: -160px;
    visibility: hidden;
}


.comm-chip {
    font-size: 18px;
    border-bottom: 1px solid #999999;
}
.comm-chip .button {
    width: 100%;
    text-align: center;
}
.comm-chip .col-9 > div {
    margin-bottom: 5px;
}
.comm-chip a {
    text-decoration: none;
}
#location-map {
    width:100%;
    height:50vw;
}
#location-map .gm-style > div {
    position: static;
    box-sizing: content-box;
}
#location-map img {
    max-width: none;
}
#location-map button img {
    position: absolute;
}
#location-map .gm-style-iw-chr {
    z-index: 9;
}
#location-map .gm-style-iw-d {
    margin-top: -40px;
}
#location-map .gm-style-iw-d .column h3 {
    margin-bottom: 5px;
}
#location-map .gm-style-iw-d .column p {
    font-size: 16px;
    margin-top: 0;
}
#location-map .gm-style-iw-d .column a.button {
    width: 100%;
    text-align: center;
    font-size: 16px;
    padding-top: 5px;
    padding-bottom: 5px;
    position: relative;
}

.separator {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 275px;
    margin: 0 auto 25px auto;
}
.separator.left {
    margin-left: 0;
    margin-right: 0;
}
.separator > div.line {
    width: 110px;
    height: 1px;
    background: var(--color-3);
}
.separator > div.diamond {
    color: var(--color-3);
    font-size: 7px;
}
.separator > div:nth-child(3).diamond {
    font-size: 11px;
}
.separator.large {
    width: 400px;
}
.separator.large > div.line {
    width: 150px;
}
.separator.large > div.diamond {
    font-size: 14px;

}
.separator.large > div:nth-child(3).diamond {
    font-size: 22px;
}

.find-community {
    width: 100%;
    border-radius: 10px;
    /*background: linear-gradient(0deg, #00447C 0%, #00447C 100%);*/
    background: rgba(0, 68, 124, .9);
    box-shadow: 0px 0px 9.6px 2px rgba(0, 0, 0, 0.25);
}
.find-community .find-content {
    padding: 65px 25px 53px 25px;
}
.find-community .bottom-line {
    width: 100%;
    height: 12px;
    border-radius: 0px 0px 10px 10px;
    background: #C5B683;
}

.block-image-link {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}
.block-image-link .image {
    border-radius: 10px;
    width: 100%;
    padding-bottom: 110%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    margin-bottom: 15px;
}
.block-image-link:hover .image {
    transform: scale(1.02);
    transition: all .25s ease-in-out;
}

[data-anim] {
    opacity: 0;
    transform: translateY(100px);
}
[data-anim].animate {
    animation-name: animate;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
[data-anim][data-anim-down] {
    animation-name: animate-down;
}
@keyframes animate {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes animate-down {
    0% {
        opacity: 0;
        transform: translateY(-100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.swiper-pagination-bullet {
    background: transparent !important;
}
.swiper-pagination-bullet:before {
    content: ' \25C7';
    color: var(--color-1);
}
.swiper-pagination-bullet:before {
    content: ' \25C6';
    color: var(--color-1);
}

.amenity-card {
    background: rgb(8, 92, 181, .09);
    border-radius: 10px;
}
.amenity-card .title {
    color: #ffffff;
    background-color: var(--color-1);
    text-transform: uppercase;
    padding: 15px;
    text-align: center;
    font-weight: 700;
    border-radius: 10px 10px 0 0;
}
.amenity-card .content {
    color: var(--color-1);
    padding: 25px 15px;
    font-weight: 500;
}
.amenity-card .content ul {

}
.amenity-card .content ul li {
    list-style-image: url('/media/images/icon-arrow-right-circle.svg');
    margin-bottom: 15px;
    padding-left: 5px;
}
.amenity-card .content ul li::marker {
    margin-top: 2px;
}

#community-contact {
    background: rgb(255,255,255); background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(169,154,102,0.12) 50%, rgba(169,154,102,0.12) 100%);
}
@media screen and (max-width: 767px) {
    #community-contact {
        background: unset;
    }
    #community-contact .flex-container .col-6:nth-child(2) {
        background: rgba(169,154,102,0.12);
    }
}

.blog-content {

}
.blog-content :is(p, h1, h2, h3, h4, h5, h6, ul, ol),
.article-content :is(p, h1, h2, h3, h4, h5, h6, ul, ol) {
    margin-bottom: 15px;
}

video.ovly::-webkit-media-controls-panel {
    background: linear-gradient(to bottom,rgba(15, 45, 82, 0) 0%, rgba(15, 45, 82, 0) 50%, rgba(15, 45, 82, .35) 80%, rgba(15, 45, 82, .85) 100%);
}

.sbn, .sbp {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.sbn {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
}
.sbp {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto;
}
.sbn.swiper-button-disabled, .sbp.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none;
}
.sbn:after, .sbp:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
}
.sbn:after {
    content: 'next';
}
.sbp:after {
    content: 'prev';
}

details {
    display: block;
}
details summary {
    font-size: 20px;
    padding: 15px;
    cursor: pointer;
    background-color: #fefefe;
    border: 1px solid #f0f0f0;
}
details div {
    padding: 25px;
    border: 1px solid #f0f0f0;  
}

.c-left .img {
    min-height: 400px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    background: linear-gradient(to left, #ffffff 50%, rgba(8, 92, 181, 0.09) 50%);
}
.c-left .content {
    padding: 75px;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    border-radius: 10px 0 0 10px;
    background: rgba(8, 92, 181, 0.09);
}
.c-right .content {
    padding: 75px;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    border-radius: 0px 10px 10px 0;
    background: rgba(8, 92, 181, 0.09);
}
.c-right .img {
    min-height: 400px;
    margin-top: 0;
    margin-bottom: 0;
    margin-right: 0;
    background: linear-gradient(to right, #ffffff 50%, rgba(8, 92, 181, 0.09) 50%);
}
.c-left .img .bkg-img,
.c-right .img .bkg-img {
    z-index: 1;
    border-radius: 10px; 
}

@media screen and (max-width: 767px) {
    .c-left {
        flex-direction: column-reverse;
    }
    .c-left .img,
    .c-right .img {
        min-height: 300px;
        margin: 0;
    }
    .c-left .content,
    .c-right .content {
        padding: unset;
        margin: 10px 0 0 0;
        padding: 10px;
        border-radius: 10px;
        text-align: center;
    }
}