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

/* VARIABLES */
:root {
    /* Brand Color Palette */
    --Brand-Color-Primary: #F79A43;
    --Brand-Color-Secondary: #82C0D0;
    --Brand-Color-3: #8FD397;
    --Brand-Color-4: #F1D01B;
    --Brand-Color-5: #D96B62;
    --Brand-Color-6: #A48FD3;
    /* Default Colors */
    --Default-Black: #262729;
    --Default-White: #F7F4F0;
    /* Typography */
    --Heading-1-Size: clamp(3rem, round(1.482rem + 4.857cqi, 0.5em), 5.125rem);
    --Heading-2-Size: clamp(2.5rem, round(1.696rem + 2.571cqi, 0.5em), 3.625rem);
    --Heading-3-Size: clamp(2rem, round(1.732rem + 0.857cqi, 0.5em), 2.375rem);
    --Heading-4-Size: clamp(1.5rem, round(1.321rem + 0.571cqi, 0.5em), 1.75rem);
    --Heading-5-Size: clamp(1.25rem, round(1.071rem + 0.571cqi, 0.5em), 1.5rem);
    --Heading-6-Size: clamp(1.125rem, round(1.036rem + 0.286cqi, 0.5em), 1.25rem);
    --Body-Size: clamp(0.9375rem, 0.75rem + 0.5vw, 1.125rem);
    --Font-Heading-Sans: 'Heebo', Helvetica, Arial, Lucida, sans-serif;
    --Font-Heading-Serif: "corsario-variable", sans-serif;
    --Font-Body: 'Roboto', Helvetica, Arial, Lucida, sans-serif;
    --Font-Body-Alt: ;
    --Line-Height-xs: 1;
    --Line-Height-s: 1.05;
    --Line-Height-m: 1.2;
    --Line-Height-l: 1.5;
    --Line-Height-xl: 2;
    --Font-Weight-Light: 300;
    --Font-Weight-Regular: 400;
    --Font-Weight-Bold: 700;
    --Font-Weight-Extra-Bold: 900;

}


/* SPACING CLASSES */



/*  
    Button Styles
*/

/* GLOBAL BUTTON STYLES */
/*Default Button Settings*/
#page-container .et_pb_button {
    border-radius: 2px !important;
    color: var(--Default-Black) !important;
	background-color:var(--Brand-Color-Primary);
    text-align: center;
    font-style: normal;
    font-weight: var(--Font-Weight-Regular) !important;
    line-height: normal !important;
    letter-spacing: .32px;
    text-transform: uppercase;
    transition: ease all .3s !important;
    border: none !important;
}

#page-container .et_pb_button:hover {
    transition: ease all .3s !important;
    border: none !important;
    color: var(--Default-White) !important;
}

/*
    BUTTON TEXT IS LIGHT - PRIMARY 
.et_pb_button.fsm-btn-primary 
*/
/*INCLUDES Hero Button ONE*/

#page-container .et_pb_button.fsm-btn-primary,
#page-container .et_pb_button.et_pb_button_one {}

#page-container .et_pb_button.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_button_one:hover {}

#page-container .et_pb_button.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_button_one:focus {
    /*box-shadow: 0px 0px 15px 0px ###;*/
}

/* secondary button text light - SECONDARY
.et_pb_bg_layout_dark.fsm-btn-secondary */

/*INCLUDES Hero Button TWO*/

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

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

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_button_two:focus {
    /*        box-shadow: 0px 0px 15px 0px ###;*/

}

/* secondary button dark 
.fsm-btn-secondary */

#page-container .et_pb_button.fsm-btn-secondary {}

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

#page-container .et_pb_button.fsm-btn-secondary:focus {
    /*      box-shadow: 0px 0px 15px 0px ###;*/

}

/* alt button text light 
.et_pb_bg_layout_dark.fsm-btn-alt */

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-alt {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-alt:hover {}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-alt:focus {

    /*    box-shadow: 0px 0px 15px 0px ###;*/
}

/* alt button dark .fsm-btn-alt 
This Button style has a pseudo arrow on Hover*/
#page-container .et_pb_button.fsm-btn-alt:after {
    content: '\f054';
    position: absolute;
    font-size: 1em;
    font-weight: var(--Font-Weight-Bold);
    display: block;
    opacity: 0;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    transition: opacity .5s, right .5s;
    color: var(--Default-Black) !important;
    font-family: 'Font Awesome 6 Pro' !important;
}

#page-container .et_pb_button.fsm-btn-alt:hover {
    color: var(--Default-Black) !important;
    opacity: 70%;
}

