html {
    font-size: 62.5%;
}

body {
    color: var(--color-primary-gray);
    font-family: var(--font-main);
    font-size: var(--font-body);
    font-weight: 400;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--color-primary-teal);
    text-decoration: underline;
}

a:hover {
   text-decoration: none;
}

a img {
    border: none;
}

h1 {
    color: var(--color-primary-secondary-blue);
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 2rem 0;
}

h2 {
    color: var(--color-primary-dark-blue);
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}

h3 {
    color: var(--color-primary-south-gray);
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}

h4 {
    color: var(--color-primary-dark-blue);
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 2rem 0;
}

h5 {
    color: var(--color-primary-gray);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}

h6 {
    color: var(--color-primary-black);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 1rem 0;
}


ul + h2,
ul + h3,
ul + h4,
ul + h5,
ul + h6,
p + h2,
p + h3,
p + h4,
p + h5,
p + h6 {
    margin-top: 4rem;
}

p {
    line-height: 1.6;
    margin: 0 0 2rem 0;
}

ul {
    margin-bottom: 1.5rem;
    list-style-type: disc;
    margin-left: 1.25rem;
}

ul li  {
    line-height: 1.6;
    margin-bottom: 1rem;
}

ul ul {
    list-style-type: circle;
}

hr {
    margin: 2rem 0;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
}

a.skip-link {
   color: #fff;
}

.visually-hidden {
    position: absolute !important;
    clip: rect(1px,1px,1px,1px);
    overflow: hidden;
    height: 1px;
    width: 1px;
    word-wrap: normal;
}

/** begin generic layout styles **/

main {
    background-color: #fff;
}

.region {
    margin: 0 auto;
    max-width: 800px;
}

/** end generic layout styles **/

/*** begin breadcrumb styles ***/

#breadcrumbs {
    background-color: var(--color-primary-light-gray);
    color: var(--color-primary-dark-gray);
    font-size: var(--font-body-small);
    padding: 2rem 5vw;
    text-align: left;
}

.search #breadcrumbs {
    background-color: var(--color-primary-white);
}

#breadcrumbs a {
    color: var(--color-primary-dark-gray);
    text-decoration: none;
}



/*** end breadcrumb styles ***/

/** begin WYSIWG editor styles **/

.wp-caption-text {
    font-style: italic;
    margin: 1rem 0;
    text-align: center;
}

.alignleft {
    float: left;
    margin: 0 2rem 2rem 0;
}

.alignright {
    float: right;
    margin: 0 0 2rem 2rem;
}

.alignnone {
    height: auto;
    max-width: 100%;
}

.alignleft {
    float: left;
    margin: 0 2rem 3rem 0;
}

.alignright {
    float: right;
    margin: 0 0 3rem 2rem;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 3rem auto 3rem auto;
}

.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/** end WYSIWG editor styles **/

/**** begin general button styles ****/

.button {
    background-color: var(--color-primary-white);
    border: solid 2px #cacbcc;
    box-sizing: border-box;
    color: var(--color-primary-gray);
    cursor: pointer;
    display: inline-block;
    font-size: var(--font-body-medium);
    font-weight: 500;
    line-height: 1.1;
    padding: 1rem calc(5rem + 100px) 1rem 5rem;
    position: relative;
    text-decoration: none;
    text-align: center;
    transition: all 0.5s ease-out 0s;
    width: auto;
    z-index: 1;
}

.button.dark,
.gform_button.button {
    background-color: rgba(54, 94, 134, 0.9);
    color: var(--color-primary-white);
}

.button::after {
    background-color: var(--color-primary-blue);
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 100px;
    transition: all 0.5s ease-out 0s;
    width: 0;
    height: 100%;
    box-sizing: border-box;
    z-index: -1;
}

.button.dark::after {
    background-color: var(--color-primary-white);
}

.button .button-arrow {
    background-color: var(--color-primary-blue);
    display: inline-block;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    padding: 2rem;
    box-sizing: border-box;
    transition: all 0.5s ease-out 0s;
    width: 100px;
}

.button.dark .button-arrow {
    background-color: var(--color-primary-white);
}

.button .button-arrow-icon {
    fill: var(--color-primary-white);
}

.button.dark .button-arrow-icon {
    fill: var(--color-primary-dark-blue);
}

.button .button-arrow svg {
    height: 20px;
    width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.5s ease-out 0s;
}

.button:hover {
    color: var(--color-primary-white);
}

.button.dark:hover,
.gform_button.button:hover {
    color: var(--color-primary-dark-blue);
}

.button:hover::after {
    width: calc(100% - 100px);
}

.gform_button.button {
    padding: 1rem 5rem;
}


/**** end general button styles ****/

/**** responsive embeded videos ****/

.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-container iframe, .video-container object, .video-container embed, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/**** end responsive embeded videos ****/


@media (min-width: 2200px) {

}

@media (min-width: 1900px) and (max-width: 2199px) {

}

@media screen and (min-width: 768px) and (max-width: 1024px) {

}

@media (max-width: 768px) {
    
    h1 {
        font-size: 3.5rem;
    }

}


@media screen and (max-width: 900px) {

    img.alignnone,
    img.alignleft,
    img.alignright,
    img.aligncenter {
        height: auto;
        width: 100%;
    }

}
