@charset "UTF-8";

/*
Custom Styles for Bootstrap 5
Author: Sandy Campbell - https://sandycampbell.design

------------------------------------------------------------------ */

/* Changelog
2023-04-10 - container max-width widened from 1080px to 1400px
2023-04-17 - refined font sizes for bootstrap breakpoints
2023-05-04 - change corner radius of cards
2023-05-07 - added off-white background color (bg_Milk) to body 
2023-05-19 - update hover state for text links 
2023-05-23 - fix size of google search button, add border radius
2023-06-10 - adjust corner radius of cards to 20px to match verge
2023-06-16 - turn off 1px border rule for cards
2023-07-11 - remove uppercase styling for big heads
2023-07-14 - simplify head styles
2023-08-02 - topnav select fixes; reduce container width from 1400px to 1300px
2023-08-06 - refine and simplify sizes and weights
2024-01-13 - roll back some legacy layout css

------------------------------------------------------------------ */

/* Contents
01 - primary styles
02 - hyperlinks
03 - badges & buttons
04 - images & videos
05 - cards
10 - photoswipe
11 - figcaptions
12 - outercaptions
20 - wuforms
30 - horizontal rules
31 - short rules
40 - pre-footer & post-footer
41 - google search
42 - footer
43 - masthead
44 - navlinks
45 - scroll margins
50 - supplemental spacing
51 - topnavs
52 - misc typography
*/

/* 01 - primary styles
--------------------------------------------- */

body {
    font-family: 'Merriweather', serif;
    background-color: #F5F6F7;
}

.container {
    max-width: 1300px;
}

h1,
.slab {
    font-family: 'Bitter', serif;
}

h2,
h3,
h4,
h5,
h6,
gothic {
    font-family: 'Libre Franklin', sans-serif;
}

p,
.serif {
    font-family: 'Merriweather', serif;
}

h1.subhd_002 {
    font-family: 'Libre Franklin', sans-serif;
    font-size: 2.6rem;
    font-weight: 300 !important;
    line-height: 1.0;
    letter-spacing: -.05rem;
    word-spacing: -.02rem;
    text-align: left;
}

h2,
.h2 {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.3;
}

strong,
.strong {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
}

.center {
    text-align: center;
}

.dropdown-item.center {
    text-align: center;
}

.photocredit.center {
    text-align: center;
}

.shift_b {
    vertical-align: bottom;
}


@media (min-width: 577px) {
    h1 {
        font-size: 4.0rem;
        line-height: .85;
        font-weight: 300 !important;
        text-align: center;
    }

    h2 {
        font-size: 2.4rem;
        line-height: 1.0;
        font-weight: 300 !important;
    }

    h3 {
        font-size: 1.6rem;
        line-height: 1.0;
        font-weight: 400 !important;
    }

    h4 {
        font-size: 1.2rem;
        line-height: 1.2;
        font-weight: 700 !important;
    }

    h5 {
        font-size: 1.2rem;
        line-height: 1.2;
        font-weight: 400 !important;
    }

    h6 {
        font-size: 1.0rem;
        line-height: 1.2;
        font-weight: 400 !important;
    }

    p {
        font-size: .95rem;
        line-height: 1.5;
    }
}

@media (max-width: 576px) {
    h1 {
        font-size: 3.0rem;
        line-height: 1.0;
        font-weight: 300 !important;
        text-align: center;
    }

    h2 {
        font-size: 1.8rem;
        line-height: 1.1;
        font-weight: 300 !important;
    }

    h3 {
        font-size: 1.2rem;
        line-height: 1.3;
        font-weight: 500 !important;
    }

    h4 {
        font-size: 1.0rem;
        line-height: 1.3;
        font-weight: 700 !important;
    }

    h5 {
        font-size: 1.0rem;
        line-height: 1.4;
        font-weight: 500 !important;
    }

    h6 {
        font-size: .85rem;
        line-height: 1.5;
        font-weight: 500 !important;
    }

    p {
        font-size: .85rem !important;
        line-height: 1.5;
    }
}

.followup {
    color: #02b875;
    font-style: italic;
}

.followup a {
    color: #02b875;
}

.followup a:hover {
    color: #000;
}

ul.footnote li {
    font-size: .85rem;
    margin-left: .55rem;
}

ul.footnote li:before {
    content: "*";
    margin-left: -.55rem;
    padding-right: .15rem;
}

.phonelink {
    font-weight: bold;
    letter-spacing: -.03rem;
}

/* 02 - hyperlinks
--------------------------------------------- */

p a {
    color: #02b875 !important;
    text-decoration: none !important;
}

p a:hover {
    color: #000 !important;
}

a {
    color: #02b875;
    text-decoration: none;
}

a:hover {
    color: #000;
}

a.link-bg-dk {
    color: #00fa9a;
    text-decoration: none;
}

a.link-bg-dk:hover {
    color: #fff;
}

a.signage {
    color: #000;
    text-decoration: none;
}

