:root {
    --wcagred: #a70e13;
    --white: #ffffff;
    --gray: #e6e6e6;
    --lightgray: #f1f1f1;
}

html {
    position: relative;
    min-height: 100%;
    font-size: 1rem;
}

body,
a,
p,
input,
textarea,
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: 'Source Sans Pro', 'Arial', 'Tahoma', 'sans-serif';
    color: #000;
}

body {
    background: #fff;
    margin: 0;
    width: 100%;
}

h1 {
    font-size: 1.6em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.4em;
}

h4 {
    font-size: 1.3em;
}

h5 {
    font-size: 1.2em;
}

h6 {
    font-size: 1.1em;
}

a,
button {
    transition: all 100ms linear;
}

a {
    color: var(--wcagred);
    text-decoration: none;
}

a:hover {
    color: var(--wcagred);
    text-decoration: underline;
}

a:focus {
    border: 2px solid #fff;
    outline: 2px solid #000 !important;
    outline-offset: 1px;
}

a:focus:not(:focus-visible) {
    border-width: 0 !important;
    outline-width: 0px !important;
}

hr {
    border-top: 2px solid #d5d5d5;
}

.content-wrapper .container,
.header-wrapper .container {
    position: relative;
}

.go-to-content {
    background: #000;
    color: #fff;
}

.go-to-content:focus {
    background: #000;
    color: #fff;
    border: 2px solid #fff;
    outline: 2px solid #000;
    outline-offset: 1px;
    display: block;
    position: absolute;
    top: 4px;
    left: 4px;
    text-decoration: underline;
    z-index: 99999;
    width: auto;
    height: auto;
    clip: auto;
    padding: 5px;
    border-radius: 0;
}

.content-wrapper .go-to-content a {
    margin: 0 0 20px 0;
    border: none;
    background: #fff;
    border-radius: 2px;
}

.content-wrapper .go-to-content a:hover,
.content-wrapper .go-to-content a:focus {
    color: var(--wcagred);
    text-decoration: underline;
    background: #f1f1f1;
}

.btn {
    border-radius: 0;
}


/**********************************    COLORS TEXT AND BACKGROUND   **********************************/

.color-wcagred {
    color: var(--wcagred);
    ;
}

.bg-wcagred {
    background-color: var(--wcagred);
    ;
}

.bg-wcagheader {
    background-color: #eaeaea;
}


/*********************************************************************************/


/************************************         ************************************/


/**********************************    HEADER   **********************************/


/************************************         ************************************/


/*********************************************************************************/

.bip-logo {
    padding: 1em;
    margin: 0;
}

.header-contact {
    padding: 0px 2em 1.2em 2em;
}

.header-contact h2,
.header-contact p {
    color: var(--wcagred);
    font-size: 1.2em;
    font-weight: 300;
}

.header-contact h2 {
    font-size: 2em;
    margin-top: 0;
}

.search-form button {
    border-radius: 0;
}

.util-box {
    flex: 0 0 auto;
    width: auto;
}

.util-box .header-btn-font {
    padding: 0 .5em;
    border-radius: 2px;
    text-decoration: none;
}

.util-box .header-btn-font-active {
    border-bottom: 2px solid #000;
}

.util-box .header-btn-font1 {
    line-height: 1.8;
}

.util-box .header-btn-contrast {
    padding: 3px 10px;
    border-radius: 2px;
    text-decoration: none;
}

.util-box .header-btn-font2 {
    font-weight: 600;
    font-size: 14px;
    border-left: none;
    line-height: 1.8;
}

.util-box .header-btn-font3 {
    font-weight: 600;
    font-size: 17px;
    border-left: none;
}

.util-box .header-btn-contrast1 {
    background: #fff;
    color: #000;
    border: 1px solid #fff;
}

.util-box .header-btn-contrast2 {
    background: #000;
    color: #fff;
    border: 1px solid #000;
}

.util-box .header-btn-contrast2:hover,
.util-box .header-btn-contrast2:focus {
    border: 1px solid #fff;
    background: #333;
}

.util-box .header-btn-contrast3 {
    background: #000;
    color: #ffff00;
    border: 1px solid #000;
    border-left-color: #666;
}

