:root {
    --fs-body: clamp(16px,2vw,18px);
    --fs-h1: clamp(32px,5vw,36px);
    --fs-h2: clamp(28px,4vw,32px);
    --fs-h3: clamp(24px,3.5vw,28px);
    --fs-h4: clamp(24px,3.5vw,28px);
    --fs-h5: clamp(18px,2.5vw,22px);
    --fs-h6: clamp(16px,2vw,20px);
}

div[class*="tag_"] {
    font-size: 1rem;
    font-weight: 700;
}

h1 {
    font-size: var(--fs-h1);
    line-height: 120%;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
}

h2 {
    font-size: var(--fs-h2);
    line-height: 120%;
    margin-bottom: 1rem;
    margin-top: 1.5rem;
}

h3 {
    font-size: var(--fs-h3);
    line-height: 110%;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
    letter-spacing: 0.02em;
}

h4 {
    font-size: var(--fs-h4);
    line-height: 120%;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

h5 {
    font-size: var(--fs-h5);
    line-height: 110%;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

h6 {
    font-size: var(--fs-h6);
    font-weight: 400;
    line-height: 110%;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

html {
    font-size: var(--fs-body);
}

p {
    font-size: var(--fs-body);
    line-height: 120%;
}

select {
    font-size: 1rem;
}

#gridsearchbut {
    font-size: 1rem;
}

#menu-sub-footer {
    font-size: 0.7rem;
}

#menu-useful-links li {
    font-size: var(--fs-h6);
}

#reset-button {
    font-size: 1rem;
}

.accordion-header {
    font-size: 1.4em;
    font-weight: 700;
    line-height: 120%;
}


.infoheadertitle {
  font-size: clamp(1rem, 5vw, 2rem);
  line-height: 1.1;
    font-weight: 700;
    line-height: 110%;
}

.additionaltags div[class*="desc_"] {
    font-size: 1.2rem;
}

.additionaltags div[class*="tag_"] {
    font-size: 1.4rem;
}

.banner-headline h2 {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    line-height: 2.2rem;
    margin-top: 0px;
}

.banneremail, .bannerloc, .bannertel {
    font-weight: 700;
}

.bookingbutton {
    font-size: 32px;
}

.bookingbutton a {
    font-size: 32px;
}

.box1buttons .button {
    line-height: 110%;
}

.box1buttons a {
    font-size: 1.2rem;
    font-weight: 600;
}

.box1content h3, .box1content p {
    color: #fff;
    font-size: var(--fs-h5);
    line-height: 120%;
}

.box1title h2 {
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    line-height: 120%;
    margin-top: 0px;
}

.caption-overlay {
    font-size: .8rem;
}

.contact-banner .button {
    font-size: 1.2rem;
    font-weight: 600;
}

.contentall p {
    font-size: 1.4em;
    line-height: 120%;
}

.contentsectionmore a {
    font-weight: 700;
}

.contenttitle {
    font-size: 1.6em;
    font-weight: 700;
}

.custom-infowindow {
    font-family: 'effra-cc', sans-serif;
    font-size: var(--fs-h3);
    line-height: 110%;
    letter-spacing: 0.02em;
}

.custom-infowindow .ciw-text {
    font-size: 1rem;
}

.custom-infowindow .ciw-title {
    font-size: 1.2rem;
}

.custom-infowindow .ciw-title a {
    font-family: 'effra-cc', sans-serif;
    font-size: 1.1em;
}

.custom-infowindow h3 {
    font-size: 0.9em;
}

.custom-post-base-content {
    font-weight: 300;
}

.custom-post-date-big {
    font-weight: 500;
}

.custom-post-main-content {
    font-size: clamp(14px, 1vw, 17px);
    line-height: clamp(16px, 1.2vw, 19px);
    margin: 0px;
   
}

.custom-post-main-content a {
    font-size: clamp(14px,0.9vw,17px);
   line-height: clamp(16px, 1.2vw, 19px);
    margin: 0px;
}


.custom-post-tag {
    font-size: .8rem;
}

.custom-post-title a {
    color: #509E2F;
    font-size: var(--fs-h3);
    font-weight: 600;
    line-height: 110%;
    text-decoration: none;
     letter-spacing: 0.02em;
}




.custom-select span {
    font-size: 1em;
    font-weight: 600;
}

.duo-post-content {
    font-size: 2em;
    font-weight: 700;
    line-height: 110%;
}

.eachmenulink h3 {
    font-size: 2vmax;
    font-weight: bold;
     letter-spacing: 0.02em;
}

.eventheaderdetails .eventheaderdetailstext {
    font-size: 1.5rem;
}

.eventheaderdetailstext {
    font-size: 1.2rem;
    line-height: 120%;
    font-weight: 700;
}

.eventtag {
    font-size: 1.2rem;
}

.footer-copyright {
    font-size: 0.7rem;
}

.footer-copyright p {
    font-size: 0.7rem;
}

