/*
Custom CSS for website theme
Version: 1.0
Description: Used to establish the look and feel for ISLE Healthcare
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency
*/

/* @import url("variables.css"); */
@import url("https://use.typekit.net/use5dyo.css");

#page-container {
    overflow: hidden;
    margin-top: -15px;
}

/* Update variables in variables.css */

:root {
    /*TYPOGRAPHY*/
    /*font families*/
    --font-family-sans: Inter;
    --font-family-serif: Roboto Serif;
    --font-family-heading: freight-sans-pro, sans-serif;
    --font-family-body: proxima-nova, sans-serif;

    /*font weights*/
    --font-weight-extra-light: 100;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 600;
    --font-weight-bold: 700;

    /*font sizes*/
    --Heading-1-Size: clamp(1.825rem, round(1.732rem + 2.857cqi, 0.5em), 3.875rem);
    --Heading-2-Size: clamp(2rem, round(1.286rem + 2.286cqi, 0.5em), 3rem);
    --Heading-3-Size: clamp(1.5rem, round(1.143rem + 1.143cqi, 0.5em), 2rem);
    --Heading-4-Size: clamp(1.25rem, round(0.764rem + 1.714cqi, 0.5rem), 1.5rem);
    --Heading-5-Size: clamp(1rem, round(1.071rem + 0.571cqi, 0.5rem), 1.25rem);
    --Body-Size: clamp(0.875rem, round(0.786rem + 0.286cqi, 0.6rem), 1rem);
    --Body-Size-sm: clamp(0.875rem, round(0.786rem + 0.286cqi, 0.6rem), 1rem);

    /*font colors*/
    --color-text-heading: #65543E;
    --color-text-body: #2D4033;

    /*line heights*/
    --line-height-xs: 1.25;
    --line-height-sm: 1.5;

    /*COLORS*/

    --color-primary: #7EC248;
    /*fresh green 500*/
    --color-primary-deepen: #6EAF3C;
    /*fresh green 600*/
    --color-secondary: #4F6259;
    /*deep forest 500*/
    --color-secondary-lighten: #C5D0CA;
    /*deep forest 200*/
    --color-accent-primary: #4A9B9F;
    /*ocean teal 500*/
    --color-accent-secondary: #E89B6D;
    /*sunset orange*/
    --background-primary: #F9F7F5;
    --background-secondary: #E3E8E5;
    --background-tertiary: #EDE7E0;
    --deep-forest-200: #C5D0CA;
    --palm-gold-200: #DDD1C3;
    --ocean-teal-400: #66B3B8;
    --sunset-orange-500: #E89B6D;
    --sunset-orange-600: #D17F4F;


    --color-text-on-action: #18211D;

    /*REPEAT STYLES*/
    --border-radius-button: 0.75rem;
    --border-radius-modules: 0.5rem;
    --box-shadow-200: 0 2px 4px 0 rgba(12, 12, 13, 0.10), 0 1px 4px 0 rgba(12, 12, 13, 0.05);

}

/* GLOBAL BUTTON STYLES */

#page-container #main-content .et_pb_button {
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
}

body #page-container .et_pb_section .preset--group--divi-button--divi-button--default:hover:after {
    right: 15px;
}

body #page-container .preset--group--divi-cta--divi-button--default.et_pb_promo .et_pb_promo_button.et_pb_button:after {
    right: .3em !important;
    font-weight: 600 !important;
}

/*primary button*/
/* #page-container #main-content .et_pb_button {
    border-radius: var(--border-radius-button);
    color: var(--color-text-on-action);
    background-color: var(--color-primary);
    text-align: center;
    font-family: var(--font-family-body);
    font-weight: var(--font-weight-medium);
    letter-spacing: .32px;
    transition: ease all .3s;
    border: none;
} */

/* #page-container #main-content .et_pb_button:hover {
    background-color: var(--color-primary-deepen);
} */

/* secondary button */
#page-container .et_pb_button.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_button_two {}

