﻿/* =========================================================
   CDRI WEBSITE ACCESSIBILITY - FONT SIZE
   ========================================================= */

/* ---------------------------------------------------------
   Base font scale
   --------------------------------------------------------- */

html {
    --cdri-font-scale: 1;
}


/* ---------------------------------------------------------
   Font size levels
   --------------------------------------------------------- */

html.cdri-font-small {
    --cdri-font-scale: 0.90;
}

html.cdri-font-normal {
    --cdri-font-scale: 1;
}

html.cdri-font-large {
    --cdri-font-scale: 1.10;
}

html.cdri-font-xlarge {
    --cdri-font-scale: 1.20;
}


/* =========================================================
   BODY
   ========================================================= */

html.cdri-font-small body {
    font-size: 90%;
}

html.cdri-font-normal body {
    font-size: 100%;
}

html.cdri-font-large body {
    font-size: 110%;
}

html.cdri-font-xlarge body {
    font-size: 120%;
}


/* =========================================================
   COMMON TEXT ELEMENTS
   ========================================================= */

html.cdri-font-small p,
html.cdri-font-small li,
html.cdri-font-small label,
html.cdri-font-small td,
html.cdri-font-small th,
html.cdri-font-small span,
html.cdri-font-small a {
    font-size: 90%;
}

html.cdri-font-large p,
html.cdri-font-large li,
html.cdri-font-large label,
html.cdri-font-large td,
html.cdri-font-large th,
html.cdri-font-large span,
html.cdri-font-large a {
    font-size: 110%;
}

html.cdri-font-xlarge p,
html.cdri-font-xlarge li,
html.cdri-font-xlarge label,
html.cdri-font-xlarge td,
html.cdri-font-xlarge th,
html.cdri-font-xlarge span,
html.cdri-font-xlarge a {
    font-size: 120%;
}


/* =========================================================
   HEADINGS
   ========================================================= */

html.cdri-font-small h1,
html.cdri-font-small h2,
html.cdri-font-small h3,
html.cdri-font-small h4,
html.cdri-font-small h5,
html.cdri-font-small h6 {
    font-size: 90%;
}

html.cdri-font-large h1,
html.cdri-font-large h2,
html.cdri-font-large h3,
html.cdri-font-large h4,
html.cdri-font-large h5,
html.cdri-font-large h6 {
    font-size: 110%;
}

html.cdri-font-xlarge h1,
html.cdri-font-xlarge h2,
html.cdri-font-xlarge h3,
html.cdri-font-xlarge h4,
html.cdri-font-xlarge h5,
html.cdri-font-xlarge h6 {
    font-size: 120%;
}


/* =========================================================
   FORM CONTROLS
   ========================================================= */

html.cdri-font-small input,
html.cdri-font-small select,
html.cdri-font-small textarea,
html.cdri-font-small button {
    font-size: 90%;
}

html.cdri-font-large input,
html.cdri-font-large select,
html.cdri-font-large textarea,
html.cdri-font-large button {
    font-size: 110%;
}

html.cdri-font-xlarge input,
html.cdri-font-xlarge select,
html.cdri-font-xlarge textarea,
html.cdri-font-xlarge button {
    font-size: 120%;
}


/* =========================================================
   TABLES
   ========================================================= */

html.cdri-font-small table,
html.cdri-font-small table td,
html.cdri-font-small table th {
    font-size: 90%;
}

html.cdri-font-large table,
html.cdri-font-large table td,
html.cdri-font-large table th {
    font-size: 110%;
}

html.cdri-font-xlarge table,
html.cdri-font-xlarge table td,
html.cdri-font-xlarge table th {
    font-size: 120%;
}


/* =========================================================
   NAVIGATION / MENU
   ========================================================= */

html.cdri-font-small nav a,
html.cdri-font-small .navbar a,
html.cdri-font-small .nav-link {
    font-size: 90%;
}

html.cdri-font-large nav a,
html.cdri-font-large .navbar a,
html.cdri-font-large .nav-link {
    font-size: 110%;
}

html.cdri-font-xlarge nav a,
html.cdri-font-xlarge .navbar a,
html.cdri-font-xlarge .nav-link {
    font-size: 120%;
}


/* =========================================================
   BUTTONS
   ========================================================= */

html.cdri-font-small .btn {
    font-size: 90%;
}

html.cdri-font-large .btn {
    font-size: 110%;
}

html.cdri-font-xlarge .btn {
    font-size: 120%;
}


/* =========================================================
   CARDS / CONTENT
   ========================================================= */

