:root {
    --horan-blue-header: #1B3453;
    --horan-blue: #263B54;
    --horan-blue-accent: #14759B;
    --horan-blue-light: #ADE9FF;
    --horan-blue-light-two: #669EB3;
    --horan-blue-navy: #002B60;
    --horan-gold: #F2AF1A;
    --horan-yellow: #D39A1A;
    --horan-yellow-two: #E3B95D;
    --horan-stone-200: #E7E5E4;
    --horan-stone-300: #D6D3D1;
    --horan-stone-400: #A8A29E;
    --horan-grey: #6C6361;
    --horan-grey-dark: #404040;
    --horan-egret: #F2EBDF;
    --horan-neutral-500: #737373;
    --horan-almost-white: #FFFAF7;
    /**/
    --font-size-percentage: 1;
    --h1-font-size: 72px;
    --h2-font-size: 60px;
    --h3-font-size: 48px;
    --h4-font-size: 36px;
    --h5-font-size: 32px;
    --p0-font-size: 26px;
    --p1-font-size: 24px;
    --p2-font-size: 22px;
    --p3-font-size: 20px;
    --p4-font-size: 18px;
    --p5-font-size: 14px;
    /**/
    --primary-heading-font: "Roboto Slab";
    --header-height: 75px;
    --navigation-max-width: 1600px;
    --header-nav-link-font-size: 17px;
    --std-width-constraint: 1240px;
    --std-width-constraint-percentage: 90%;
    --max-width-contraint: 1920px;

    interpolate-size: allow-keywords;
}
@media(min-width: 1650px){
    :root {
        /* ~113% of normal */
        --font-size-percentage: 1.13;
        --h1-font-size: 82px;
        --h2-font-size: 68px;
        --h3-font-size: 55px;
        --h4-font-size: 41px;
        --h5-font-size: 36px;
        --p0-font-size: 30px;
        --p1-font-size: 28px;
        --p2-font-size: 26px;
        --p3-font-size: 24px;
        --p4-font-size: 20px;
        --p5-font-size: 18px;
        /**/
        --std-width-constraint: 1450px;
    }
}
@media(max-width: 1190px) {
    :root {
        /* ~90% of normal */
        --font-size-percentage: .9;
        --h1-font-size: 65px;
        --h2-font-size: 54px;
        --h3-font-size: 43px;
        --h4-font-size: 36px;
        --h5-font-size: 32px;
        /**/
    }
}
@media(max-width: 950px) {
    :root {
        /* ~76% of normal */
        --font-size-percentage: .76;
        --h1-font-size: 55px;
        --h2-font-size: 45px;
        --h3-font-size: 36px;
        --h4-font-size: 27px;
        --h5-font-size: 24px;
        /**/
    }
}
@media(max-width: 768px) {
    :root {
        /* ~62% of normal */
        --font-size-percentage: .62;
        --h1-font-size: 45px;
        --h2-font-size: 40px;
        --h3-font-size: 32px;
        --h4-font-size: 24px;
        --h5-font-size: 22px;
        /**/
        --p0-font-size: 20px;
        --p1-font-size: 18px;
        --p2-font-size: 17px;
        --p3-font-size: 16px;
        --p4-font-size: 15px;
        --p5-font-size: 12px;
    }
}
@media(max-width: 550px) {
    :root {
        /* ~55% of normal */
        --font-size-percentage: .55;
        --h1-font-size: 40px;
        --h2-font-size: 35px;
        --h3-font-size: 30px;
        --h4-font-size: 24px;
        --h5-font-size: 22px;
        /**/
        --p0-font-size: 18px;
        --p1-font-size: 17px;
        --p2-font-size: 16px;
        --p3-font-size: 14px;
        --p4-font-size: 12px;
        --p5-font-size: 10px;
    }
}
@media(max-width: 500px) {
    :root {
        --header-height: 60px;
    }
}

html {
    scroll-behavior: smooth;
}

* {
    margin: 0;
}

main {
    padding-top: var(--header-height);
}


ul {
    padding: 0;
    list-style: none;
}
ul.list_bullets{
    list-style: disc;
}

a {
    cursor: pointer;
    text-decoration: none;
    appearance: none;
    color: inherit;
}

a:visited, a:-webkit-any-link {
    text-decoration: none;
    appearance: none;
}

button {
    padding: 0px;
    cursor: pointer;
    background: none;
    border: none;
    width: fit-content;
}

span {
    font-family: inherit;
}

.std_width_constraint {
    max-width: var(--std-width-constraint);
    width: var(--std-width-constraint-percentage);
    margin: auto;
}
.max_width_constraint {
    max-width: var(--max-width-contraint);
    margin: auto;
}
.scroll_margin_top_header_height{
    scroll-margin-top: var(--header-height);
}

/*For locking scroll when overlay popups*/
.lock_body {
    overflow-Y: scroll;
    position: fixed;
    width: 100%;
    top: var(--scroll_top);
}
body.lock_body header{
    top: 0px;
}