#page-container .et_pb_button.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_button_two:hover {}

#page-container .et_pb_button.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_button_two:focus {}

/* tertiary button */
/* #page-container .et_pb_button */
/* #page-container .et_pb_button.et_pb_button_two */
#page-container .et_pb_button.fsm-btn-tertiary,
#page-container .fsm-btn-tertiary {
    background-color: transparent;
    color: var(--color-text-body);
    border-radius: 0;
    border: none;
    border-bottom: 2px solid var(--color-text-body);
    padding: .3em 1.5em 0 .2em !important;
}

#page-container .fsm-btn-tertiary:after {
    color: var(--color-text-body);
    right: 10px;
    padding-top: 8px;
}

#page-container .fsm-btn-tertiary:hover {
    background-color: transparent !important;
    color: var(--color-text-heading) !important;
    border-radius: 0 !important;
    border: none !important;
    border-bottom: 2px solid var(--color-text-heading) !important;
    padding-bottom: 0 !important;
    padding: .3em 1.75em 0 .2em !important;
}

#page-container .fsm-btn-tertiary:hover:after {
    color: var(--color-text-heading) !important;
    right: 5px;
}

#page-container .et_pb_button.fsm-btn-tertiary:focus {}


/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large {
    padding: 1em 2em;
    font-size: var(--Body-Size);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small {
    padding: .7em 1.3em;
    font-size: 14px;
}

/* ACCESSIBILITY UNIVERSAL TEXT LINKS */
#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style) {
    border-radius: 4px;
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline;
}

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card):hover {
    border-radius: 3px;
    background-color: rgba(21, 43, 55, .2);
    transition: ease all .2s;
}

/* 
    Font Sizing
*/

body:not(.et-vb-root-ancestor) #page-container {
    h1 {
        font-size: var(--Heading-1-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-bold);
        color: var(--color-text-heading);
    }

    h2 {
        font-size: var(--Heading-2-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-bold);
        color: var(--color-text-heading);
    }

    h3 {
        font-size: var(--Heading-3-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-medium);
        color: var(--color-text-heading);
    }

    h4 {
        font-size: var(--Heading-4-Size);
        font-family: var(--font-family-heading);
        font-weight: var(--font-weight-medium);
        color: var(--color-text-heading);
    }

    h5 {
        font-size: var(--Heading-5-Size);
        font-family: var(--font-family-heading);
    }

    h6 {
        font-size: var(--Heading-6-Size);
        font-family: var(--font-family-heading);
    }
}

body:not(.et-vb-root-ancestor) {

    p,
    li {
        font-size: var(--Body-Size);
        font-family: var(--font-family-body);
        color: var(--color-text-body);
        line-height: var(--line-height-sm);
    }
}

body .small {
    font-size: .75rem;
}

/*Blog Font Sizes*/
body:not(.et-vb-root-ancestor).post-template-default {
    h1 {
        &.entry-title {
            font-size: clamp(1.75rem, round(1.125rem + 2cqi, 0.5em), 2.625rem) !important;
        }
    }

    h2 {
        font-size: clamp(1.5rem, round(0.875rem + 2cqi, 0.5em), 2.375rem) !important;
    }

    h3 {
        font-size: clamp(1.25rem, round(0.75rem + 2cqi, 0.5em), 2.125rem) !important;
    }

    h4 {
        font-size: clamp(1.125rem, round(0.625rem + 2cqi, 0.5em), 1.875rem) !important;
    }

    h5 {
        font-size: clamp(1rem, round(0.5rem + 2cqi, 0.5em), 1.625rem) !important;
    }

    h6 {
        font-size: clamp(0.875rem, round(0.375rem + 2cqi, 0.5em), 1.375rem) !important;
    }
}

/* END FONT STYLE */

/*GRAVITY FORMS*/
#page-container .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
#page-container .gform_wrapper textarea.textarea,
#page-container div.form_saved_message div.form_saved_message_emailform form input[type=text],
.gform-theme--foundation .gfield select.large {
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
}