#page-container .et_pb_button.fsm-btn-alt.large:hover {
    padding: 1em 2em !important;
    padding-left: 1.8em !important;
    padding-right: 2.2em !important;
}

#page-container .et_pb_button.fsm-btn-alt:hover:after {
    opacity: 1;
}

#page-container .et_pb_button.fsm-btn-alt.small:hover {
    padding: .7em 1.3em !important;
    padding-left: .5em !important;
    padding-right: 1.5em !important;
}

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

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

/*
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.et_divi_theme h1 {
    font-size: var(--Heading-1-Size);
}

body.et_divi_theme h2 {
    font-size: var(--Heading-2-Size);
}

body.et_divi_theme h3 {
    font-size: var(--Heading-3-Size);
}

body.et_divi_theme h4 {
    font-size: var(--Heading-4-Size);
}

body.et_divi_theme h5 {
    font-size: var(--Heading-5-Size);
}

body.et_divi_theme h6 {
    font-size: var(--Heading-6-Size);
}

body,
body p,
body li {
    font-size: var(--Body-Size);
}

body small {
    font-size: clamp(.5rem, 1.25cqi, .8rem);
}

/*Blog Font Sizes*/
.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;
    }
}

/*CUSTOM FONT STYLES*/


/*END FONT STYLE*/

/*
MENU STYLES
*/
#logo {
        max-height: 150%!important;
        position: absolute;
        top: -20px;
		z-index:9;
}

@media only screen and (max-width:980px) {
#logo {
        max-height: 100%!important;
        top: 0;
	}
	
	#page-container #main-header {
        top: 50px !important;
    }
}

/*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: #f9a11d !important;
    padding: 10px 15px !important;
    margin: 0 !important;
    line-height: 20px !important;
    border-radius: 2px !important;
    color: #212121 !important;
}

div#main-header .flex {
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
}

div#main-header #menu {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}

/* IF MENU is transpareant and links can't be seen
- Add page ID here */
body.page-id-77/*Contact Us*/ {
    #page-container {
        #top-header {
            background-color: #82c0d0 !important;
            z-index: 2;
        }
    }

    header#main-header {
        background-color: #82c0d0 !important;
        z-index: 2;
		padding-bottom:10px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
    }
}

/*Hover Styles*/

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

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

/*Active Styles*/

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

/* MOBILE STYLES */
@media only screen and (max-width:980px) {
    .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 #6a8790;
        border-radius: 5px;
    }
}

/*END MENU*/

/* GLOBAL FORM STYLES */
.gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    font-weight: var(--Font-Weight-Bold) !important;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    padding: 1em 1em 1em 3em !important;
}

.gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    font-size: 14px !important;
    border-radius: 5px !important;
    padding: .5em .5em .5em 40px !important;
}

.gform_wrapper.gravity-theme .validation_message {
    position: relative;
}

.gform_wrapper.gravity-theme .validation_message::before {
    position: absolute;
    font-family: 'Font Awesome 6 Pro';
    font-weight: var(--Font-Weight-Extra-Bold);
    color: #c02b0a;
    font-size: 20px;
    content: '\f057';
    margin-left: -28px;
}

/* CUSTOM FORM STYLES */
/* END FORM STYLES */

/*START PAGE ORGANIZATION*/
/*
HOMEPAGE
*/
/*HERO Styles*/

@media only screen and (max-width:980px) {

.et_pb_fullwidth_header .et_pb_fullwidth_header_container .et_pb_button_one{
	margin-right:0;
}
}
body.et_pb_pagebuilder_layout #page-container div#home-hero .et_pb_fullwidth_header {
    padding-top: 0 !important;
}

.flex {
    display: flex;
}

.grid {
    display: grid;
}

.topic-row .slick-slide {
    padding: 1vh;
}

/* Slick Defaults */
.slick-slide {
	margin-bottom:0!important;
}

.slick-arrow {
    font-size: 20px !important;
    transition: all .5s ease;
}

.slick-arrow:hover {
    cursor: pointer;
    transition: all .5s ease;
    scale: 1.1 !important;
}

i.slick-arrow:active{
	transition: all .5s ease;
    scale: 1.1 !important;
}

.button-container .slick-arrow:first-child{
  margin-right:5px;
}

.button-container .slick-arrow:last-child{
  margin-left:5px;
}

.left{
    text-align: left;
        align-items: flex-start;	
}

.right{
	    text-align: right;
	    align-items: flex-end;

}


/*Blog Section*/
.onpage-post-list {
    position: relative;
}

.onpage-post-list i {
    position: absolute;
    top: -10%;
    color: #fff;
}

.onpage-post-list i.fa-chevron-right {
    right: 0;
}

