:root {
    --blue-color:#0a1a5c;
    --white-color:#FFFFFF;
    --gold-color:#bd9a50;
    --black-color:#0000;
    --midBlue-color:#385ba3;
    --yellow-color:#ffc542;
    --midGrey-color:#3c3c3e;
    --lightGrey-color:#d1d1d1;
    --cream-color:#faf6ed;
    --font-family:'Open Sans', sans-serif;
}

/*=== General box-sizing rule for all elements, and ::before and ::after pseudo-elements ===*/
*, ::after, ::before {
    box-sizing: border-box;
}

/*=== Base body styling ===*/
body {
    margin: 0;
    font-family: var(--font-family);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--black-color);
    text-align: left;
    background-color: var(--white-color);
}

/*=== Anchor link styling ===*/
a {
    color: var(--midBlue-color);
    text-decoration: none;
    background-color: transparent;
}

/*=== Container class for layout ===*/
.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

/*=== Responsive container width adjustments ===*/
@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/*=== Row class for flexbox layout ===*/
.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

/*=== Column classes for various screen sizes ===*/
.col-12, .col-md-6 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

/*=== Responsive column adjustments for medium screens ===*/
@media (min-width: 768px) {
    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }
}

/*=== Text alignment utility class ===*/
.text-right {
    text-align: right !important;
}

/*=== General styling for html and body ===*/
html, body {
    font-family: 'Open Sans', sans-serif;
}

/*=== Footer styling ===*/
footer {
    background-color: var(--blue-color);
    padding-top: 40px;
    padding-bottom: 40px;
    padding: 60px 0 60px 0;
}

/*=== Footer logo image styling ===*/
.f-logo img {
    width: 133px;
}

/*=== General footer text color ===*/
footer * {
    color: var(--white-color);
}

/*=== Terms navigation styling ===*/
.termsnav {
    margin-top: 80px;
}

.termsnav-item:not(:last-child) {
    margin-right: 22px;
}

/*=== Footer links left side ===*/
.footer-links-left a {
    font-size: 14px;
    font-weight: 700;
    line-height: 28px;
}

.footer-links-left a:hover {
    color: var(--gold-color);
    text-decoration: none;
}

/*=== Footer links right side ===*/
.footer-links-right a {
    font-size: 14px;
    line-height: 28px;
}

.footer-links-right a:hover {
    color: var(--gold-color);
    text-decoration: none;
}

/*=== Footer address styling ===*/
.footer-address {
    font-size: 14px;
    line-height: 28px;
}

/*=== Terms navigation item styling ===*/
.termsnav-item {
    font-size: 12px;
    line-height: 31px;
}

.termsnav-item:hover {
    text-decoration: none;
    color: var(--gold-color);
}

/*=== Footer social links styling ===*/
a.footer-social {
    width: 50px;
    height: 50px;
    border-radius: 30px;
    border: 1px solid var(--white-color);
    display: inline-block;
    position: relative;
    margin-top: 50px;
    margin-left: 5px;
}

a.footer-social:hover {
    border: 1px solid var(--gold-color);
    background-color: var(--white-color);
}

a.footer-social img {
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 20px;
}

/*=== Responsive styling for small screens ===*/
@media only screen and (max-width: 767px) {
    body {
        overflow-x: hidden;
    }
    .flex-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    footer div[class^="col"] {
        text-align: center !important;
        margin-bottom: 20px;
    }
    footer a.footer-social {
        margin-top: 10px;
    }
    footer .termsnav {
        margin-top: 0;
    }
    footer {
        padding: 30px 0 20px 0;
    }
    .termsnav-item:not(:last-child) {
        margin: 0;
    }
    .termsnav-item {
        width: 50%;
        display: inline-block;
    }
}
