@font-face
{
    font-family: 'Neutraface Text';
    font-weight: 300;
    font-style: normal;

    src: url(../../assets/fonts/Neutraface%20Text-cb3e6263b4e17f1adb49f43e0e8ce1b2.woff2) format('woff2'), url(../../assets/fonts/Neutraface%20Text-ce6a2b475f2553b25545189bb2ce5ad7.woff) format('woff');
    font-display: swap;
}

@font-face
{
    font-family: 'Neutraface Text';
    font-weight: 300;
    font-style: italic;

    src: url(../../assets/fonts/Neutraface%20Text-5fed3cbdb49b9f5d0b0f3eaebae36dc8.woff2) format('woff2'), url(../../assets/fonts/Neutraface%20Text-ae7c2b0b46346288f82fa9e50bb4a0b3.woff) format('woff');
    font-display: swap;
}

@font-face
{
    font-family: 'Neutraface Text';
    font-weight: 700;
    font-style: normal;

    src: url(../../assets/fonts/Neutraface%20Text-e7908135cec4b78187db25db2dc451b0.woff2) format('woff2'), url(../../assets/fonts/Neutraface%20Text-ee0b47b393899d35a7fb1287692b1676.woff) format('woff');
    font-display: swap;
}

@font-face
{
    font-family: 'Neutraface Text';
    font-weight: 700;
    font-style: italic;

    src: url(../../assets/fonts/Neutraface%20Text-828dc1ab9bec1078d8425b7b35df96b7.woff2) format('woff2'), url(../../assets/fonts/Neutraface%20Text-3aabf02cecaed7d31064925f31c29b0b.woff) format('woff');
    font-display: swap;
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video
{
    font: inherit;
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section
{
    display: block;
}

ol,
ul
{
    list-style: none;
}

body
{
    color: #b8b8b8;
    background: #f5f5f5;

    -webkit-text-size-adjust: none;
    -ms-overflow-style: scrollbar;
    ;
}

input,
select,
textarea
{
    color: #8f8f8f;

       -moz-appearance: none;
    -webkit-appearance: none;
        -ms-appearance: none;
            appearance: none;
    ;
}

html
{
    box-sizing: border-box;

    scroll-behavior: smooth;
}

*,
:after,
:before
{
    box-sizing: inherit;
}

body.is-preload *,
body.is-preload :after,
body.is-preload :before
{
    -webkit-transition: none !important;
       -moz-transition: none !important;
        -ms-transition: none !important;
            transition: none !important;
    -webkit-animation: none !important;
       -moz-animation: none !important;
        -ms-animation: none !important;
            animation: none !important;
}

body,
input,
select,
textarea
{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14pt;
    font-weight: 400;
    line-height: 1.8;
}

a
{
    text-decoration: underline;

    color: var(--accent);
}

a:hover
{
    text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: var(--font);
    font-weight: 700;
    line-height: 1.3;

    margin: 0 0 1.5em;

    letter-spacing: -.04em;

    color: #8f8f8f;
    ;
}

h1,
h2
{
    font-size: 1.75em;
}

.row
{
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;

    box-sizing: border-box;
    margin-top: 0;
    margin-left: -1.5em;
}

.row > *
{
    box-sizing: border-box;
    padding: 0 0 0 1.5em;
}

.highlights > article header,
.row.gtr-uniform > * > :last-child
{
    margin-bottom: 0;
}

.row > .col-6
{
    width: 50%;
}

#intro > article .content,
#intro > article .image,
#landing img#logo,
.row > .col-12,
img
{
    width: 100%;
}

.row.gtr-uniform
{
    margin-top: -1.5em;
}

.row.gtr-uniform > *
{
    padding-top: 1.5em;

    text-align: left;
}

@media screen and (max-width:1680px)
{
    body,
    input,
    select,
    textarea
    {
        font-size: 12pt;
    }

    .row
    {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;

        box-sizing: border-box;
        margin-top: 0;
        margin-left: -1.5em;
    }

    .row > *
    {
        box-sizing: border-box;
        padding: 0 0 0 1.5em;
    }

    .row.gtr-uniform > * > :last-child
    {
        margin-bottom: 0;
    }

    .row.gtr-uniform
    {
        margin-top: -1.5em;
    }

    .row.gtr-uniform > *
    {
        padding-top: 1.5em;
    }
}

@media screen and (max-width:1280px)
{
    body,
    input,
    select,
    textarea
    {
        font-size: 11pt;
    }

    .row
    {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;

        box-sizing: border-box;
        margin-top: 0;
        margin-left: -1.5em;
    }

    .row > *
    {
        box-sizing: border-box;
        padding: 0 0 0 1.5em;
    }

    .row.gtr-uniform > * > :last-child
    {
        margin-bottom: 0;
    }

    .row.gtr-uniform
    {
        margin-top: -1.5em;
    }

    .row.gtr-uniform > *
    {
        padding-top: 1.5em;
    }
}

@media screen and (max-width:980px)
{
    body,
    input,
    select,
    textarea
    {
        font-size: 11pt;
    }

    .row
    {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;

        box-sizing: border-box;
        margin-top: 0;
        margin-left: -1.5em;
    }

    .row > *
    {
        box-sizing: border-box;
        padding: 0 0 0 1.5em;
    }

    .row.gtr-uniform > * > :last-child
    {
        margin-bottom: 0;
    }

    .row.gtr-uniform
    {
        margin-top: -1.5em;
    }

    .row.gtr-uniform > *
    {
        padding-top: 1.5em;
    }

    .highlights > article .content
    {
        padding: 6em 3em 3em;
    }
}

@media screen and (max-width:736px)
{
    body,
    input,
    select,
    textarea
    {
        font-size: 11pt;
    }

    .row
    {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;

        box-sizing: border-box;
        margin-top: 0;
        margin-left: -1.25em;
    }

    .row > *
    {
        box-sizing: border-box;
        padding: 0 0 0 1.25em;
    }

    .row.gtr-uniform > * > :last-child
    {
        margin-bottom: 0;
    }

    .row.gtr-uniform
    {
        margin-top: -1.25em;
    }

    .row.gtr-uniform > *
    {
        padding-top: 1.25em;
    }

    header.major
    {
        margin-bottom: 2.25em;
    }
}

.button,
button,
input[type=button],
input[type=reset],
input[type=submit]
{
    font-weight: 700;
    line-height: 3em;

    display: inline-block;

    height: 3.15em;
    padding: 0 2em;

    cursor: pointer;
    -webkit-transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
       -moz-transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
        -ms-transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
            transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;

    color: #8f8f8f !important;
    border: 2px solid rgba(144, 144, 144, .25);
    border-radius: 4px;
    background-color: transparent;

       -moz-appearance: none;
    -webkit-appearance: none;
        -ms-appearance: none;
            appearance: none;
    ;
}

.button:after,
button:after,
input[type=button]:after,
input[type=reset]:after,
input[type=submit]:after
{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    font-style: normal;
    line-height: inherit;

    margin-left: .75em;

    content: '\F105';
    text-transform: none !important;

    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

.button:hover,
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover
{
    color: var(--accent) !important;
    border-color: var(--accent);
}

.button:active,
button:active,
input[type=button]:active,
input[type=reset]:active,
input[type=submit]:active
{
    color: var(--accent) !important;
    border-color: var(--accent);
    background-color: rgba(74, 116, 201, .1);
}

form
{
    margin: 0 0 3em;
}

label
{
    font-size: .9em;
    font-weight: 700;

    display: block;

    margin: 0 0 1.5em;

    color: #8f8f8f;
}

input[type=email],
input[type=password],
input[type=text],
select,
textarea
{
    display: block;

    width: 100%;
    padding: 0 1em;

    text-decoration: none;

    color: inherit;
    border: 1px solid rgba(144, 144, 144, .25);
    outline: 0;
    background-color: rgba(144, 144, 144, .075);

       -moz-appearance: none;
    -webkit-appearance: none;
        -ms-appearance: none;
            appearance: none;
    ;
}

input[type=email]:invalid,
input[type=password]:invalid,
input[type=text]:invalid,
select:invalid,
textarea:invalid
{
    box-shadow: none;
}

select
{
    padding-right: 2.75em;

    text-overflow: ellipsis;

    background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'40\' height=\'40\' preserveAspectRatio=\'none\' viewBox=\'0 0 40 40\'%3E%3Cpath d=\'M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z\' fill=\'rgba(144, 144, 144, 0.25)\' /%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-size: 1.25rem;
    ;
}

input[type=email],
input[type=password],
input[type=text],
select
{
    height: 2.75em;
}

textarea
{
    padding: .75em 1em;
}

input[type=email]:focus,
input[type=password]:focus,
input[type=text]:focus,
select:focus,
textarea:focus
{
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}

select option
{
    color: #8f8f8f;
    background: #f5f5f5;
}

.image
{
    position: relative;

    display: inline-block;

    border: 0;
    border-radius: 4px;
}

.image img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: 4px;

    object-position: right center;
    object-fit: cover;
}

ul
{
    margin: 0 0 3em;
    padding-left: 1em;

    list-style: disc;
}

ul li
{
    padding-left: .5em;
}

ul.actions
{
    display:    -moz-flex;
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;

    margin-left: -1.5em;
    padding-left: 0;

    list-style: none;

    cursor: default;
}

ul.actions li
{
    padding: 0 0 0 1.5em;

    vertical-align: middle;
}

article.special,
div.special,
header.special,
section.special
{
    text-align: center;
}

header p
{
    font-size: large;
    font-weight: 700;

    position: relative;

    margin: 0 0 1.8em;

    color: #b8b8b8;
    ;
}

header.major h1:after,
header.major h2:after,
header.major h3:after
{
    display: block;

    height: 1px;

    content: '';

    background-color: rgba(144, 144, 144, .5);
}

.special header.major h1:after,
.special header.major h2:after,
.special header.major h3:after
{
    margin-right: auto;
    margin-left: auto;
}

header.major h1,
header.major h2
{
    font-size: 2.55em;
}

header.major h1:after,
header.major h2:after
{
    width: 2em;
    margin-top: .6em;
}

.highlights
{
    padding: 0 !important;
}

.highlights > article
{
    display:    -moz-flex;
    display: -webkit-flex;
    display:     -ms-flex;
    display:         flex;
    flex-direction: column;

    min-height: 22.5em;
}

@media (min-width:768px)
{
    .highlights > article
    {
        flex-direction: row;
    }

    #landing img#logo
    {
        width: 75%;
    }
}

#landing img#logo
{
    filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, .8));
}