.util-box .header-btn-contrast3:hover,
.util-box .header-btn-contrast3:focus {
    border: 1px solid #fff;
    background: #333;
}

.util-box .header-btn-contrast-active {
    border-bottom: 2px solid #fff;
}

@media (min-width: 768px) {
    .header-contact {
        padding: 20px 0 0 14px;
    }
    .util-box.search-box {
        padding-left: 0;
    }
}

@media (min-width: 992px) {
    .util-box.search-box {
        padding-left: 15px;
        margin-top: 6px;
    }
}

@media (min-width: 1200px) {
    .util-box.search-box {
        margin-top: 15px;
    }
}

.nav-information li {
    border-left: 1px solid #fff;
}

.nav-information li:first-child {
    border-left: none;
}

.nav-information a {
    color: #fff;
    text-transform: uppercase;
}

.nav-information a:hover,
.nav-information a:focus {
    color: #fff;
    text-decoration: underline;
}


/**********************************************************************************/


/************************************          ************************************/


/**********************************    CONTENT   **********************************/


/************************************          ************************************/


/**********************************************************************************/

.breadcrumbs {
    padding-bottom: .5em;
    border-bottom: 1px solid var(--gray);
    margin-bottom: 0px;
}

.breadcrumbs .breadcrumbs-prefix {
    margin-right: .5em;
}

.breadcrumbs .bread-sep {
    padding: 0 .5em;
}