.onpage-post-list i.fa-chevron-left {
    right: 5%;
}

ol.fsm-on-page-posts {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 2vh;
}

li.on-page-post-item {
    background: #fff;
    display: flex;
    height: auto;
}

li.on-page-post-item .card {
    height: 100% !important;
    width: 100% !important;
    padding: 2vh;
}

li.on-page-post-item .card img {
    min-height: 250px;
    max-height: 250px;
    min-width: 100%;
    object-fit: cover;
    object-position: center;
    margin-bottom: 2vh;
}

li.on-page-post-item .card h3 {
    font-size: 18px;
}

@media only screen and (max-width:980px) {
    ol.fsm-on-page-posts {
        display: block;
        padding-bottom: 0 !important;
    }

    ol.fsm-on-page-posts .slick-track {
        display: flex;
        height: auto;
    }

    ol.fsm-on-page-posts .slick-track li {
        min-height: 100%;
    }

}

/*END*/


/*
BLOG
*/
/*END*/

/*
BLOG LIST
*/

ol.fsm-post-list {
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 3vh !important;
}

ol.fsm-post-list li:first-child {
    grid-column: 1 / span 3 !important;
    min-width: 100% !important;
}

li.fsm-post-item.featured-post {
    border: none;
    box-shadow: unset;
    border: none;
    box-shadow: unset;
    padding: 0 !important;
}

div#imagewrapper {
    height: 100%;
    display: flex;
}

.featured-post img {
    border-radius: 5px;
    width: 100%;
    margin-right: 30px;
    grid-column-start: 1;
    grid-row-start: 1;
    grid-row-end: 5;
}

li.fsm-post-item.featured-post .wrapping-link {
    display: grid;
    grid-template-columns: 50% 50%;
}

span#date-published {
    color: var(--Default-Black) !important;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.featured-post p {
    color: #0B1527;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

div#post-info {
    padding: 5vh 0;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    margin-bottom: 20px;
}

div#post-info p,
div#post-info span,
div#post-info h2 {
    width: 100%;
}

.fsm-post-list h2,
.fsm-post-list h3{
    font-size: clamp(1.2rem, 2.5cqw, 1.8rem) !important;
}

li.fsm-post-item {
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    border-radius: 5px;
    transition: ease all 0.3s;
}

li.fsm-post-item:not(.featured-post) img {
    min-height: 215px;
    max-height: 215px !important;
    object-fit: cover;
    object-position: center;
    min-width: 100%;
    padding: 0;
}

li.fsm-post-item a.wrapping-link {
    display: block;
    height: auto;
    width: 100%;
    padding: 2em 1em;
}

li.fsm-post-item a.text-link-style {
    display: block;
    margin-top: auto;
}

@media screen and (max-width: 980px) {

    ol.fsm-post-list,
    ol.fsm-post-list li:first-child {
        display: block !important;
    }

    ol.fsm-post-list li {
        margin-bottom: 10px;
    }

    li.fsm-post-item.featured-post .wrapping-link {
        display: block;
    }

    div#imagewrapper,
    .featured-post img {
        max-height: 400px;
        margin: 0;
    }
}
/*END*/

/*Please select 1 of the 3 Blog Article Templates & discard unused*/
/*
ALL POSTS OPTION 1
*/

.single-post #page-container h1 {
    font-size: clamp(2rem, 4.5cqi, 4.25rem);
}

.single-post #page-container .et_pb_title_container,
.single-post #page-container .fsm-post-content {
    max-width: 980px;
    margin: 0 auto;
    padding: 5vh 0;
}

.single-post #page-container .et_pb_title_featured_container {
    text-align: center;
    max-width: 1200px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 2px 2px 20px 0px rgba(0, 0, 0, 0.25);
    margin-bottom: 18px;
	width: 90%;
}

.single-post #page-container .et_pb_title_featured_container .et_pb_title_featured_image img {
	aspect-ratio: 21 / 9;
    object-fit: cover;
    object-position: center;
}

.single-post #page-container .fsm-post-content img {
    border-radius: 8px;
    box-shadow: 2px 2px 20px 0px rgba(0, 0, 0, 0.25);
    margin: 2em auto;
    display: block;
    text-align: center;
}

.single-post blockquote {
    border-radius: 25px;
    background: linear-gradient(92deg, rgba(247, 154, 67, 0.40) 1.81%, rgba(217, 107, 98, 0.40) 42.39%, rgba(164, 143, 211, 0.40) 85.48%);
    box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
    border: none;
    padding: 5vh;
    width: calc(100% + 10vh);
    margin-left: -5vh;
}