#page-container .gform_wrapper label,
legend.gfield_label.gform-field-label,
.ginput_container.ginput_container_text input {
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
}

input#gform_submit_button_1.gform_button.button {
    border-radius: var(--border-radius-button);
    background-color: var(--color-primary);
    padding: .5em 1em !important;
    color: var(--Default-Black);
    font-family: var(--font-family-body);
    font-size: var(--Body-Size);
    font-weight: var(--font-weight-bold);
}

input#gform_submit_button_1.gform_button.button:hover {
    border-radius: var(--border-radius-button);
    background-color: var(--color-primary-deepen);
    padding: .5em 1em !important;
    color: var(--Default-Black);
}

.gform-theme--foundation .gform_footer {
    display: block !important;
    height: 0;
}


/* Mega Menu Styles */
#mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item {
    color: var(--color-text-heading);
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item>a.mega-menu-link {
    /* color: var(--color-text-heading); */
    font-size: var(--Body-Size);
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-style: normal;
}



/*IF MENU HAS last-child CTA BUTTON 
- Style LI element as button*/
ul#mega-menu-primary-menu li:last-child a:not(ul.mega-sub-menu li a) {
    background-color: var(--color-primary) !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    line-height: 20px !important;
    border-radius: var(--border-radius-button) !important;
    color: var(--color-text-on-action) !important;
    box-shadow: var(--box-shadow-200);
    align-content: center;
}

ul#mega-menu-primary-menu li:last-child a:not(ul.mega-sub-menu li a):hover {
    background-color: var(--color-primary-deepen) !important;
}


/* MOBILE MENU STYLES */
@media only screen and (max-width:980px) {
    #logo img {
        max-height: 100px;
        width: auto;
    }

    .mega-toggle-blocks-left,
    .mega-toggle-blocks-center,
    .mega-spacer-block {
        display: none !important;
    }

    ul#mega-menu-primary-menu li:last-child a:not(ul.mega-sub-menu li a) {
        margin-top: 10px !important;
    }

    .mega-menu li a {
        color: var(--Default-White) !important;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle {
        background: transparent;
    }

    div#mega-toggle-block-0 {
        background: var(--Default-White) !important;
        border: 2px solid var(--Brand-Color-Primary);
        border-radius: 5px;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after {
        background-color: var(--Brand-Color-Primary);
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item>ul.mega-sub-menu {
        display: none !Important;
        visibility: visible;
        opacity: 1;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item.mega-toggle-on>ul.mega-sub-menu,
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-megamenu.mega-menu-item.mega-toggle-on ul.mega-sub-menu {
        display: block !important;
    }

    .mega-nav-btn {
        max-width: 120px !important;
    }

    #mega-menu-wrap-primary-menu:has(.mega-menu-open) #mega-menu-primary-menu[data-effect-mobile^="slide_left"]+button.mega-close {
        right: 0px;
        left: auto;
    }

}


/*GLOBAL DIVI CLASSES AND REUSABLE CLASSES*/

.name-style-body{
    color: var(--color-primary);
    font-weight: 800;
}

.flex {
    display: flex;
    gap: 2rem;
}

@media only screen and (max-width:980px) {
    .flex {
        flex-direction: column;
    }
}


#senior-communities i {
    color: var(--sunset-orange-600);
    font-size: 3em;
    margin-bottom: 1rem;
}

.bg-transparent {
    background: transparent;
}

.et_pb_section {
    background-color: var(--background-primary);
}

.box-shadow-radius,
.box-shadow-radius-img img {
    box-shadow: var(--box-shadow-200);
    border-radius: var(--border-radius-modules);
}

.deep-forest-200-pill {
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    border-radius: 100px;
    background-color: var(--deep-forest-200);
    color: var(--color-text-on-action);
    padding: .5em 1em;
    margin-bottom: 2rem;
    display: inline-block;
}

.et_pb_main_blurb_image img {
    width: 100%;
    object-fit: cover;
}

