/****************************** TEXTS ******************************/
@font-face {
    font-family: "Montserrat-Regular";
    src: url("../font/Montserrat-Regular.ttf") format("truetype");
}
@font-face {
    font-family: "Montserrat-Medium";
    src: url("../font/Montserrat-Medium.ttf") format("truetype");
}
@font-face {
    font-family: "Montserrat-Italic";
    src: url("../font/Montserrat-Italic.ttf") format("truetype");
}
@font-face {
    font-family: "Montserrat-SemiBold";
    src: url("../font/Montserrat-SemiBold.ttf") format("truetype");
}
@font-face {
    font-family: "Montserrat-Bold";
    src: url("../font/Montserrat-Bold.ttf") format("truetype");
}

html, body {
    width: 100%;
    padding: 0 !important;
    font-family: "Montserrat-Medium";
    font-size: 1rem;
    color: #414141;
    overflow-x: hidden !important;
}
    body {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    } 
        body.modal-open {
            padding-right: 0;
        }

p {
    margin: 0 auto;
}
    p + p {
        margin-top: 10px;
    }

a {
    font-family: "Montserrat-Bold";
    font-size: 1rem;
    text-decoration: none;
    color: #414141;
}
    a:hover {
        text-decoration: underline;
        color: #000;
    }

.pointer {
    cursor: pointer;
}

.regular {
    font-family: "Montserrat-Regular";
}
.italic {
    font-family: "Montserrat-Italic";
}
.medium {
    font-family: "Montserrat-Medium";
}
.semibold {
    font-family: "Montserrat-SemiBold";
}
.bold {
    font-family: "Montserrat-Bold";
}
*.underline {
    text-decoration: underline !important;
}
*.uppercase {
    text-transform: uppercase;
}

ul.circle {
    list-style-type: circle;
}
ul.square {
    list-style-type: square;
}
ol.roman {
    list-style-type: upper-roman;
}
ol.roman-lower {
    list-style-type: lower-roman;
}
ol.alpha {
    list-style-type: upper-alpha;
}
ol.alpha-lower {
    list-style-type: lower-alpha;
}

#environment {
    color: #476d84cc;
}

/****************************** TITLES & TEXT ******************************/
h1, h2, h3, h4, h5, h6 {
    position: relative;
}
    h1, h2, h3 {
        font-family: "Montserrat-Bold" !important;
    }

small {
    font-size: .75rem;
}


/****************************** BACKGROUNDS & COLORS ******************************/
*.bg-danger, *.btn-danger {
    background: #980321 !important;
    border-color: #980321 !important;
}

.text-danger {
    color: #980321 !important;
}


/****************************** FORMS & BUTTONS ******************************/
*:focus,
input:focus,
button:focus,
select:focus,
textarea:focus,
.form-control:focus,
*.form-control:focus,
.form-select:focus,
*.form-select:focus {
    outline: 0;
    border-color: #A0A0A0;
    box-shadow: none !important;
}
    form.align-items-center *{
        align-items: center;
    }
    input:not([readonly]),
    button,
    select,
    textarea {
        margin-bottom: .5rem;
    }
    input:not([type="radio"]):not([type="checkbox"]),
    input:disabled, form input[disabled], form input.form-control:disabled,
    button,
    select,
    textarea {
        width: 100%;
        padding: .5rem 1rem;
        border-color: #A0A0A0;
    }
    input:read-only:not([type="button"]):not([type="submit"]):not([type="reset"]):not([disabled]),
    select:read-only,
    textarea:read-only {
        padding: 0;
        border: 0;
    }
    label,
    label.form-label {
        vertical-align: middle;
        color: #980321;
    } 
        label::after {
            content: ":";
        }
    h2 svg,
    h4 svg {
        margin-top: -.5rem;
        vertical-align: middle;
    }

    h2 span,
    h4 span {
        vertical-align: top;
    }

.btn {
    padding: .5rem 1rem;
    border-color: inherit;
    border-radius: 10px;
}
    .btn:disabled,
    input:disabled, form input[disabled], form input.form-control:disabled {
        background-color: #c6bdbd !important;
        border-color: #c6bdbd !important;
        opacity: .65;
        color: #fff;
    }

.input-group, .input-group input {
    position: relative;
}