.single-post blockquote,
.single-post blockquote p {
    font-size: clamp(1.25em, 4cqi, 1.5em);
    line-height: 1.25em;
    font-family: "corsario-variable", sans-serif;
    font-variation-settings: "opsz"48, "wght"700;
}

/*END*/

/*
ALL POSTS OPTION 2
*/
.heateor_sss_vertical_sharing.heateor_sss_bottom_sharing,
div#blog-content-wrap .heateor_sss_sharing_container.heateor_sss_horizontal_sharing {
    display: none;
}

div#blog-content-wrap .et_pb_section.et_pb_section_0 {
    margin-top: 0 !important;
    padding: 0 !important;
}

.heateor_sss_horizontal_sharing .heateor_sss_svg,
.heateor_sss_standard_follow_icons_container .heateor_sss_svg {
    background-color: #19424D !important;
}

a.reverse-text-link-style {
    color: #000;
    position: relative;
}

a.reverse-text-link-style:before {
    position: absolute;
    display: block;
    color: #000;
    font-size: 1em;
    line-height: 2em;
    font-weight: 600;
    left: -22px;
    content: '\f30a';
    font-family: 'Font Awesome 6 Pro';
    transition: ease all 0.3s;
}

a.reverse-text-link-style:hover:before {
    left: -28px;

}

.side-by-side-buttons {
    display: flex;
    flex-wrap: nowrap;
    width: 100% !important;
    margin-top: 20px;

}

.side-by-side-buttons .et_pb_button {
    width: 50%;
    text-align: center;
}

.side-by-side-buttons a:last-child {
    margin-left: 10px !important;
}

div#blog-content-wrap .et_pb_row {
    width: 100%;
}

.blog-info-row:before {
    position: absolute;
    content: '';
    width: 110%;
    height: 110%;
    background: #fff;
    top: -5%;
    left: -5%;
    border-radius: 5px;
}

div#sidebar-headings h2 {
    font-size: clamp(1.2rem, 2.5cqw, 1.8rem) !important;

}

.heateor_sss_sharing_container.heateor_sss_vertical_sharing.heateor_sss_bottom_sharing {
    display: none !important;
}

@media screen and (max-width: 500px) {

    .et_pb_row.blog-info-row {
        padding: 2% 4%;
    }
}

/*END*/

/*
ALL POSTS OPTION 3
*/
div.blog-entry-content-column {
    margin: auto;
}

div#blog-post-content .et_builder_inner_content .et_pb_section,
div#blog-post-content.et_builder_inner_content .et_pb_section .et_pb_row {
    padding: 0 !important;
    margin: 0 !important;
}

div#blog-post-content .et_builder_inner_content .et_pb_section .et_pb_row {
    max-width: unset !important;
    width: 100% !important;
}

div#post-hero {
    display: flex;
    flex-wrap: wrap;
    height: auto;
}

div#blog-featured-image-column {
    height: auto;
    display: flex;
}

div#blog-featured-image-column span.et_pb_image_wrap {
    height: 100%;
}

div#blog-featured-image-column img {
    height: 100%;
    object-position: center;
    object-fit: cover;
}

div#blog-categories,
div#blog-publish-date,
div#post-share {
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    text-transform: uppercase;
}

div#blog-post-content .et_pb_section {
    padding: 0 !important;
}

div#blog-post-content .et_pb_section .et_pb_row:first-child {
    padding-top: 0;
}

div.blog-entry-content-column ul.et_pb_module.et_pb_social_media_follow {
    text-align: left !important;
}

div#blog-newsletter-blurb .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full) ~ span:not(.ginput_full),
div#blog-newsletter-blurb .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) ~ span:not(.ginput_full),
div#blog-newsletter-blurb .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) fieldset:not([style*="display:none"]):not(.ginput_full),
div#blog-newsletter-blurb .gform_wrapper.gravity-theme .ginput_complex:not(.ginput_container_address) span:not([style*="display:none"]):not(.ginput_full) {
    padding: 0;
}

/*END*/



/*
ABOUT
*/
/*END*/

/*
CONTACT
*/
/*END*/

/*FOOTER*/
#subfooter a {
    text-decoration: underline;
    color: #fff;
}

/*RESUSABLE*/

.side-by-side,
{
    display: flex;
    justify-content: center;
    margin-top: 3vh;

 a:first-child{
margin-right:1vh!important;

}
}


@media only screen and (max-width:980px) {

 .side-by-side {
	     display: flex;
        flex-direction: column;
    }
    
    .side-by-side a:first-child {
        margin-right: 0 !important;
        margin-bottom: 1vh !important;
    }
}