.et_pb_blurb_content {
    max-width: none;
}

/* START HEADER STYLES */
#main-header {
    margin-top: 20px;
}

.mega-menu li a {
    color: var(--Default-Black) !important;
    transition: ease all 0.3s !important;
}

.mega-menu li a:hover {
    opacity: .8 !important;
}



/* ACTIVE LINK STYLES */

.mega-current-menu-item a.mega-menu-link {
    text-decoration: underline 2px inherit !important;
    text-underline-offset: 8px !important;
}

/*END HEADER*/

/* START FOOTER STYLES */
#footer {
    padding-top: 5rem;
}

#footer a {
    color: var(--color-text-body);
}

#footer-credits {
    padding: 2rem 0;
}

#footer-credits p {
    font-size: var(--Body-Size-sm) !important;
}

#footer .et_pb_image_0_tb_footer {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media only screen and (max-width:980px) {
    #footer-contact-info {
        display: block;
    }

    #footer-contact-info .et_pb_column {
        padding: 1rem 0;
    }

    #footer-contact-info .et_pb_text_inner,
    #footer-credits .et_pb_text_inner {
        text-align: center;
    }

    #footer-credits {
        padding: 0 0;
    }

}

/*END FOOTER*/

/* START PAGE ORGANIZATION */

/*
HOMEPAGE
*/

#home-hero {
    padding-top: 10rem;
}

@media only screen and (max-width:980px) {
    #home-hero {
        padding-top: 3rem;

    }
}

#home-hero-image-1 {
    position: absolute !important;
    top: 50%;
    right: -4rem;
    bottom: auto;
    left: auto;
    transform: translateY(-50%) scale(1.75);
    width: max-content;
    max-width: 100%;
    text-align: left;
    margin-left: 0;
}


#home-hero-image-1:after {
    content: '';
    background-color: var(--palm-gold-200);
    position: absolute !important;
    top: -1rem;
    right: -1rem;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

#home-hero-image-1 img,
#home-hero-image-2 img,
#home-hero-image-3 img {
    border-radius: var(--border-radius-modules);
    box-shadow: var(--box-shadow-200);
    object-fit: cover;
}

#home-hero-image-2 {
    position: absolute !important;
    top: -9rem;
    right: -50%;
    bottom: auto;
    left: auto;
    transform: scale(0.5);
    z-index: 20;
    width: max-content;
    max-width: 100%;
    text-align: left;
    margin-left: 0;
}

#home-hero-image-2:after {
    content: '';
    background-color: var(--ocean-teal-400);
    position: absolute !important;
    top: 1.5rem;
    left: -1.5rem;
    bottom: auto;
    right: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

#home-hero-image-3 {
    position: absolute !important;
    top: 14rem;
    right: -35%;
    bottom: auto;
    left: auto;
    transform: scale(1);
    width: max-content;
    width: 100%;
    text-align: left;
    margin-left: 0;
}

#home-hero-image-3::after {
    content: '';
    background-color: var(--sunset-orange-500);
    position: absolute !important;
    top: 1rem;
    right: -1rem;
    left: auto;
    bottom: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

#home-hero-image-1 .et_pb_image,
#home-hero-image-1 img,
#home-hero-image-2::after {
    aspect-ratio: 1/1;
    height: auto;
}

#home-hero-image-2 .et_pb_image,
#home-hero-image-2 img,
#home-hero-image-2::after {
    aspect-ratio: 2/3;
    height: auto;
}

#home-hero-image-3 .et_pb_image,
#home-hero-image-3 img,
#home-hero-image-3::after {
    aspect-ratio: 3/2;
    height: auto;
}

@media only screen and (max-width:980px) {
    #home-hero-image-1 {
        position: relative !important;
        transform: unset;
        right: -13%;
        top: 0;
    }

    #home-hero-image-1:after {
        background-color: var(--sunset-orange-500) !important;
    }

    #home-hero-image-2 {
        bottom: -33rem;
        right: 39%;
        transform: scale(.4);
    }
}

