/*
    Theme Name: sunshine.works
    Theme URI: https://sunshine.works/
    Author: Jared
    Author URI: https://sunshine.network/
    Description: A simple theme that is content & device agnostic.
    Version: 1.0
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain: sunshineworks
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,600;0,700;0,800;1,400;1,900&display=swap');

:root {
    /* Space between left of viewport border and the content */
    --l: 20vw;
    /* Space between right of viewport border and the content */
    --r: 25vw;
    /* Space between top/bottom of viewport border and the content */
    --v: 1.5vh;
    /* full width left adjustment (since padding is on body) */
    --fw-adj: -20vw;
    /* Primary theme color */
    --primary: #9D1027;
    /* Secondary theme color */
    --secondary: #FF0033;
    /* Accent theme color */
    --accent: #006CEB;
    /* Extra1 theme color */
    --extra1: #FF6633;
    /* Extra2 theme color */
    --extra2: #FFCC33;
    /* Text color */
    --text: #0B0000;
    /* Heading font */
    --heading: "Montserrat", sans-serif;
    /* Body font */
    --body: "Montserrat", sans-serif;
    /* Default line height */
    --lh: 1.6;
    /* Default font size */
    --fs: 16px;
    /* rounded corners for hero/footer grid units */
    --rounded: 1.25em;
    /* Primary transition style */
    --transition1: all .25s cubic-bezier(0.4, 0, 0.01, 0.7);
    /* Secondary transition style */
    --transition2: all 1s cubic-bezier(0.4, 0, 0.01, 0.7);
}

/* Minimal reset */
* {
    box-sizing: border-box
}

body,
​blockquote,
​dd,
​dl,
​figure,
​h1,
​h2,
​h3,
​h4,
​h5,
​h6,
​input​[type=radio],
​input​[type=​checkbox]​,
​pre {
    margin: 0
}

​legend​ {
    padding: 0
}

​fieldset,
​ol,
​ul {
    padding: 0
}

​ol​,
​ul {
    list-style: none
}

​body​ {
    line-height: 1
}

​figcaption,
​figure,
​img​,
​main {
    display: block
}

​img​ {
    max-width: 100%
}

​a​ {
    text-decoration: ​none
}

​fieldset​ {
    border: 0
}

​button​,
​input,
​select,
​textarea {
    display: block
}

​label​ {
    display: table
}

​button​ {
    line-height: inherit
}

​button​::-moz-focus-inner​ {
    border: 0
}

​html​ {
    -ms-text-size-adjust: ​100%
}

/* Core elements */
body {
    padding: var(--v) var(--r) var(--v) var(--l);
    font-family: var(--body);
    color: var(--text);
    line-height: var(--lh);
    font-size: var(--fs);
    background: #F8F5F1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--heading);
    color: var(--primary);
}

.modal {
    display: none;
}

.modal.is-open {
    display: block;
}

.modal__overlay {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal__container {
    background-color: #fff;
    padding: 1em;
    min-width: 30vw;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0.5em;
    overflow-y: auto;
    box-sizing: border-box;
}

.modal__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal__title {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.25;
    color: #00449e;
    box-sizing: border-box;
}

.modal__close {
    background: transparent;
    border: 0;
    font-size: 1em;
}

.modal__header .modal__close:before {
    content: "\2715";
}

.modal__content {
    margin-top: 2rem;
    margin-bottom: 2rem;
    line-height: 1.5;
    color: rgba(0, 0, 0, .8);
}

.modal__btn {
    font-size: .875rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: .5rem;
    padding-bottom: .5rem;
    background-color: #e6e6e6;
    color: rgba(0, 0, 0, .8);
    border-radius: .25rem;
    border-style: none;
    border-width: 0;
    cursor: pointer;
    -webkit-appearance: button;
    text-transform: none;
    overflow: visible;
    line-height: 1.15;
    margin: 0;
    will-change: transform;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    transition: -webkit-transform .25s ease-out;
    transition: transform .25s ease-out;
    transition: transform .25s ease-out, -webkit-transform .25s ease-out;
}

.modal__btn:focus,
.modal__btn:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.modal__btn-primary {
    background-color: #00449e;
    color: #fff;
}

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }

    to {
        transform: translateY(0);
    }
}

@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-10%);
    }
}

.micromodal-slide {
    display: none;
}

.micromodal-slide.is-open {
    display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform;
}


/* Additional elements */

















/* larger than 1080p */
@media (min-width: 1921px) {
    :root {
        --fs: 21px;
    }
}

/* larger than 1440p (4k) */
@media (min-width: 2561px) {
    :root {
        --fs: 34px;
    }
}


@media (max-width: 1366px) {
    :root {
        --l: 8vw;
        --r: 8vw;
        --fw-adj: -8vw;
    }
}

@media (max-width: 1024px) {
    :root {
        --fs: 14px;
    }
}

@media (max-width: 991px) {
    :root {
        --fs: 12px;
        --l: 5vw;
        --r: 5vw;
        --fw-adj: -5vw;
    }
}

@media (max-width: 767px) {
    :root {
        --l: 0;
        --r: 0;
        --fw-adj: 0;
        --fs: 14px;
    }
}