:root{
    --blue-regular: #232766;
    --blue-semibold: #11214d;
    --blue-bold: #17122d;    
}

html, body {
    margin: 0;
    padding: 0;
}

h1, .h1, 
h2, .h2, 
h3, .h3,
h4, .h4, 
h5, .h5,
h6, .h6,
table th, 
table td, 
ul, ol, dl {
    margin: 0 0 1.5rem;
}

h1, .h1, 
h2, .h2, 
h3, .h3, 
h4, .h4, 
h5, .h5, 
h6, .h6,
table th,  {
    color: var(--blue-regular);
    font-family: sharp sans,arial,sans-serif;
    font-weight: 600;
    line-height: calc(1em + 8px);
}

h1, .h1 {
    font-size: 2.5rem;
    font-weight: 700;
}
h3, .h3 {
    font-size: 1.375rem; /* 22 */
    font-weight: 700;
}

.button.button-arrow:after, 
a.button.button-arrow:after, 
input.button.button-arrow:after, 
button.button.button-arrow:after {
    font-family: greenhouse-web-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.button.button-arrow::after, 
a.button.button-arrow::after, 
input.button.button-arrow::after, 
button.button.button-arrow::after {
    font-size: 1.75rem;
    margin-left: 0.125rem;
    transition: transform .25s;
}

a, 
.link, 
.anchor {
    color: #17494d;
    cursor: pointer;
    font-size: inherit;
    width: auto;
    text-decoration: underline;
    display: inline;
    transition: all .25s;
}

.button, 
a.button, 
input.button, 
button.button {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    background-color: var(--blue-semibold);
    border-radius: 0;
    border: 2px solid var(--blue-semibold);
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font: 600 1rem/1.25em "Sharp Sans",arial,sans-serif;
    margin: 0;
    min-width: 8rem;
    padding: 0.5rem 1.5rem;
    text-align: center;
    text-decoration: none;
    transition: background-color .25s,border .25s,color .25s;
    width: 100%;
}

.button.button-medium, 
a.button.button-medium, 
input.button.button-medium, 
button.button.button-medium {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.button.button-secondary,
a.button.button-secondary,
input.button.button-secondary,
button.button.button-secondary {
    background-color: transparent;
    border-color: var(--blue-semibold);
    color: var(--blue-semibold);
}

.button.button-arrow, 
a.button.button-arrow, 
input.button.button-arrow, 
button.button.button-arrow {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}

.button.button-secondary:hover, 
.button.button-secondary:focus, 
a.button.button-secondary:hover, 
a.button.button-secondary:focus, 
input.button.button-secondary:hover, 
input.button.button-secondary:focus,
button.button.button-secondary:hover,
button.button.button-secondary:focus {
    background-color: var(--blue-semibold);
    border-color: var(--blue-semibold);
    color: #fff;
}

.button:hover, 
.button:focus, 
.button:active, 
a.button:hover, 
a.button:focus, 
a.button:active, 
input.button:hover, 
input.button:focus, 
input.button:active, 
button.button:hover,
button.button:focus, 
button.button:active {
    text-decoration: none;
}

.button:hover, 
.button:focus, 
.button:active, 
a.button:hover, 
a.button:focus, 
a.button:active, 
input.button:hover, 
input.button:focus, 
input.button:active, 
button.button:hover, 
button.button:focus, 
button.button:active {
    background-color: var(--blue-regular);
    border-color: var(--blue-regular);
    color: #fff;
    outline: 0;
    text-decoration: none;
}

/* STYLE GRID */
.grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: stretch;
    justify-content: stretch;
}
.grid .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -8px;
}
.grid .col {
    position: relative;
    padding: 8px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

@media (min-width: 481px) {

    .button, 
    a.button, 
    input.button, 
    button.button {
        width: auto;
    }

}

@media (min-width: 768px) {

    h1, .h1 {
        font-size: 3.5rem;
    }
    h3, .h3 {
        font-size: 1.5rem; /* 24 */
    }

    /* STYLE GRID */
    .grid .col.col-small-5 {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 41.6666666667%;
    }
    .grid .col.col-small-6 {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%;
    }
    .grid .col.col-small-7 {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 58.3333333333%;
    }
    .grid .col.push-small-1 {
        margin-left: 8.3333333333%;
    }

}

@media (min-width: 1200px) {

    h1, .h1 {
        font-size: 4.5rem;
    }
    h3, .h3 {
        font-size: 2rem; /* 32 */
    }

}