/*
    Theme Name: Historic Salem, Inc.
    Theme URI: https://www.sperlinginteractive.com
    Description: Sperling Interactive WordPress Starter Theme
    Version: 1.0
    Author: Sperling Interactive
  Theme URI: https://www.sperlinginteractive.com
*/

/*------------------------------------*\
    Example of Using Root Variable 
    :root {
        --blue: #0000FF          
    }
    .test-element {
        color: var(--blue)
    }
\*------------------------------------*/

:root {
    --main-font: 'Raleway', sans-serif;
}

/* global box-sizing */
*,
*:after,
*:before {
    box-sizing: border-box;
    text-rendering: optimizeLegibility;
}

/* html element 62.5% font-size for REM use */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    color: var(--wp--preset--color--color-black);
    font: 400 17px/1.6 var(--main-font);
    font: 400 1.7rem/1.6 var(--main-font);
}

/* clear */
.clear:before,
.clear:after {
    content: ' ';
    display: table;
}

.clear:after {
    clear: both;
}

.clear {
    zoom: 1;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

/* Lightspeed Lazy load fade in */
img[data-lazyloaded] {
    opacity: 0;
}

img.litespeed-loaded {
    -webkit-transition: opacity .5s linear 0.2s;
    -moz-transition: opacity .5s linear 0.2s;
    transition: opacity .5s linear 0.2s;
    opacity: 1;
}

a {
    text-decoration: none;
    color: #6f57fb;
}

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

a:hover {}

a:focus {
    outline: 0;
}

a:hover,
a:active {
    outline: 0;
}

input:focus {
    border: 1px solid #04A4CC;
    outline: 0;
}

p,
ul,
ol {
    font-size: 1.6rem;
}

h1 {
    font-size: 3.0rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

h2 {
    font-size: 2.9rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

h3 {
    font-size: 2.8rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

h4 {
    font-size: 2.4rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

h5 {
    font-size: 2.0rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

h6 {
    font-size: 1.6rem;
    font-family: "Times New Roman", Times, serif;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2px;
}

blockquote {
    margin: 25px 0;
    padding: 25px 0 25px 5vw;
    font-style: italic;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-weight: 700;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/
/* wrapper */
.wrapper {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    min-height: 100vh;
    position: relative;
    width: 100%;
    max-width: 2560px;
}

.main-content-container {
    flex: 1 auto;
    width: 100%;
    height: 100%;
    position: relative;
}

.container {
    max-width:1280px; 
    align-self: center;
    flex: 1 auto;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    padding: 0 20px;
}

/* header */
.header {
    box-shadow: 0px 3px 6px #0000001F;
    margin-bottom: 30px;
    padding: 15px 0;
}

.logo-img {
    backface-visibility: hidden;
    max-height: 60px;
    width: auto;
}

/* -- NAV -- */
/* setup */
.nav {
    padding: 10px 0px 10px 0px;
    flex: 0 1 auto;
    display: none;
}

.nav ul {
    padding: 0;
    list-style-type: none;
    margin: 0;
}

.nav li {
    display: inline-block;
    position: relative;
}

.nav a {
    color: var(--wp--preset--color--color-1);
    padding: 0 15px;
    font-size: 1.8rem;
    letter-spacing: 1px;
}

.nav li:hover ul.sub-menu {
    /* display: block; */
    /* animation */
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
}

.nav li ul.sub-menu ul.sub-menu {
    /* display: none; */
    left: 149%;
    top: 0;
}

.nav li:hover ul.sub-menu ul.sub-menu {
    /* display: none; */
    left: 149%;
    top: 0;
    /* animation */
    position: absolute;
    z-index: 2;
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: 300ms ease;
    -moz-transition: 300ms ease;
    -o-transition: 300ms ease;
    transition: 300ms ease;
}

.nav ul.sub-menu li:hover ul.sub-menu {
    /* display: block; */
    left: 149%;
    top: 0;
    /* animation */
    visibility: visible;
    opacity: 1;
    filter: alpha(opacity=100);
}

ul.sub-menu {
    background: var(--wp--preset--color--color-1);
    border-radius: 4px;
    width: 225px;
    text-align: left;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 1.4rem;
    /* display: none; */
    z-index: 100;
    -webkit-box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.23);
    -moz-box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.23);
    box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.23);
    /* animation */
    position: absolute;
    visibility: hidden;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: 300ms ease;
    -moz-transition: 300ms ease;
    -o-transition: 300ms ease;
    transition: 300ms ease;
}

li.last-desktop-nav > .sub-menu {
    left: 0;
}

.sub-menu li {
    /* padding:5px; */
}

.sub-menu a {
    font-size: 1.6rem;
    font-weight: normal;
    color: white;
    letter-spacing: 0;
}

.sub-menu a:hover {
    font-size: 1.6rem;
    font-weight: normal;
    color: var(--wp--preset--color--color-1-2);
}

ul.sub-menu a {
    display: block;
    padding: 10px;
    text-align: center;
    text-decoration: none;
}

ul.sub-menu li {
    display: block;
}

.nav .social {
    padding: 10px;
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
}

.nav > ul > li.menu-item-has-children > a {
    position: relative;
}

.nav > ul > li.menu-item-has-children > a:after {
    font-family: "Font Awesome 5 Pro";
    position: absolute;
    content: "\f107";
    right: -15px;
    top: 14px;
    font-size: 1.1rem;
}

/* animated lines */
.nav > ul > li > a {
    font-size: 1.5rem;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--wp--preset--color--color-1);
    padding: 10px 0px;
    margin: 0px 20px;
    display: inline-block;
    position: relative;
    opacity: 1;
    font-weight: bold;
}

.nav > ul > li > a:hover {
    opacity: 0.7;
}

.nav > ul > li > a::before {
    transition: 300ms;
    height: 1px;
    content: "";
    position: absolute;
    background-color: var(--wp--preset--color--color-1);
}

.nav > ul > li > a::before {
    width: 0%;
    bottom: 5px;
}

.nav > ul > li > a:hover::before {
    width: 100%;
}

/* current item handling */
.nav > ul > .current-menu-item > a::before,
.nav > ul > .current-menu-parent > a::before {
    width: 100%;
    bottom: 5px;
    height: 1px;
    content: "";
    position: absolute;
    background-color: var(--wp--preset--color--color-1);
    opacity: 1;
}

.sub-menu > .current-menu-item > a,
.sub-menu > .current-menu-parent > a {
    font-size: 1.5rem;
    font-weight: normal;
}

/* nav buttons */
.nav .nav-btn a {
    background-color: var(--wp--preset--color--color-1);
    border-radius: 0;
    border-color: var(--wp--preset--color--color-1);
    border-width: 2px;
    border-style: solid;
    color: var(--wp--preset--color--color-white);
    font-family: var(--wp--preset--font-family--body);
    font-weight: 400;
    line-height: 1;
    min-height: 44px;
    padding-top: 10px;
    padding-right: 30px;
    padding-bottom: 10px;
    padding-left: 30px;
    margin: 0;
    margin-left: 2px;
    padding-top: 13px;
    transition: all 0.3s ease-in-out;
}

.nav .nav-btn a:hover,
.nav .nav-btn.nav-donate a {
    opacity: 1!important;
    background-color: var(--wp--preset--color--color-3);
    border-color: var(--wp--preset--color--color-3);
    color: var(--wp--preset--color--color-white);
}

.nav .nav-btn a:before {
    display: none;
}


/* -- SECONDARY NAV -- */
.secondary-menu {
    box-shadow: 0px 3px 6px #00000048;
    position: fixed; 
    /* top: 40%;  */
    bottom: 25px;
    right: 0; 
    z-index: 1000; 
    background: var(--wp--preset--color--color-1); 
    color: white; 
    width: 220px;
    display: none;
}
.secondary-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.secondary-menu ul a {
    color: white;
    display: block;
    padding: 10px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    font-size: 1.4rem;
    text-align: left;
    transition: all 0.3s ease-in-out;
    position: relative;
    padding-bottom: 30px;
}
.secondary-menu ul a:hover {
    background: var(--wp--preset--color--color-2);
    color: var(--wp--preset--color--color-black);
}

.secondary-menu ul a:before {
    position: absolute;
    content: '';
    height: 2px;
    width: 40%;
    bottom: 15px;
    left: 20px;
    background-color: white;
}

.secondary-menu ul a:after {
    position: absolute;
    content: '';
    left: calc(20px + 40% - 5px);
    bottom: 8px;
    background-image: url('img/white-arrowhead.svg');
    width: 17px;
    height: 15px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.secondary-menu ul li:last-child a {
    border-bottom: none;
}

.secondary-menu ul a:hover:before {
    background-color: var(--wp--preset--color--color-1);
}

.secondary-menu ul a:hover:after {
    background-image: url('img/color-arrowhead.svg');
}



/* sidebar */
.sidebar {}

/* footer */
.footer {
    background: var(--wp--preset--color--color-1);
    text-align: center;
}

.footer .nav {
    padding: 0;
}

.footer i {
    font-size: 32px;
}

.footer .nav ul {
    text-align: right;
}

.footer-contact-columns {
    justify-content: flex-end;
}

.footer-contact-columns .column p {
    padding: 0 20px!important;
}



.footer-contact-columns

.pagination {
    font-size: 1.6rem;
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*------------------------------------*\
    PAGES
\*------------------------------------*/
/*------------------------------------*\
    IMAGES
\*------------------------------------*/


/*------------------------------------*\
    FORMS
\*------------------------------------*/

.with_frm_style input[type=text], .with_frm_style input[type=password], .with_frm_style input[type=email], .with_frm_style input[type=number], .with_frm_style input[type=url], .with_frm_style input[type=tel], .with_frm_style input[type=search], .with_frm_style select, .with_frm_style textarea, .with_frm_style .frm-card-element.StripeElement {
    border-top: 0!important;
    border-left: 0!important;
    border-right: 0!important;
}

.frm_style_formidable-style.with_frm_style .frm-show-form .frm_section_heading h3[class*="frm_pos_"] {
        border-top: 1px solid #000000!important;
}

.frm_style_formidable-style.with_frm_style .frm_section_heading:first-of-type {
    margin-top: 0!important;
}

#frm_form_4_container .frm_submit button {
    height: 36px!important;
    padding: 10px!important;
    display: relative!important;
    margin-top: 18px!important;
    line-height: 0!important;
}

#frm_form_4_container .frm_submit button:hover {
    background-color: black!important;
    color: white!important;
}

.frm_error {
    color: #F04438!important;
    margin-top: 15px;
    font-size: 16px!important;
}

.main-form-total,
.main-form-total label {
    font-weight: bold!important;
}

/*------------------------------------*\
    ACF GOOGLE MAP
\*------------------------------------*/

.acf-map {
    width: 100%;
    height: 100%;
    min-height: 400px;
    max-height: 600px;
    border: #ccc solid 1px;
    margin: 20px 0;
  }

   /* Fixes potential theme css conflict. */
  .acf-map img {
   max-width: inherit !important;
  }


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/
@media only screen and (min-width:320px) {}

@media only screen and (min-width:480px) {}

@media only screen and (min-width:769px) {}

@media only screen and (min-width:782px) {
    .is-style-leaf-icon {
        min-height: 300px!important;
    }
    .is-style-leaf-icon img {
        position: absolute;
    }
    h1 {
        font-size: 3.6rem; 
    }
    h2 {
        font-size: 3.2rem; 
    }
}



@media only screen and (min-width:1024px) {
    .footer {
        text-align: left;
    }
    .footer-contact-columns .column {
        border-right: 1px solid var(--wp--preset--color--color-2);
    }

    .footer-contact-columns .column:last-child {
        border-right: none;
    }
    .nav {
        display: block;
    }
    .secondary-menu {
        display: block;
    }
}

@media only screen and (min-width:1140px) {}

@media only screen and (min-width:1280px) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/
::selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-webkit-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

::-moz-selection {
    background: #04A4CC;
    color: #FFF;
    text-shadow: none;
}

/*------------------------------------*\
    CUSTOM BLOCKS
\*------------------------------------*/

/* Jquery UI Accordion */
.ui-accordion .ui-accordion-header {
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    border-top: 0;
    font-size: 1.7rem !important;
    font-family: var(--main-font) !important;
    text-transform: none!important;
}

.ui-accordion .ui-accordion-header:not(:first-of-type) {
    border-top: solid 1px black;
}

.jquery-ui-accordion {
    border-bottom: solid 1px black !important;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active,
.ui-widget-content {
    background: transparent !important;
}

.ui-widget-content {
    border: none !important;
}

.accordion .ui-icon {
    display: none;
}

.ui-accordion-header {
    position: relative;
    padding: 1em 0em 1em 35px !important;
    font-weight: bold !important;
    color: #000000 !important;
    letter-spacing: 0!important;
}
.ui-accordion-header:after {
    font: var(--fa-font-solid);
    font-size: 14px;
    content: "\2b";
    position: absolute;
    left: 0;
    width: 23px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
    color: #FFF;
    border-radius: 50%;
    top: 18px;
    letter-spacing: -1px;
    padding-top: 1px;
}
.ui-accordion-header.ui-state-active:after {
    content: "\f00d";
}

.ui-accordion .ui-accordion-content {
    padding: 0em !important;
}

.ui-accordion .ui-accordion-content p:first-of-type,
.ui-accordion .ui-accordion-content ul:first-of-type {
    margin-top: 0;
}

.ui-accordion-header a {
    font-size: 14px;
    color: #4f97cb !important;
    font-weight: 500;
}

.ui-widget,
.ui-helper-reset {
    font-family: inherit !important;
    font-size: 1.7rem !important;
    line-height: inherit !important;
    color: black !important;
}

.is-style-leaf-icon {
    position: relative;
    min-height: 0;
}

/* .is-style-leaf-icon:before {
    position: absolute;
    content: '';
    background-image: url('img/leaves.png');
    width: 50px;
    height: 50px;
    background-color: white;
    background-position: center;
    background-size: contain;
    border-radius: 50%;
    right: 20px;
    top: 20px;
    background-repeat: no-repeat;
    z-index: 1;
} */

.is-style-white-arrow {
    position: relative;
    padding-bottom: 30px;
}

.is-style-white-arrow:before {
    position: absolute;
    content: '';
    height: 2px;
    width: 70%;
    bottom: 10px;
    left: 0;
    background-color: white;
}

.is-style-white-arrow:after {
    position: absolute;
    content: '';
    left: calc(70% - 5px);
    bottom: 3px;
    background-image: url('img/white-arrowhead.svg');
    width: 17px;
    height: 15px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.is-style-color-arrow {
    position: relative;
    padding-bottom: 30px;
}

.is-style-color-arrow:before {
    position: absolute;
    content: '';
    height: 2px;
    width: 70%;
    bottom: -15px;
    left: 0;
    background-color: var(--wp--preset--color--color-1);
}

.is-style-color-arrow:after {
    position: absolute;
    content: '';
    left: calc(70% - 5px);
    bottom: -22px;
    background-image: url('img/color-arrowhead.svg');
    width: 17px;
    height: 15px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

/*------------------------------------*\
    ACCENT COLORS
\*------------------------------------*/

.white-text,
a.white-text,
form#filter.white-text label {
    color: white;
}

.white-text a {
    color: var(--accent-color-2);
}

a.white-text:hover,
.white-text a:hover {
    opacity: 0.7;
}

.accent-color {
    color: var(--wp--preset--color--color-1);
}

.accent-color-2 {
    color: var(--wp--preset--color--color-2);
}

.accent-background {
    background-color: var(--wp--preset--color--color-1);
}

.accent-background-2 {
    background-color: var(--wp--preset--color--color-2);
}

.white-background {
    background-color: white;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #FFF;
    border: 1px solid #F0F0F0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.sticky {}

.bypostauthor {}

/*------------------------------------*\
    PRINT
\*------------------------------------*/
@media print {
    * {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " ("attr(href) ")";
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }

    .nav,
    .sidebar,
    .home-slider,
    #respond {
        display: none;
    }

    @page {
        margin: 2cm;
    }
}

.notification-banner {
    padding: 10px 0;
    font-size: 16px;
    text-align: center;
}

.notification-banner p {
    margin: 0;
}