#app > article .content > p
{
    font-size: larger;
    font-weight: 700;

    text-align: left;
    ;
}

#app > article .image
{
    background-color: #e3e0de;
}

#app > article .content h2,
#app > article .content p
{
    color: #8f8f8f;
}

.highlights > article:nth-child(odd)
{
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;

       -moz-flex-direction: row-reverse;
}

.wrapper
{
    position: relative;
}

.wrapper > .inner
{
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width:736px)
{
    header.major h1,
    header.major h2
    {
        font-size: 2em;
    }

    header br
    {
        display: none;
    }

    .highlights > article
    {
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;

           -moz-flex-wrap: wrap;
    }

    .highlights > article .content
    {
        width: 100%;
        padding: 3em 2em .1em;

        text-align: center;
    }

    .highlights > article h2:after
    {
        margin-right: auto;
        margin-left: auto;
    }

    .wrapper
    {
        padding: 4em 2em 1em;
    }
}

#main > .inner
{
    background-color: #fff;
}

#main > .inner > section,
#two
{
    padding: 7em 4em 4em;

    border-top: 1px solid rgba(144, 144, 144, .25);
}

#main > .inner > section:first-child
{
    border-top: none;
}

@media screen and (max-width:1280px)
{
    #main > .inner > section,
    #two
    {
        padding: 6em 4em 3em;
    }
}