a.signage:hover {
    color: #02b875;
}

.phonelink {
    color: #02b875;
    text-decoration: none;
}

.phonelink:hover {
    color: #000;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: #000;
    text-decoration: none;
}

h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover {
    color: #02b875;
}

.heading a {
    color: #000;
    text-decoration: none;
}

.heading a:hover {
    color: #02b875;
}

.photolink {
    color: #888;
    text-decoration: none;
}

.photolink:hover {
    color: #02b875;
}

a .photocredit {
    color: #02b875;
    text-decoration: none;
}

a:hover .photocredit {
    color: #000;
}

.photocredit a {
    color: #02b875;
    text-decoration: none;
}

.photocredit:hover {
    color: #000;
}

/* 03 - badges & buttons
--------------------------------------------- */

button.dropdown-toggle {
    border: none !important;
    background: none !important;
}

.btn {
    font-family: 'Libre Franklin', sans-serif;
    font-size: .95rem;
    text-transform: uppercase;
    padding: .9rem;
    border-radius: 50rem;
}

.btn-ulc {
    font-weight: 700;
    border-left: 1px #02b875 solid;
    border-radius: 0;
    margin-left: .2rem;
    padding: .05rem .4rem .05rem .4rem;
}

.btn-link:link,
.btn-link:visited {
    color: #02b875;
    background-color: #fff;
    text-decoration: none;
}

.btn-link:hover,
.btn-link:active {
    color: #fff;
    background-color: #02b875;
    text-decoration: none;
}

.btn-link:hover,
.btn-link:active {
    transition: background 0.2s;
}

.badge-pill {
    font-family: 'Libre Franklin', sans-serif;
    font-size: .95rem;
    text-transform: uppercase;
    border-radius: 50rem;
    padding: .9rem;
    width: auto;
    font-weight: 400;
}

/* Zoom Registration Button */
.text-white.bg_Verblu .badge_zoom:link,
.text-white.bg_Verblu .badge_zoom:visited {
    color: var(--era_blackest) !important;
    background-color: var(--era_green_blackbg);
}

.text-white.bg_Verblu .badge_zoom:hover,
.text-white.bg_Verblu .badge_zoom:active {
    color: var(--era_green_whitebg) !important;
    background-color: var(--era_whitest);
    text-decoration: none;
}

/* Std Green Button */
.badge-green:link,
.badge-green:visited {
    color: #02b875;
    background-color: #fff;
    border: 1px #02b875 solid;
}

.badge-green:hover,
.badge-green:active {
    color: #fff;
    background-color: #02b875;
    text-decoration: none;
}

/* Std Green Button With Clear Background */
.badge-clear:link,
.badge-clear:visited {
    color: #02b875;
    background-color: rgba(255, 255, 255, 0.25);
    border: 1px #02b875 solid;
}

.badge-clear:hover,
.badge-clear:active {
    color: #fff;
    background-color: #02b875;
    text-decoration: none;
}

/* Solid Green Button for bg_Black */
.badge-green-dark:link,
.badge-green-dark:visited {
    color: #fff !important;
    background-color: #02b875;
    text-decoration: none;
}

.badge-green-dark:hover,
.badge-green-dark:active {
    color: #02b875 !important;
    background-color: #fff;
}

/* Red Button for Cancelled Events */
.badge-red:link,
.badge-red:visited {
    color: #fff;
    background-color: #ff0000;
    text-decoration: none;
    border: 1px #ff0000 solid;
}

.badge-red:hover,
.badge-red:active {
    color: #ff0000;
    background-color: #fff;
    border: 1px #ff0000 solid;
}

.badge-green:hover,
.badge-green:active {
    transition: background 0.2s;
}

.badge-green-dark:hover,
.badge-green-dark:active {
    transition: background 0.2s;
}

.badge-red:hover,
.badge-red:active {
    transition: background 0.2s;
}

/* 04 - images & videos
--------------------------------------------- */

figure {
    margin-bottom: 0px !important;
}

.hovereffect a {
    display: block;
    position: relative;
    overflow: hidden;
}

