/****
  Fonts
 */


@font-face {
    font-family: "Univers";
    src: url('../fonts/UniversLTStd.otf');
}

@font-face {
    font-family: "Univers";
    src: url('../fonts/UniversLTStd-Bold.otf');
    font-weight: bold;
}

/****
  Helpers
 */

.abs-fit,
.img-fit-cover,
.img-fit-contain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.img-fit-cover,
.img-fit-contain {
    object-fit: cover;
    object-position: center;
}

.img-fit-contain {
    object-fit: contain;
}


/****
  Inner containers
 */

.page .wp-block-group:not(.py-0):not(.pt-0):not(.home-header):not(.full-width) {
    padding-top: 4rem;
}

.page .wp-block-group:not(.py-0):not(.pb-0):not(.home-header):not(.full-width) {
    padding-bottom: 4rem;
}

.inner-container,
.wp-block-group:not(.home-header):not(.full-width) .wp-block-group__inner-container {
    margin: auto;
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.page .wp-block-group.icon-row .wp-block-group__inner-container {
    padding-bottom: 0 !important;
}

@media (min-width: 640px) {
    .inner-container,
    .wp-block-group:not(.home-header):not(.full-width) .wp-block-group__inner-container {
        max-width: 640px !important;
    }
}

@media (min-width: 768px) {
    .inner-container,
    .wp-block-group:not(.home-header):not(.full-width) .wp-block-group__inner-container {
        max-width: 768px !important;
    }
}

@media (min-width: 1024px) {
    .inner-container,
    .wp-block-group:not(.home-header):not(.full-width) .wp-block-group__inner-container {
        max-width: 1024px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/****
  Body Font
 */

body.page,
body.single,
body.blog {
    font-family: "Univers", Helvetica, sans-serif;
}

.green-text {
    color: #007749 !important;
}

/****
  Headings
 */

.single h1, .page h1, .blog h1 {
    font-size: 1.75rem !important;
    font-weight: bold !important;
    line-height: 1.3em;
}

.single h2, .page h2, .blog h2 {
    font-size: 1.5rem !important;
    font-weight: bold !important;
    line-height: 1.3em;
}

.single h3, .page h3, .blog h3 {
    font-size: 1.25rem !important;
    font-weight: bold !important;
}

.single h4, .page h4, .blog h4 {
    font-size: 1.15rem !important;
    font-weight: bold !important;
}

@media (min-width: 640px) {
    .single h1, .page h1, .blog h1 {
        font-size: 2rem !important;
    }

    .single h2, .page h2, .blog h2 {
        font-size: 1.75rem !important;
    }

    .single h3, .page h3, .blog h3 {
        font-size: 1.5rem !important;
    }

    .single h4, .page h4, .blog h4 {
        font-size: 1.25rem !important;
    }
}

@media (min-width: 1024px) {
    .single h1, .page h1, .blog h1 {
        font-size: 3.5rem !important;
    }

    .single h2, .page h2, .blog h2 {
        font-size: 2.5rem !important;
    }

    .single h3, .page h3, .blog h3 {
        font-size: 2rem !important;
    }

    .single h4, .page h4, .blog h4 {
        font-size: 1.5rem !important;
    }
}

.normal h2 {
    font-size: 2rem !important;
}

.normal h3 {
    font-size: 1.6rem !important;
}

.normal h4 {
    font-size: 1.2rem !important;
}

/****
  Buttons
 */

.btn,
.wp-block-button__link {
    display: inline-block;
    width: fit-content;
    background-color: #007749 !important;
    padding: 1rem 3rem !important;
    border-radius: 2rem;
    color: white;
    font-weight: bold;
    line-height: 1em;
}

.btn.btn-secondary,
.btn.btn-white,
.btn-secondary .wp-block-button__link,
.btn-white .wp-block-button__link {
    border: 1px solid #007749;
    background-color: transparent !important;
    color: #007749 !important;
}

.btn.btn-white,
.btn-white .wp-block-button__link {
    background-color: white !important;
}


/****
  Sections
 */

section h2,
.wp-block-group:not(.normal) h2,
.wp-block-columns h2 {
    color: #EC353C;
}

section h3,
section h4,
.wp-block-group h3,
.wp-block-group h4,
.wp-block-columns h3,
.wp-block-columns h4 {
    color: #007749;
}

section p, .normal section ul,
.wp-block-group p, .normal .wp-block-group ul,
.wp-block-columns p, .normal .wp-block-columns ul {
    font-size: 1.2rem;
    line-height: 1.5em;
    color: #555555;
}

.normal section ul,
.normal .wp-block-group ul,
.normal .wp-block-columns ul {
    list-style: disc;
    margin: 0 0 0 1em;
    padding: 0 0 0 1em;
}
section p:not([class*='mb-']), section ul:not([class*='mb-']),
.wp-block-group p:not([class*='mb-']), .wp-block-group ul:not([class*='mb-']),
.wp-block-columns p:not([class*='mb-']), .wp-block-columns ul:not([class*='mb-']) {
    margin-bottom: 1.5rem;
}

section p a,
.wp-block-group p a,
.wp-block-columns p a {
    color: #007749;
}

.bg-beige {
    background-color: #F7F4E2;
    color: #000000;
}

.icon-row.bg-beige li {
    color: #007749;
    font-weight: bold;
}

.bg-green,
.bg-green-dots {
    background-color: #77b53a;
    color: white;
    position: relative;
}

@media (min-width: 1024px) {
    .bg-green-dots::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: url('../img/bg-stripes-light.svg') no-repeat center center;
        background-size: 100%;
        z-index: 1;
    }
}

@media (min-width: 768px){
    .bg-green-dots::before {
        background-size: 175%;
    }
}

@media (min-width: 1024px){
    .bg-green-dots::before {
        background-size: 125%;
    }
}

.bg-green-dots .inner-container {
    z-index: 2;
    position: relative;
}

.bg-green h4,
.bg-green p {
    color: white;
}


/****
  CTA Bar
 */

section.cta,
.wp-block-group.cta {
    min-height: 175px;
    background-color: #007749;
    position: relative;
}

section.cta h2,
section.cta h3,
.wp-block-group.cta h2,
.wp-block-group.cta h3 {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

@media (min-width: 1024px) {
    section.cta,
    .wp-block-group.cta {
        min-height: 250px;
    }
}

@media (min-width: 1024px) {
    section.cta.digital::before,
    .wp-block-group.cta.digital::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url('../img/bg-stripes.svg') no-repeat center center;
    }
}

section.cta .inner-container, .wp-block-group.cta .wp-block-group__inner-container {
    position: relative;
}

section.cta h2,
section.cta h3,
section.cta p,
.wp-block-group.cta h2,
.wp-block-group.cta h3,
.wp-block-group.cta p {
    color: white;
}


/****
  Icon Rows
 */

section.icon-row ul li,
.wp-block-group.icon-row ul li {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 4rem;
    width: 50%;
    padding: 0 1rem;
    text-align: center;
}

@media (min-width: 640px) {
    section.icon-row ul li,
    .wp-block-group.icon-row ul li {
        width: 25%;
        padding: 0 3rem;
        margin-bottom: 0;
    }
}

.wp-block-group.icon-row img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center center;
}

.wp-block-group.icon-row .img-wrapper {
    background-color: white;
    height: 2.5rem !important;
    width: 2.5rem !important;
    padding: 1.25rem;
    border-radius: 50%;
    margin-bottom: 1rem;
    box-sizing: content-box;
    overflow: visible;
    display: inline-block;
}

.wp-block-group.icon-row h2 {
    margin-bottom: 3rem;
}

/****
  Hero Sections
 */

.hero__container {
    position: relative;
    padding-bottom: 100%;
}

@media (min-width: 640px) {
    .hero__container {
        padding-bottom: 65%;
    }
}

@media (min-width: 1080px) {
    .hero__container {
        padding: 0;
        height: 80vh;
    }
}

.hero__image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
}