@media screen and (max-width:980px)
{
    #main
    {
        padding: 0;
    }

    #main > .inner > section,
    #two
    {
        padding: 6em 3em 3em;
    }
}

#footer
{
    padding: 6em 2em 3em;

    text-align: center;
}

@media screen and (max-width:736px)
{
    #main > .inner > section,
    #two
    {
        padding: 3em 2em 2em;
    }

    #footer
    {
        padding: 4em 2em 1em;
    }

    #landing
    {
        padding: 3em 2em .1em;
    }
}

@media screen and (max-width:480px)
{
    body,
    html
    {
        min-width: 320px;
    }

    body,
    input,
    select,
    textarea
    {
        font-size: 11pt;
    }

    .row
    {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;

        box-sizing: border-box;
        margin-top: 0;
        margin-left: -1.25em;
    }

    .row > *
    {
        box-sizing: border-box;
        padding: 0 0 0 1.25em;
    }

    .row.gtr-uniform > * > :last-child
    {
        margin-bottom: 0;
    }

    .row > .col-12-xsmall,
    ul.actions:not(.fixed) li .button,
    ul.actions:not(.fixed) li button,
    ul.actions:not(.fixed) li input[type=button],
    ul.actions:not(.fixed) li input[type=reset],
    ul.actions:not(.fixed) li input[type=submit],
    ul.actions:not(.fixed) li > *
    {
        width: 100%;
    }

    .row.gtr-uniform
    {
        margin-top: -1.25em;
    }

    .row.gtr-uniform > *
    {
        padding-top: 1.25em;
    }

    ul.actions:not(.fixed)
    {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;

        width: 100% !important;
        margin-left: 0;

           -moz-flex-direction: column;
    }

    ul.actions:not(.fixed) li
    {
        -webkit-flex-grow: 1;
                flex-grow: 1;
        -webkit-flex-shrink: 1;
                flex-shrink: 1;

        width: 100%;
        padding: 1.5em 0 0;

        text-align: center;

           -moz-flex-grow: 1;
            -ms-flex-grow: 1;
           -moz-flex-shrink: 1;
            -ms-flex-shrink: 1;
    }

    ul.actions:not(.fixed) li:first-child
    {
        padding-top: 0;
    }

    #footer,
    .wrapper
    {
        padding: 3em 2em .1em;
    }
}

