/* ==========================================
   Accessibility Toolbar
   ========================================== */

.accessibility-toolbar {
    position: relative;
}


/* Human accessibility icon */
.access-drawer {
    position: relative;
    cursor: pointer;
}

.icon-access {
    width: 27px;
    height: 27px;
    cursor: pointer;
}


/* ==========================================
   Accessibility Popup
   Opens on right side of icon
   ========================================== */

.access-tools {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    width: 330px;
    max-height: 420px;
    overflow-y: auto;

    background: #ffffff;
    border: 1px solid #ddd;
    border-radius: 8px;

    padding: 15px;

    z-index: 9999;

    box-shadow: 0 4px 15px rgba(0,0,0,0.20);
}


/* Show popup */

.access-drawer[aria-expanded="true"] .access-tools {
    display: block;
}


/* ==========================================
   Title
   ========================================== */

.access-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 15px 0;
}


/* ==========================================
   Buttons
   ========================================== */

.access-tools button {

    min-height: 90px;

    padding: 8px;

    border: 0;

    background: transparent;

    cursor: pointer;

    text-align: center;
}


.access-tools button:hover {
    background: #f5f5f5;
}


/* Bootstrap row spacing fix */

.access-tools .row {
    margin-left: -5px;
    margin-right: -5px;
}


.access-tools .col-4 {

    padding-left: 5px;
    padding-right: 5px;

}


/* ==========================================
   Icons
   ========================================== */

.icon-main {

    width: 35px;
    height: 35px;

    margin-bottom: 5px;

}


.icon-check {

    width: 35px;
    height: 35px;

    margin-bottom: 5px;

}


.link-name {

    font-size: 12px;

    line-height: 16px;

}


/* ==========================================
   Hide Elements
   ========================================== */

.d-none {

    display: none !important;

}


/* ==========================================
   Accessibility Features
   ========================================== */


/* Font increase */

.font-increase {

    font-size: 120% !important;

}


/* Font decrease */

.font-decrease {

    font-size: 90% !important;

}


/* Letter spacing */

.letter-spacing {

    letter-spacing: 2px !important;

}


/* Line height */

.line-height {

    line-height: 2 !important;

}


/* Highlight links */

.highlight-links a {

    text-decoration: underline !important;

    font-weight: bold !important;

}


/* High contrast */

.high-contrast {

    background-color: #000 !important;

    color: #fff !important;

}


.high-contrast a {

    color: yellow !important;

}


.high-contrast button {

    background-color: #000 !important;

    color: #fff !important;

    border: 1px solid #fff !important;

}


/* ==========================================
   Mobile Responsive
   ========================================== */

@media(max-width:576px) {

    .access-tools {

        width: 280px;

        right: auto;

        left: 0;

    }


    .access-tools button {

        min-height: 80px;

    }


}