.btn-float {
    background: #fff;
    width: auto;
    height: 40px;
    margin: 1px;
    padding: .5rem 1rem;
    position: absolute;
    right: 0;
    border: 0 !important;
    border-bottom-width: 0px;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    border-bottom: solid 1px #A0A0A0;
    border-radius: 0;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    z-index: 3;
}
    .btn-float svg:last-child {
        display: none;
    }

/****************************** CONTAINERS ******************************/
.container-fluid, .navbar, .navbar-brand {
    padding: 0;
} 

.container {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    padding: 3rem 10%;
    margin: 0;
} 

.row {
    margin: 0;
    padding: 0;
} 

.clearfix {
    height: 82px;
} 

.responsive {
    max-width: 100%;
    max-height: 1000px;
    overflow: hidden;
}
.responsive-x {
    max-width: 100%;
    overflow-x: auto;
}
.responsive-y {
    max-height: 1000px;
    overflow-y: auto;
} 

.white-box {
    background: #fff;
    justify-content: center;
    border-radius: 20px;
    box-shadow: 0 1px 1rem 1px rgba(211, 211, 211, .5);
}
    .space-horizontal {
        width: 100%;
        margin: 1rem auto;
        border-top: dashed 2px #A0A0A0;
    }
    .white-box .space-horizontal {
        width: 98%;        
    }

.border-xl {
    border: solid 1px #A0A0A0;
    border-radius: 20px;
}


/****************************** SECTION MENU ******************************/
#section-menu {
    background: #fff;
    box-shadow: 0 1px 1rem 1px rgba(211, 211, 211, .5);
    z-index: 5;
}
    #section-menu.container {
        padding: 1rem 10%;
    }
    #section-menu img {
        height: 50px;
    }
    #section-menu .navbar-collapse.collapse {
        flex-grow: 0;
    }
        #section-menu .navbar-collapse.collapse.show {
            background: #f1f1f1;
            position: absolute;
            top: 82px;
            left: 0;
            right: 0;
            bottom: auto;
        }
        #section-menu #navbarUser {
            position: relative !important;
        }
        #section-menu .navbar-nav .dropdown-menu {
            position: absolute;
            left: auto;
            right: 0;
        }     
        #section-menu ul li {
            padding: 5px 20px;
        } 
        #section-menu ul li:hover {
            opacity: .5;
        } 
        #section-menu ul li a {
            padding: 0;
            vertical-align: middle;
            color: #414141 !important;
        }

    #section-menu #navbarUl.showMenu {
        background: #f7f7f7;
        display: block !important;
        position: absolute;
        top: 82px;
        left: 0;
        right: 0;
    }


/****************************** FOOTER ******************************/
.footer {
    background: #414141;
    padding: 2rem;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}
    .footer a {
        font-weight: 500;
        text-decoration: none !important;
        color: #fff !important;
    } 
        .footer a + a {
            margin-left: 2rem;
        } 
        .footer img {
            height: 50px;
            margin: 0 auto 2rem auto;
            display: block;
        } 
        .footer span {
            font-size: .75rem;
            font-weight: 500;
            line-height: 1rem;
        }

/****************************** MODALS ******************************/
.modal {
    margin-top: 110px;
    padding-right: 0;
}

    .modal .row {
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

.modal-content {
    padding: 30px;
    text-align: center;
    border-radius: 15px;
}

.modal-header {
    padding: 0;
    text-align: center;
    border: 0;
    color: #0079C9;
}

.modal-body {
    padding: 20px 0;
    font-family: Montserrat-Bold;
    text-align: center;
}

    .modal-body.medium {
        font-family: Montserrat-Medium;
    }

.modal-footer {
    padding: 20px 0 0 0;
    display: block;
    text-align: center;
    border-color: #0079C9;
}

    .modal-footer * {
        margin: 0 auto;
    }

#modalLogOut .modal-footer {
    border-color: #ffc400;
}

.aux-modal {
    background: rgba(0,0,0,.5);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    z-index: 10;
}

.aux-modal-content {
    background: #fff;
    width: 82%;
    max-width: 500px;
    padding: 30px;
    position: absolute;
    top: 110px;
    left: 50%;
    transform: translate(-50%,0);
    text-align: center;
    border-radius: 15px;
}

.aux-modal-text {
    padding: 20px 0;
    font-family: Montserrat-Bold;
}

.aux-modal-footer {
    padding: 20px 0 0 0;
    text-align: center;
    border-top: solid 1px #ffc400;
}

    .aux-modal-footer * {
        margin: 0 auto;
        display: inline-block;
    }