/*#region Colors*/
.text_white, a.text_white {
    color: white;
}
.text_grey{
    color: var(--horan-grey);
}
.text_grey_dark {
    color: var(--horan-grey-dark);
}
.text_stone_200 {
    color: var(--horan-stone-200);
}
.text_stone_300 {
    color: var(--horan-stone-300);
}
.text_stone_400 {
    color: var(--horan-stone-400);
}
.text_neutral_500{
    color: var(--horan-neutral-500);
}
.text_egret {
    color: var(--horan-egret);
}
.text_blue{
    color: var(--horan-blue);
}
.text_blue_accent{
    color: var(--horan-blue-accent);
}
.text_blue_light {
    color: var(--horan-blue-light);
}
.text_blue_light_two {
    color: var(--horan-blue-light-two);
}
.text_blue_navy{
    color: var(--horan-blue-navy);
}
.text_gold{
    color: var(--horan-gold);
}
.text_yellow {
    color: var(--horan-yellow);
}
.text_yellow_two{
    color: var(--horan-yellow-two);
}
.text_almost_white{
    color: var(--horan-almost-white);
}

.hover_text_white:hover {
    color: white;
}
.hover_text_blue_navy:hover{
    color: var(--horan-blue-navy);
}


.bg_white {
    background: white;
}
.bg_almost_white{
    background: var(--horan-almost-white);
}

.bg_header_blue {
    background: var(--horan-blue-header);
}

.bg_blue {
    background: var(--horan-blue);
}
.bg_blue_light_two {
    background: var(--horan-blue-light-two);
}
.bg_yellow {
    background: var(--horan-yellow);
}
.bg_egret {
    background: var(--horan-egret);
}

.hover_bg_white:hover{
    background: white;
}
.hover_bg_yellow:hover {
    background: var(--horan-yellow);
}
.hover_bg_blue_navy:hover {
    background: var(--horan-blue-navy);
}
.hover_bg_black:hover {
    background: black;
}

.border_yellow {
    border: 1px solid var(--horan-yellow);
}
.border_black{
    border: 1px solid black;
}
.hover_border_blue_light_two:hover {
    border: 1px solid var(--horan-blue-light-two);
}
/*#endregion*/

/*#region Buttons*/
button {
    /*Set default button text color to black to stop the default color of blue being applied on mobile browsers*/
    color: black;
}

.std_button {
    cursor: pointer;
    display: flex;
    align-items: center;
    width: fit-content;
    box-sizing: border-box;
    height: 52px;
    padding: 16px 36px;
    border-radius: 2000px;
    font-size: 18px;
    line-height: 20px;
    font-weight: 500;
    box-shadow: 0px 1px 2px 0px #0000001A, 0px 0px 2px 0px #00000026;
    transition: background 500ms, color 500ms;
}
@media(max-width: 768px) {
    .std_button {
        height: unset;
        min-height: 40px;
        padding: 10px 20px;
        font-size: 12px;
        line-height: 18px;
        text-align: center;
    }
}

button[disabled] {
    filter: brightness(0.7);
    pointer-events: none;
}
/*#endregion*/

/* #region Font Sizing & Weight */
* {
    font-family: 'Roboto';
}

h1, .h1, h1 *, .h1 *, h2, .h2, h2 *, .h2 *, h3, .h3, h3 *, .h3 *, h4, .h4, h4 *, .h4 *, h5, .h5, h5 *, .h5 * {
    font-family: var(--primary-heading-font); /*TODO?*/
    font-weight: 400;
    font-size: var(--font-size);
    line-height: 105%;
}

h1,
.h1 {
    --font-size: var(--h1-font-size);
}

h2,
.h2 {
    --font-size: var(--h2-font-size);
}

h3,
.h3 {
    --font-size: var(--h3-font-size);
}

h4,
.h4 {
    --font-size: var(--h4-font-size);
}

h5,
.h5 {
    --font-size: var(--h5-font-size);
}

.p0{
    font-size: var(--p0-font-size);
}
.p1 {
    font-size: var(--p1-font-size);
}

.p2 {
    font-size: var(--p2-font-size);
}

.p3 {
    font-size: var(--p3-font-size);
}

.p4 {
    font-size: var(--p4-font-size);
}

.p5 {
    font-size: var(--p5-font-size);
}

.uppercase{
    text-transform: uppercase;
}
.italic {
    font-style: italic;
}

.weight_100 {
    font-weight: 100;
}

.weight_200 {
    font-weight: 200;
}

.weight_300 {
    font-weight: 300;
}

.weight_400 {
    font-weight: 400;
}

.weight_500 {
    font-weight: 500;
}

.weight_600 {
    font-weight: 600;
}

.weight_700,
.bold {
    font-weight: 700;
}

.weight_800 {
    font-weight: 800;
}

.weight_900 {
    font-weight: 900;
}

.line_height_140 {
    line-height: 140%;
}
.line_height_120 {
    line-height: 120%;
}

.line_height_105 {
    line-height: 105%;
}
.roboto{
    font-family: 'Roboto';
}
.text_inter{
    font-family: 'Inter';
}
.text_roboto_slab {
    font-family: 'Roboto Slab';
}
.text_center{
    text-align: center;
}
.text_align_right{
    text-align: right;
}
.text_align_left {
    text-align: left;
}
.text_underline,
a.text_underline {
    text-decoration: underline;
}
/* #endregion */