.footer1 h3 {
    font-size: 32px;
     letter-spacing: 0.02em;
}

.footer1 h5 {
    font-size: 1.2em;
    font-weight: 400;
}

.footer4 p {
    font-size: .8rem;
}

.footerbutton button {
    font-size: 32px;
}

.formbuttons {
    font-size: 1rem;
}

.formprivdiv a {
    font-size: .8em;
}

.formsearchdate {
    font-size: 1rem;
}

.formsearchdate input[type="text"] {
    font-size: 1rem;
}

.formsearchdate span {
    font-size: 1em;
    font-weight: 600;
}

.fullscreen-menu .resourcemenu .resourceslink a {
    font-size: 1.4em;
}

.fullscreen-menu-buttons button {
    font-size: 1rem;
    font-weight: 600;
}

.fullscreen-navigation .fullscreen-menu-itrems a {
    font-size: 1.4rem;
}

.gfield_description {
    font-size: var(--fs-body) !important;
}

.gform-body label {
    font-size: var(--fs-body) !important;
}

.gform-body legend {
    font-size: var(--fs-body) !important;
}

.gform-footer input[type="submit"] {
    font-size: 1rem;
}

.gform-page-footer input[type="button"] {
    font-size: 1rem;
}

.gform-page-footer input[type="submit"] {
    font-size: 1rem;
}

.gform_confirmation_wrapper {
    font-size: 1.5rem;
}

.gform_wrapper.gravity-theme .gform_validation_errors {
    font-size: 1.5rem;
}

.ginput_container select {
    font-size: 1rem !important;
}

.ginput_container_number .instruction {
    display: none;
}

.gridsearchtext {
    font-size: 1rem;
}

.gsection_description {
    font-size: var(--fs-body) !important;
}

.header-ref p {
    line-height: 90%;
}

.headerbuttonlink a {
    font-size: 1.3rem;
    font-weight: bold;
}

.headerintro {
    font-size: clamp(1rem,1.8vh + 1rem,1.4rem);
    font-weight: 700;
    line-height: 110%;
    opacity: .9;
}

.headerintro1 {
    font-size: clamp(1rem,1.8vh + 1rem,1.4rem);
    font-weight: 700;
    line-height: 110%;
    opacity: .8;
}

.headerintro2 {
    font-size: clamp(1rem,1.8vh + 1rem,1.4rem);
    font-weight: 700;
    line-height: 110%;
    opacity: .9;
}

.headertitle {
    font-size: clamp(1.4rem, calc(5vh + 1rem), 2.8rem);
    font-weight: 700;
    line-height: 110%;
}

.headertitle.head3 {
    font-size: clamp(1.4rem, calc(5vh + 1rem), 2.4rem);
    font-weight: 700;
    text-align: center;
    width: auto;
}

.hero-caption {
    font-size: 0.7em;
}

.info_links_title {
    font-size: 1.5rem;
    font-weight: 700;
}

.kml-toggle-container button {
    font-size: 0.7rem;
    font-size: 0.8rem;
    line-height: 1rem;
}

.layout-toggle-buttons button {
    font-size: 0.8rem;
   line-height: 1rem;
}

.link-banner .button {
    font-size: 1.2rem;
    font-weight: 700;
}

.links-file-container {
    font-size: 1.2em;
    font-weight: 700;
}

.locationintro {
    font-size: clamp(calc(4px + 1vh), calc(14px + 1vh), calc(22px + 1vh));
    font-weight: 600;
   line-height: 110%;
}

.locheaderlink {
    font-size: 1rem;
    font-weight: 500;
}

.locheaderlink a {
    font-size: .9rem;
    font-weight: 500;
}

.mapcontrol {
    font-size: 0.8rem;
}

.mapintro1 {
    font-size: 1.4rem;
    font-size: 2rem;
    font-weight: 300;
    font-weight: 700;
    line-height: 1.6rem;
}

.mapintro2 {
    font-size: 1.4rem;
    line-height: 120%;
}

.menu-search-input {
    font-size: 14px;
}

.menu-search-submit {
    font-size: 20px;
}

.menunav {
    font-size: 1.5rem;
    line-height: 1.6rem;
}

.nid-caption-overlay {
    font-size: .8rem;
}

.normalgridtitle h3 {
    font-size: 2em;
    font-weight: 700;
    line-height: 110%;
    margin: 0px;
    padding: 40px 0px 20px 0px;
}

.osrefdiv {
    font-size: 1rem;
    font-weight: 500;
}

.overlay h3 {
    font-size: 1.4rem;
    font-weight: bold;
     letter-spacing: 0.02em;
}

.overlay p {
    color: #fff;
    font-size: 1.2rem;
}

.place-toggle-container button {
    font-size: 0.7rem;
    font-size: 0.8rem;
    line-height: 1rem;
}

.primarytext a {
    font-size: 1.2rem;
    font-weight: 600;
}