@media (min-width: 1080px) {
    .hero__image::after {
        background-color: rgba(0, 0, 0, 0.1);
    }
}

.home-header h1.hero__text {
    color: white;
    position: absolute;
    bottom: 2rem;
    left: 0;
    width: calc(100% - 4rem);
    max-width: 400px;
    font-size: 1.5rem !important;
    background: rgba(50,50,50,0.3);
    padding: 2rem;
}

@media (min-width: 640px) {
    .home-header h1.hero__text {
        font-size: 2.5rem !important;
    }
}

@media (min-width: 1024px) {
    .home-header h1.hero__text {
        bottom: 4rem;
        width: calc(100% - 8rem);
        max-width: 600px;
        font-size: 3.5rem !important;
    }
}

.hero__text,
.slider__content h1 {
    line-height: 1.2em !important;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;;
}

/****
  Map
 */

.locations-map img {
    width: 100%;
}

@media (min-width: 640px) {
    .locations-map {
        margin: 0 -200px 0 -25px;
    }
}

@media (min-width: 1024px) {
    .locations-map {
        margin: 0 -300px 0 -25px;
    }
}


/****
  Images
 */

.rounded img {
    border-radius: 1rem;
}

.full-width-image img {
    width: 100vw;
    object-fit: cover;
    object-position: center;
}


/****
  News Feed
 */

section.news h3 {
    font-size: 1.5rem !important;
}


/****
  Investor Relations
 */

.investor__text {
    padding: 2rem;
    background: rgba(50,50,50,0.3);
}

.investor__text h1, .investor__text h2, .investor__text h3, .investor__text h4, .investor__text.wp-block-group p {
    color: #FFFFFF;
    margin-bottom: 0 !important;
    font-weight: 100 !important;
}

.investor__text h3 {
    font-size: 2.5rem !important;
    line-height: 3rem !important;
    margin-top: 2rem !important;
}

.investor__text.wp-block-group p {
    font-size: 1.1rem;
}

.stats-row .wp-block-columns {
    margin: 0;
}

.stats-row h4 {
    font-weight: 100 !important;
}

.stats-row p {
    font-size: 1rem !important;
}

.stats-row h3, .stats-row h4, .stats-row p {
    margin-bottom: 0 !important;
}

@media (min-width: 782px) {

    .tradingview-widget-container {
        min-height: 450px;
    }
}