.breadcrumbs a {
    color: var(--wcagred);
    text-decoration: none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus {
    color: var(--wcagred);
    text-decoration: underline;
}

@media (min-width: 768px) {
    .content-body-wrapper {
        padding-right: 0;
        padding-left: 0;
    }
}

.content {
    padding: 0;
}

.content img {
    display: inline-block;
    height: auto;
    max-width: 100%;
}


/******** CONTENT NEWS ************/

.content-news .content-news-item {
    margin-bottom: 1em;
    width: 100%;
    border-left: 7px solid #F1F1F1;
    padding: 0 1.5em;
}

.content-news .content-news-item-header {
    margin: .75em 0 .25em 0;
}

.content-news .content-news-item-header a {
    font-size: .8em;
}

.content-news .content-news-item-utilities {
    font-size: .8em;
    margin-bottom: .75em;
}

.content-news .content-news-item-content p {
    text-overflow: ellipsis;
    overflow: hidden;
}

.content-news .content-news-item-content .content-news-read-more {
    display: inline-block;
    font-weight: bold;
    margin-top: 1em;
    padding: 0px 1.25em;
    font-size: .8em;
    line-height: 2em;
    margin: 1em 0 0 -2em;
    background-size: 100%;
    background: var(--lightgray);
    position: relative;
    z-index: 2;
}


/************* CONTENT SUBPAGE **************/

.content-subpage-header {
    margin: 1em 0;
    padding: 0 0 1em 0;
    border-bottom: 1px solid #d5d5d5;
}

.content-subpage-header h1 {
    font-size: 1.6em;
}

.content-subpage-utilities,
.content-subpage-utilities a {
    font-size: .75em;
}

.content-subpage-utilities>div {
    padding-left: .75em;
    margin-left: .75em;
    border-left: 1px solid #DFDFDF;
}

.content-subpage-utilities>div:first-child,
.content-subpage-utilities>.clearfix {
    padding: 0;
    margin: 0;
    border-left: none;
}

.content-subpage-utilities a {
    padding-left: .5em;
}

.content-subpage-utilities a:hover {
    color: #333;
}

.content-subpage-text {
    overflow: hidden;
}

.content-homepage {
    padding-top: 2em;
}

.subpage-separator {
    height: 1px;
    background: #EBEBEB;
    margin: 2em 0;
}

.subpage-header {
    text-align: center;
    margin-bottom: 2em;
}


/************ CONTENT ATTACHMENTS LIST *******/

.attachments-box {
    border: .5em solid var(--gray);
}

.attachments-box .header {
    font-size: 1.5em;
    font-weight: normal;
    background: var(--gray);
}

.attachments-box .content-attachments ul>li {
    border-top: 1px solid var(--gray);
}

.attachments-box .content-attachments ul>li:first-child {
    border: none;
}

.attachments-box .att-name {
    font-size: 1.2em;
    margin: .75em 0 .25em 0;
}

.content-att-item-utilities {
    font-size: .8em;
    margin-bottom: .75em;
}


/*********************************************
******* POSITION LEFTFIRST LEFTSECOND ********
*********************************************/

.addon-box {
    overflow: hidden;
    padding: 1em 1.25em 1.25em 1.25em;
    background: #F7F7F7;
    font-size: .9em;
}

.addon-box .addon-box-header {
    margin-top: 0px;
    margin-bottom: .5em;
    font-weight: normal;
    font-size: 1.25em;
    line-height: 1.5em;
}

.addon-box-side-right,
.addon-box-side-right p {
    color: #000;
}

.addon-box .addon-box-content a {
    max-width: 100%;
}

.addon-box .addon-box-content img {
    display: inline-block;
    height: auto;
    max-width: 100%;
}

.addon-box.addon-box-side-left {
    margin-bottom: 1em;
}

.addon-box-side-left.textmodule {
    background: #fff;
}

.position-side-right .addon-box {
    margin-top: .25em;
}

.addon-box .addon-box-content {
    overflow: hidden;
    text-overflow: ellipsis;
}

.addon-box .addon-box-content p {
    overflow: hidden;
    text-overflow: ellipsis;
}

.info-box>div {
    border-top: 1px solid #E0E0E0;
    margin-top: .5em;
    padding-top: .5em;
}

.info-box>div.first {
    border: none;
    margin: 0;
    padding: 0;
}

.info-box .print {
    color: #616156;
}

.info-box .print:hover,
.info-box .print:focus {
    color: var(--wcagred);
}

.history-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.history-box ul li {
    border-top: 1px solid #E0E0E0;
    margin-top: 7px;
    padding-top: 7px;
}

.history-box ul li:first-child {
    border: none;
    margin: 0;
    padding: 0;
}

.btn-full-history {
    margin-top: 15px;
    background: #F1F1F1;
    border: none;
    border-top: 1px solid #E0E0E0;
    width: 100%;
    padding: 6px 5px;
}

.btn-full-history:hover,
.btn-full-history:focus {
    background: #E0E0E0;
}


/*************** MENU ************************/

.menu-box {
    background: #fff;
}

.menu-box>ul {
    list-style: none;
    margin: 0 0 1em 0;
    padding: 0 1em;
    ;
    border: 1px solid #dadada;
}

.menu-box .menu-title {
    padding: 1em .5em;
    font-weight: 600;
    font-size: 1.2em;
    border-top: 1px solid #eaeaea;
    border-right: 1px solid #eaeaea;
    border-left: 10px solid #B30000;
    margin: 0;
}

.menu-box li a {
    display: block;
    padding: .5em 1em;
    border-top: 1px solid #e3e2e1;
    font-weight: normal;
    font-size: 1.1em;
    color: #000;
    text-decoration: none;
}

.menu-box li a:hover,
.menu-box li a:focus,
.menu-box li a.active,
.menu-box li.focused a {
    color: #B50316;
    text-decoration: underline;
}

.menu-box li:first-child a {
    border: none;
}

.menu-box .dropdown {
    list-style: none;
    padding: 0 0 0 20px;
}

.menu-box .menu>li>.dropdown {
    margin-top: -15px;
}

.menu-box .dropdown li a {
    padding: 10px 5px;
    font-weight: 400;
    font-size: 13px;
    border-top: 1px solid #e3e2e1;
}

#sidebar .menu-box-common {
    background: #f0efec;
}

#sidebar .menu-box-common li a {
    padding: 10px 15px;
    font-size: 15px;
    border-top: 1px solid #fff;
}

#sidebar .menu-box-common li:first-child a {
    border-top: none;
}

@media (min-width: 768px) {
    .sidebar-left-wrapper {
        padding-left: 0;
    }
}

.position-right-container .menu-box {
    margin-bottom: 0;
    margin-top: 4px;
    padding: 0;
    border: 3px solid #f1f1f1;
}