.bg-column-tertiary::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -5%;
    width: 165%;
    height: calc(100% + 3rem);
    background-color: var(--background-tertiary);
    border-radius: var(--border-radius-modules);
}

#communities .blurb-tertiary {
    flex-grow: 1;
}

#communities .blurb-tertiary img {
    aspect-ratio: 2.39 / 1;
    object-fit: cover;
    border-radius: 4px;
}

.blurb-tertiary {
    background-color: var(--background-tertiary);
    border-radius: var(--border-radius-modules);
    box-shadow: var(--box-shadow-200);
    /* padding: 1rem; */
}

.blurb-tertiary .et_pb_blurb_content {
    padding: 1.5rem;
}

#get-support-guidance img {
    border-radius: var(--border-radius-modules);
    box-shadow: var(--box-shadow-200);
    aspect-ratio: 7/3;
    object-fit: cover;
}

@media only screen and (max-width:767px) {
    #get-support-guidance img {
        aspect-ratio: 3/2;
        border-radius: unset;
    }
}

@media only screen and (max-width:980px) {
    .blurb-tertiary .et_pb_blurb_content {
        padding: 1rem;
    }

    /* .bg-column-tertiary::before {
        top: -10%;
    } */
}

#testimonials .et_pb_group_carousel_slide {
    flex-grow: 1;
}

#testimonials .et_pb_group_carousel_slide .et_pb_group {
    height: 100%;
}

/*communities page*/
#communities-hero-image {
    /* position: absolute !important;
    top: 4rem;
    right: -35%;
    bottom: auto;
    left: auto;
    transform: translateY(-50%); */
    width: max-content;
    max-width: 100%;
}


#communities-hero-image:after {
    content: '';
    background-color: var(--color-accent-primary);
    position: absolute !important;
    top: -3%;
    right: -3%;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

#senior-communities .et_pb_toggle_close,
#senior-communities .et_pb_toggle_open {
    padding: 0;
}

h4.et_pb_toggle_title::before {
    right: 10px !important;
}

/*css toggle test*/
/* 1. Hide the Checkbox Input */
.hidden-checkbox {
    /* Make the actual checkbox invisible but still clickable via its label */
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* 2. Position the Label (The Button) */
.toggle-trigger-button {
    /* Ensure the label has a pointer to look like a button */
    cursor: pointer;
    /* Inherit absolute positioning from the Button Module setup */
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
}

/* 3. Initial State: Hide the Content Panel */
.hidden-content-panel {
    display: none;
    /* Add a transition for a smooth open/close effect (optional) */
    transition: max-height 0.4s ease-out, opacity 0.4s ease-out;
}

/* 4. The Core Logic: Show Content When Checkbox is :checked */
/* The ~ selector targets all siblings that follow the :checked input */
#toggle-control:checked~.toggle-trigger-button~.hidden-content-panel {
    display: block;
    /* Use max-height/opacity transitions for a smoother effect than display: block */
    /* For a pure open/close look, you can just use display: block; */
}

@media only screen and (max-width:520px) {
    #senior-communities h4.et_pb_toggle_title {
        text-align: left;
    }
}

#about-hero-image:after {
    content: '';
    background-color: var(--color-accent-secondary);
    position: absolute !important;
    top: -3%;
    right: -3%;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;

}

#contact-hero-image:after {
    content: '';
    background-color: var(--palm-gold-200);
    position: absolute !important;
    top: -3%;
    right: -3%;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

#contact-sidebar-image:after {
    content: '';
    background-color: var(--palm-gold-200);
    position: absolute !important;
    top: 2%;
    right: -3%;
    bottom: auto;
    left: auto;
    width: 100%;
    height: 100%;
    margin-left: 0;
    border-radius: var(--border-radius-modules);
    z-index: -1;
}

/* @media only screen and (max-width:980px) {
    top: 10rem;
} */

/*END*/

/*
BLOG
*/
/*END*/

/*
BLOG LIST
*/
/*END*/