@media (min-width:992px)
{
    #landing img#logo
    {
        width: 50%;
    }
}

.cards
{
    display: grid;

    list-style: none;

    gap: 4rem;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.cards .card
{
    display: flex;
    flex-direction: column;

    background-color: #f7f7f7;
}

.card
{
    align-items: center;

    padding: 1.5rem;

    border: 1px solid #d3d3d3;
    ;
}

.card p
{
    margin: 2rem 0;

    text-align: left;

    color: #a9a9a9;
    ;
}

:root
{
    --font: 'Neutraface Text', sans-serif;

    --accent: #056d95;
    --primer: #93b667;
}

header.major
{
    margin-bottom: 4.5em;
}

#contact li
{
    display: flex;
    align-items: center;

    color: #8f8f8f;

    gap: .5rem;
}

#contact ul li
{
    font-size: 1.25em;

    padding-left: 0;

    white-space: nowrap;
}

@media screen and (max-width:980px)
{
    #landing
    {
        padding: 6em 3em 3em;
    }
}

#landing
{
    position: relative;

    display: flex;
    overflow: hidden;
    align-items: center;
    flex-direction: column;

    padding: 10em 4em;

    text-align: center;

    color: #fff;

    gap: 5rem;
}

#app .image img
{
    max-width: 95%;
    padding: 2rem;

    object-fit: contain;
    ;
}

#two section p
{
    text-align: left;
}

.split > *
{
    width: 100px;
}

.split
{
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;

    gap: 2rem;
}

#contact .form-label
{
    margin-bottom: 0;

    white-space: nowrap;
}

#disclaimer
{
    position: relative;

    padding: 4rem 10%;

    text-align: center;

    color: #fff;
    background-color: #cdc9c6;
    ;
}

#two input[type=submit]:after,
.button:after,
button:after,
input[type=button]:after,
input[type=reset]:after
{
    display: none;
}

.splide__list
{
    padding-left: 0;
}

#one
{
    margin-bottom: 7em;
}

@media (max-width:768px)
{
    #one
    {
        margin-bottom: 3em;
    }
}

@media (max-width:1280px)
{
    #one
    {
        margin-bottom: 6em;
    }
}

.actions
{
    justify-content: center;
}

#map
{
    max-width: 100%;
}

@media (min-width:576px)
{
    .cards
    {
        padding: 2rem;
    }

    .split
    {
        flex-direction: row;
    }

    #map
    {
        max-width: 75%;
    }
}

@media (min-width:768px)
{
    .split
    {
        gap: 5rem;
    }

    #contact
    {
        padding: 4rem;
    }

    #map
    {
        max-width: 40%;
    }
}

@media (min-width:1200px)
{
    #map
    {
        max-width: 30%;
    }
}

#intro > article
{
    flex-direction: column-reverse !important;
}

.highlights > article .image
{
    width: 100%;

    border-radius: 0;
}

.offset
{
    display: flex;
    flex-direction: column;

    gap: 1rem;
}

.offset > :nth-child(odd)
{
    align-self: end;
}

.offset > img
{
    width: 66%;
    height: auto;
}

.highlights > article .content
{
    width: 100%;
    padding: 9em 4em 6em;
}

@media (min-width:768px)
{
    .highlights > article .content,
    .highlights > article .image
    {
        width: 50%;
    }
}

#app h2
{
    color: #fff;
}

#app .button.app
{
    margin-top: 4em;
}

#landing_bg
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

#landing #logo,
#landing > a,
#landing > p
{
    z-index: 1;
}

p
{
    font-family: 'Neutraface Text', sans-serif;

    margin: 0 0 3em;
    ;
}

#landing > p
{
    font-size: large;
    font-weight: 700;

    max-width: 720px;
    margin-bottom: 0;

    color: #fff;

    filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, .8));
}

.contained
{
    max-width: max-content;
    margin: auto;
}

#intro .content
{
    max-width: 960px;
    margin: auto;
}

#intro p
{
    font-size: large;
    font-weight: 700;
}

#myModal
{
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: none;
    overflow: auto;
    align-items: center;
    justify-content: center;

    padding: 10%;

    background-color: rgba(0, 0, 0, .9);
}

#myModal .modal-content
{
    display: block;

    max-width: 100%;
    max-height: 100%;
    margin: auto;

    animation-name: zoom;
    animation-duration: .4s;

    object-fit: contain;
    ;
}

.modal
{
    cursor: pointer;
}

@keyframes zoom
{
    from
    {
        transform: scale(0);
    }

    to
    {
        transform: scale(1);
    }
}

#myModal .close
{
    font-family: sans-serif;
    font-size: 40px;
    font-weight: 700;

    position: absolute;
    top: 15px;
    right: 35px;

    transition: .3s;

    color: #f1f1f1;
}

#myModal .close:focus,
#myModal .close:hover
{
    cursor: pointer;
    text-decoration: none;

    color: #bbb;
}

@media only screen and (max-width:700px)
{
    #myModal .modal-content
    {
        width: 100%;
    }
}