html.cdri-font-small .card-title,
html.cdri-font-small .card-text {
    font-size: 90%;
}

html.cdri-font-large .card-title,
html.cdri-font-large .card-text {
    font-size: 110%;
}

html.cdri-font-xlarge .card-title,
html.cdri-font-xlarge .card-text {
    font-size: 120%;
}


/* =========================================================
   FOOTER
   ========================================================= */

html.cdri-font-small footer,
html.cdri-font-small footer a,
html.cdri-font-small footer p,
html.cdri-font-small footer li {
    font-size: 90%;
}

html.cdri-font-large footer,
html.cdri-font-large footer a,
html.cdri-font-large footer p,
html.cdri-font-large footer li {
    font-size: 110%;
}

html.cdri-font-xlarge footer,
html.cdri-font-xlarge footer a,
html.cdri-font-xlarge footer p,
html.cdri-font-xlarge footer li {
    font-size: 120%;
}


/* =========================================================
   TOP UTILITY BAR
   ========================================================= */

html.cdri-font-small .top-utility-bar,
html.cdri-font-small .top-utility-bar a {
    font-size: 90%;
}

html.cdri-font-large .top-utility-bar,
html.cdri-font-large .top-utility-bar a {
    font-size: 110%;
}

html.cdri-font-xlarge .top-utility-bar,
html.cdri-font-xlarge .top-utility-bar a {
    font-size: 120%;
}


/* =========================================================
   DO NOT SCALE ICONS
   ========================================================= */

html.cdri-font-small i,
html.cdri-font-normal i,
html.cdri-font-large i,
html.cdri-font-xlarge i,

html.cdri-font-small svg,
html.cdri-font-normal svg,
html.cdri-font-large svg,
html.cdri-font-xlarge svg {
    font-size: inherit;
}


/* Bootstrap Icons */

html.cdri-font-small .bi,
html.cdri-font-normal .bi,
html.cdri-font-large .bi,
html.cdri-font-xlarge .bi {
    font-size: inherit;
}


/* Font Awesome */

html.cdri-font-small .fa,
html.cdri-font-small .fas,
html.cdri-font-small .far,
html.cdri-font-small .fab,

html.cdri-font-normal .fa,
html.cdri-font-normal .fas,
html.cdri-font-normal .far,
html.cdri-font-normal .fab,

html.cdri-font-large .fa,
html.cdri-font-large .fas,
html.cdri-font-large .far,
html.cdri-font-large .fab,

html.cdri-font-xlarge .fa,
html.cdri-font-xlarge .fas,
html.cdri-font-xlarge .far,
html.cdri-font-xlarge .fab {
    font-size: inherit;
}


/* =========================================================
   EXCLUDE UX4G WIDGET
   ========================================================= */

/*
   Don't allow our CDRI font-size rules to interfere
   with the UX4G accessibility widget.
*/

#uw-main,
#uw-main *,
.uw-widget,
.uw-widget *,
.uw-widget-custom-trigger,
.uw-widget-custom-trigger *,
[class*="ux4g"],
[class*="ux4g"] * {
    /* UX4G controls itself */
}


/* =========================================================
   ACCESSIBILITY BUTTONS
   ========================================================= */

.font-size-btn,
.text-size-btn,
.accessibility-font-btn {
    white-space: nowrap;
    cursor: pointer;
}


/* =========================================================
   HIGH CONTRAST
   ========================================================= */

body.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}

body.high-contrast a {
    color: #ffff00 !important;
}

body.high-contrast p,
body.high-contrast span,
body.high-contrast li,
body.high-contrast label,
body.high-contrast td,
body.high-contrast th,
body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
body.high-contrast h6 {
    color: #fff !important;
}

body.high-contrast header,
body.high-contrast nav,
body.high-contrast footer,
body.high-contrast section,
body.high-contrast .card,
body.high-contrast .modal-content {
    background-color: #000 !important;
    color: #fff !important;
}

body.high-contrast input,
body.high-contrast select,
body.high-contrast textarea {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #fff !important;
}

body.high-contrast button,
body.high-contrast .btn {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #fff !important;
}

body.high-contrast img {
    background-color: #fff;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

    html.cdri-font-large .top-utility-bar,
    html.cdri-font-xlarge .top-utility-bar {
        line-height: 1.5;
    }

    html.cdri-font-large p,
    html.cdri-font-large li,
    html.cdri-font-xlarge p,
    html.cdri-font-xlarge li {
        line-height: 1.6;
    }

}