.primarytext li {
    font-size: 1.2rem;
}

.primarytext p {
    font-size: 1.2rem;
}

.primarytext strong {
    font-weight: 700;
}

.priority-post .custom-post-main-content a {
    font-size: 1.1rem;
    line-height: 120%;
}

.priority-post .custom-post-title a {
    color: #fff !important;
    font-size: 2.4rem;
    line-height: 2.4rem;
}

.priority-post .custom-post-title p {
    color: #fff;
    font-size: 2.4rem;
    line-height: 2.4rem;
}

.prioritygridtitle {
    font-size: 1.2rem;
    font-weight: 700;
}

.search-input {
    font-size: 14px;
}

.search-submit {
    font-size: 20px;
}

.slideheaderintro1 {
   font-size: clamp(0.75rem, 3.5vw, 1.4rem);
    font-weight: 700;
    line-height: 110%;
    opacity: 0.8;
    margin-bottom: 10px;
}

.slideheadertitle {
   font-size: clamp(1rem, 5vw, 2.8rem);
    font-weight: 700;
    line-height: 110%;
    margin-bottom: 15px;
}

.slideheaderlink {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    text-align: right;
}

.slidercontrols .hero-description {
    font-size: clamp(.8rem, 3vw, 1.2rem);
    font-weight: 400;
}

.slidercontrols .sliderheadertext {
   font-size: clamp(1rem, 5vw, 2.4rem);
    font-weight: 700;
}

.slidercontrols p {
    font-size: 1rem;
}

.three-col.left-col * {
    font-size: 1.3em;
}

.three-col.middle-col * {
    font-size: 1.3em;
}

.three-col.right-col * {
    font-size: 1.3em;
}

.wwwrefdiv {
    font-size: 1rem;
    font-weight: 500;
}

.sidemenutitle h3 {
    font-size: var(--fs-h4);
    line-height: 120%;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}

@container slidebox (max-width: 280px) {
    .slideheaderintro1 {
        font-size: 1.2rem line-height: 110%;
        font-weight: 700;
        margin-right: 20px;
    }

    .slideheadertitle {
        font-size: 1.8rem;
    }
}

@container slidebox (max-width: 320px) {
    .slideheaderintro1 {
        font-size: 1.4rem;
    }

    .slideheadertitle {
        font-size: 2rem;
    }
}

@container slidebox (max-width: 400px) {
    .slideheaderintro1 {
        font-size: 1.6rem;
    }

    .slideheadertitle {
        font-size: 2.4rem;
    }
}

@media (max-width: 480px) {
    :root {
        --fs-body: clamp(14px,3vw,16px);
        --fs-h1: clamp(22px,7vw,26px);
        --fs-h2: clamp(20px,6vw,24px);
        --fs-h3: clamp(18px,5vw,22px);
        --fs-h4: clamp(16px,4vw,20px);
        --fs-h5: clamp(14px,3.5vw,18px);
        --fs-h6: clamp(12px,3vw,16px);
    }

    .custom-infowindow .ciw-text {
        font-size: 0.9rem;
    }

    .custom-infowindow .ciw-title {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    :root {
        --fs-body: clamp(14px,3vw,16px);
        --fs-h1: clamp(28px,6vw,32px);
        --fs-h2: clamp(24px,4.5vw,28px);
        --fs-h3: clamp(22px,3.5vw,24px);
        --fs-h4: clamp(18px,3vw,22px);
        --fs-h5: clamp(16px,2.5vw,20px);
        --fs-h6: clamp(14px,2vw,18px);
    }
}

@media screen and (max-width: 768px) {
    .custom-post-tag {
        font-size: .8rem;
    }

    .custom-post-title a {
        font-size: 1.6rem;
        font-weight: 600;
        line-height: 110%;
    }

.custom-post-main-content {
       font-size: 1rem;
        line-height: 125%;
    margin: 0px;
   
}
    
    .custom-post-main-content a {
        font-size: 1.1rem;
        line-height: 100%;
    }



    .footer1 h3 {
        font-size: 26px;
         letter-spacing: 0.02em;
    }

    .footer1 h5 {
        font-size: 20px;
    }

    .footer4 p {
        font-size: 1rem;
    }

    .headerbuttonlink a {
        font-size: 1.3rem;
        font-weight: bold;
    }

    .headerlink {
        font-size: 1rem;
        font-weight: 500;
    }
    .infoheadertitle {
        font-size: clamp(3rem, 15vw, 3rem);
        line-height: 1.1;
        font-weight: 700;
        line-height: 110%;
    }
    .menunav {
        font-size: 1.5rem;
        line-height: 1.6rem;
    }

    .slidercontrols .sliderdetails {
        font-size: 0.8rem;
    }

    .slidercontrols .sliderheadertext {
        font-size: 1.2rem;
    }

    .slidercontrols p {
        font-size: 0.8rem;
    }
}