.hovereffect img {
    width: 100%;
    height: auto;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.hovereffect:hover img {
    -webkit-transform: scale(1.025);
    -moz-transform: scale(1.025);
    -o-transform: scale(1.025);
    -ms-transform: scale(1.025);
    transform: scale(1.025);
}

/* 05 - cards
--------------------------------------------- */

.card,
.card-body {
    border-radius: 20px;
    --bs-border-width: 0px !important;
}

.card-img-top {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

.card-img-bottom {
    border-bottom-left-radius: .65rem;
    border-bottom-right-radius: .65rem;
}

.rounded-left {
    border-top-left-radius: .65rem;
    border-bottom-left-radius: .65rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* 10 - photoswipe custommization
--------------------------------------------- */

.pswp__caption__center {
    padding-bottom: 1.5rem !important;
    min-width: 80vw !important;
}

.pswp__caption__center h3 {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 400 !important;
    font-size: .95rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, 1);
    margin-bottom: 0;
    padding-top: .5rem;
}

.pswp__caption__center p {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 400 !important;
    font-size: .95rem;
    line-height: 1.4;
    color: rgba(255, 255, 255, .75);
    margin-bottom: .1rem;
}

.pswp__caption__center .photolink {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 400 !important;
    font-size: .70rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: .05rem;
    color: rgba(255, 255, 255, .75);
}

.pswp__caption__center .photolink a:hover {
    color: rgba(255, 255, 255, .75) !important;
    text-decoration: underline !important;
}

.noThumb {
    display: none;
}

.my-simple-gallery .hovercontent {
    float: left;
    margin: 0;
    padding: 0;
}

.my-simple-gallery figcaption {
    display: none;
}

/* 11 - figcaptions
--------------------------------------------- */

figcaption {
    font-family: 'Libre Franklin', sans-serif;
    float: left;
    display: block;
    width: 100%;
}

figcaption h3 {
    font-weight: 400 !important;
    font-size: 1.0rem;
    line-height: 1.2;
    color: #666;
    text-transform: none;
}

figcaption h3 a:link,
figcaption h3 a:visited {
    color: #666;
}

figcaption h4 {
    font-weight: 400 !important;
    font-size: .90rem;
    line-height: 1.3;
    color: #666;
}

figcaption p {
    font-weight: 400 !important;
    font-size: .90rem;
    line-height: 1.4;
    color: #666;
}

.photolink {
    font-family: 'Libre Franklin', sans-serif;
    font-size: .90rem;
    line-height: 1.3;
    margin-top: .3rem;
    color: #999;
    text-transform: uppercase;
    text-decoration: none;
}

.photocredit {
    font-family: 'Libre Franklin', sans-serif;
    font-size: .90rem;
    line-height: 2.5;
    text-transform: uppercase;
    float: right;
    text-align: right;
    width: 100%;
    letter-spacing: .03rem;
}

/* 12 - outercaptions
--------------------------------------------- */

.outercaption {
    font-family: 'Libre Franklin', sans-serif;
    font-weight: 700;
    font-size: .90rem;
    line-height: 1.4;
    color: #212529;
}

.outercaption .inlinecredit,
.outercaption a {
    font-weight: 400 !important;
}

/* 20 - wuforms
--------------------------------------------- */

form.wufoo {
    padding-left: -5px !important;
}

/* 30 - horizontal rules
--------------------------------------------- */

hr {
    display: block;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 1 !important;
    border-top: 0;
}

.hr-top-k {
    border-top: 1px #333 solid;
}

.hr-2-top {
    border-top: 2px #333 solid;
}

.hr-3-top {
    border-top: 3px #333 solid;
}

.hr-4-top {
    border-top: 4px #333 solid;
}

.hr-5-top {
    border-top: 5px #333 solid;
}

.hr-6-top {
    border-top: 6px #333 solid;
}

.hr-7-top {
    border-top: 7px #333 solid;
}

.hr-8-top {
    border-top: 8px #333 solid;
}

.hr-9-top {
    border-top: 9px #333 solid;
}

.hr-10-top {
    border-top: 10px #333 solid;
}

.hr-11-top {
    border-top: 11px #333 solid;
}

.hr-12-top {
    border-top: 12px #333 solid;
}

.hr-top-ko {
    border-top: 1px #fff solid;
}

.hr-2-top-ko {
    border-top: 2px #fff solid;
}

.hr-3-top-ko {
    border-top: 3px #fff solid;
}

.hr-6-top-ko {
    border-top: 6px #fff solid;
}

.hr-9-top-ko {
    border-top: 9px #fff solid;
}

.hr-12-top-ko {
    border-top: 12px #fff solid;
}

.hr-bottom {
    border-bottom: 1px #bfbfbf solid;
}

.hr-2-bottom {
    border-bottom: 2px #333 solid;
}

.hr-3-bottom {
    border-bottom: 3px #333 solid;
}

.hr-6-bottom {
    border-bottom: 6px #333 solid;
}

.hr-9-bottom {
    border-bottom: 9px #333 solid;
}

.hr-12-bottom {
    border-bottom: 12px #333 solid;
}

.hr-top {
    border-top: 1px #bfbfbf solid;
}

.hr-white {
    border-bottom: 3px solid #fff;
}

.hr-black {
    border-bottom: 3px solid #000;
}

.hr-era {
    border-bottom: 3px solid #00fa9a;
}

/* 31 - short rules
--------------------------------------------- */

.hr_short {
    border-bottom: 3px solid #02b875;
    width: 5rem;
}

.hr-white_short {
    border-bottom: 3px solid #fff;
    width: 5rem;
}

.hr-black_short {
    border-bottom: 3px solid #000;
    width: 5rem;
}

.hr_short_center {
    border-bottom: 3px solid rgba(2, 184, 117, 1);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    width: 80px;
}