/*********************************************
******************* MODAL ********************
*********************************************/

.modal-content {
    background: #EFEEEB;
    color: #333;
    border: none;
    box-shadow: 0 5px 35px #fff;
}

.modal-body h1,
.modal-body h2,
.modal-body h3,
.modal-body h4,
.modal-body h5,
.modal-body h6,
.modal-body p,
.modal-body div,
.modal-body ul,
.modal-body li {
    color: #000;
}

.modal-footer {
    border-top: 1px solid #fff;
}

.modal-footer .btn {
    border: none;
}

.modal-footer .btn:hover,
.modal-footer .btn:focus {
    background: #DFDEDB;
}

.modal-backdrop {
    background: #fff;
}

.modal-backdrop.in {
    opacity: .8;
    filter: alpha(opacity=80);
}

#history-modal .addon-box-header {
    margin-top: 0;
}

#history-modal ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#history-modal ul li {
    border-top: 1px solid #D2CFC7;
    margin-top: 12px;
    padding-top: 12px;
}

#history-modal ul li:first-child {
    border: none;
    margin: 0;
    padding: 0;
}

#history-modal .modal-footer {
    padding: 0;
}

#history-modal .modal-footer .btn {
    border: none;
    display: block;
    width: 100%;
    background: #EFEEEB;
    font-weight: 600;
    font-size: 16px;
    padding: 15px;
}

#history-modal .modal-footer .btn:hover,
#history-modal .modal-footer .btn:focus {
    background: #DFDEDB;
}


/*********************************************
******************* PAGINATOR ********************
*********************************************/

.pager {
    margin-bottom: 60px;
    text-align: left;
}

.pager li>a,
.pager li>span {
    border: none;
    background-color: #F1F1F1;
    color: #484848;
    font-weight: 600;
    font-size: 12px;
    border-radius: 2px;
}

.pager li.active>a,
.pager li>a:hover,
.pager li>a:focus {
    background-color: #c6c6c6;
    color: #484848;
}

.pager .previous>a,
.pager .previous>span {
    float: none;
}

.pager .next>a,
.pager .next>span {
    float: none;
}


/*********************************************
******************* FOOTER *******************
*********************************************/

.footer-wrapper {
    background-color: var(--gray);
}

.copyright {
    padding: .75em 1em;
}


/*********************************************
******************* CONTACT FORM ********************
*********************************************/

.form-control.error {
    color: #fff;
    background: rgb(226, 70, 70);
    border: 1px solid rgb(226, 70, 70);
}

form label {
    font-weight: 100;
}

form label.required {
    font-weight: bold;
}

form label span.required {
    color: var(--wcagred);
}

pre {
    display: none;
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
*-*- cookies -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.cookies[hidden] {
    display: none;
}

.cookies {
    position: fixed;
    bottom: 0;
    padding: 0 1em 1em 1em;
    margin: 0 auto;
    width: 100vw;
    display: flex;
    z-index: 9999;
}

.cookies__inside {
    border-radius: 5px;
    background: hsl(0, 0%, 0%);
    color: hsl(0, 0%, 100%);
    padding: 1em 1.5em;
    text-align: center;
    margin: 0 auto;
}

.cookies__desc {
    margin-bottom: 1em;
    color: hsl(0, 0%, 100%);
}

.cookies__desc a {
    color: hsl(25, 100%, 70%);
    text-decoration: underline;
    transition: .2s ease-in-out;
}

.cookies__desc a:hover,
.cookies__desc a:focus {
    color: hsl(0, 0%, 100%);
    text-decoration: underline;
}

.cookies__btn-agree {
    border: none;
    background: hsl(25, 100%, 90%);
    color: hsl(0, 0%, 0%);
    border-radius: 3px;
    padding: .2em .5em;
    transition: .2s ease-in-out;
}

.cookies__btn-agree:hover,
.cookies__btn-agree:focus {
    background: hsl(0, 0%, 100%);
}

.cookies *:focus {
    outline: 3px solid hsl(25, 100%, 90%);
    outline-offset: .25rem;
}