:root {
    --outline-size: 2px;
    --outline-offset-size: 2px;
}

* {
    border-radius: 0 !important;
    box-sizing: border-box;
}

html {
    font-size: 14px;
}

body {
    background-color: #fff;
    color: #000000;
    font-family: Arial, sans-serif !important;
    line-height: 1.5;
}

main {
    font-size: 1rem;
}

.header-logo-uam {
    max-height: 110px;
    width: auto;
    margin-left: -15px;
}

.header-logo-right {
    max-height: 85px;
    width: auto;
}

ul {
    padding-left: 18px;
    list-style-type: square;
}

li {
}

p {
    margin: 0
}

p + p {
    margin-top: 1rem
}

p + table {
    margin-top: 1rem;
}

p + ul, p + ol {
    /*margin-left: 1rem;*/
    margin-top: 0.5rem;
}

li + li {
    margin-top: 0.4rem
}

li.nav-item {
    margin-top: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0;
    margin-top: 0;
}

h1, h2 {
    /*font-weight: 600;*/
}

h2 {
    font-size: 1.75rem;
}

h3 {
    font-size: 1.50rem;
}

h4 {
    font-size: 1.25rem;
}


h3, h4, h5, h6 {
    font-weight: 400;
}

a {
    color: #1b69b6;
    text-decoration: none;
    /*transition: all .3s;*/
}

.title-hint {
    border-bottom: 1px dashed #aaa;
    cursor: help;
}

.navbar {
    padding: 0 1rem;
}

a.nav-link {
    padding: .5rem 1rem;
    /*font-size: 15px;*/
}

a i {
    /*padding-right: 3px;*/
    /*font-size: 15px;*/
}

nav .img-fluid {
    padding-bottom: 3px;
}

.navbar-navy {
    /*background: #092858;*/
    background: #002d69;
    border-bottom: 5px solid #dee2e6 !important;
}

.navbar-navy .navbar-nav .nav-link {
    text-transform: uppercase;
    padding: 13px 20px !important;
    /*display: block;*/
    color: #fff;
    font-family: Rubik;
    border-left: 1px solid #788497;
    border-right: 1px solid #788497;
}

@media (max-width: 500px) {
    .navbar-navy .navbar-nav .nav-link {
        font-size: 13px;
        line-height: 1.2;
        height: 100%;
    }
}

.navbar-navy .navbar-nav .nav-link:hover {
    background: #fff;
    color: #092858;
    box-shadow: 0 0 2px 0 #092858;
}

.navbar-navy .navbar-nav .nav-link:focus {
    background: #fff;
    color: #092858;
    outline: var(--outline-size) solid #000000;
    outline-offset: -1px !important;
    outline-width: 2px !important;
    z-index: 100;
}

.nav-tabs .nav-link {
    /*font-size: 15px;*/
}

.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
    color: #092858;
    border-color: #ced4da;
    background: #f8f9fa;
}

.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
    color: #092858;
    /*border-color: #ced4da;*/
    border-bottom-color: #f8f9fa;
    background: #f8f9fa;
    /*font-weight: 600;*/
}

.dropdown-item {
    /*font-size: 15px;*/
    border: 1px solid transparent;
    /*transition: all .2s;*/
    padding: 0.25rem 1.2rem;
}

.nav-tabs .dropdown-menu {
    box-shadow: #d2d2d2 0 0 1px;
}

.dropdown-item i {
    /*opacity: .8;*/
    width: 25px;
    /*color: #092858;*/
}

.dropdown-item:hover, .dropdown-item:focus {
    border: 1px solid #ced4da;
}

.dropdown-item.active, .dropdown-item:active {
    text-decoration: none;
    background: #f8f9fa;
    border: 1px solid #ced4da;
    color: #212529;
}

.dropdown-item.disabled {
    color: #cdcdcd;
}

.text-muted {
    color: #606262 !important;
}

.text-danger {
    color: #b21f2d !important;
}

.text-success {
    color: #008100 !important;
}

/*.alert .close {*/
/*padding: 0.5rem 1.25rem;*/
/*}*/

.btn-option {
    width: 40px;
}

.subhead-heading {
    font-weight: 400;
    font-size: 1.5rem;
    padding: .5rem 0;
    text-align: left;
    margin: .5rem 0 1.2rem 0;
    border-bottom: 1px solid #dee2e6;
}

.bg-grid {
    background: url("/assets/images/imgareaselect/bg.gif");
    overflow: hidden;
}

#mask {
    background: url("/assets/images/imgareaselect/mask.png");
    opacity: 0.8;
    background-size: cover;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 100;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

label {
    /*font-weight: 600;*/
}

.jumbotron .alert {
    background: #fff;
}

.alert {
    border: none;
    border-left: 10px solid #cacbcd;
    padding-left: 10px;
    outline: 1px solid #dee2e6;
    background: #fafbfc;
    color: #000;
}

.alert-heading {
    margin-bottom: 0.2rem;
    font-weight: bold;
    font-size: 1.15rem;
}


.alert-danger .alert-heading {
    color: #b21f2d;
}

.alert-mt-0 .alert {
    margin-top: 0 !important;
}

.alert-mb-3 .alert {
    margin-bottom: 1rem !important;
}

.alert.alert-danger {
    border-color: #b21f2d;
}

.alert.alert-warning {
    border-color: #d18a01;
}

.alert.alert-success {
    border-color: #52832d;
}

.alert.alert-info {
    border-color: #1799cd;
}

.alert.alert-light {
    border-color: #eaebed;
}

.alert.alert-secondary {
    border-color: #aaabad;
}


/* label przy checkboxie */
label.form-check-label {
    display: inline;
    font-weight: 400;
}

/* tooltip z podpowiedzią dla pola */
div.hint {
    display: none;
    padding: 10px;
    position: absolute;
    /*font-size: 14px;*/
    line-height: 1.3;
    z-index: 100;
    text-align: left;
    min-height: 42px;
    background: #fcfcfc;
    border: 0;
    border-left: 5px solid #0074d9;
    outline: 1px solid #dee2e6;
    box-shadow: 1px 1px 2px 0 #e2e2e2;
}

.field-icon {
    position: relative;
    float: right;
    margin-right: 10px;
    margin-top: -26px;
    z-index: 2;
    color: rgba(0, 0, 0, .25);
}

.form-radio {
    display: inline-block;
    margin-right: 1.5rem;
    padding-top: .4rem;
    padding-bottom: .4rem;
}

.form-radio-vertical {
    margin: 0.6rem 0;
}

.form-check-label ul {
    margin-top: 0.5rem;
}

.jumbotron {
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    padding: 1rem 0;
    margin: 0;
    min-height: 70px;
    display: flex;
    align-items: center;
}

.jumbotron h1 {
    font-weight: 600;
    font-size: 1.5rem;
    font-weight: normal;
    font-size: 1.75rem;
}

header svg.logo {
    max-height: 110px;
    width: auto;
    fill: #092858;
}

header .jumbotron {
    background: #fff;
    /*border-bottom: 45px solid #092858;*/
}

.form-section {
    font-weight: 400;
    font-size: 1.5rem;
}

.form-section small {
    font-size: 13px;
    color: #3a3a3a !important;
    display: block;
    padding-top: 2px;
}

.form-page-section {
    /*font-size: 15px;*/
    font-weight: 600;
    color: #092858;
}

.form-separator {

}

.form-separator hr {
    border-top: 1px solid #dee2e6;
    margin-top: 0;
    margin-bottom: 0;
}

.form-group {
    margin: 1rem 0;
}

.row.form-group {
    margin-right: -15px;
    margin-left: -15px;
    display: flex;
    align-items: center;
}

.form-control {
    background-color: #ffffff;
    border: 1px solid #d1d5da;
    /*box-shadow: inset 0 1px 2px rgba(27, 31, 35, .075);*/
    color: #222;
    font-size: 1rem;
    outline: none;
    padding: 10px;
    vertical-align: middle;
    /*height: auto;*/
    min-height: 44px;
    display: inline;
    /*margin-right: 5px;*/
    max-width: 100%;
    width: 440px;
}


select.form-control {
    white-space: normal;
    padding: 0 10px;
}

.form-control-error {
    border-color: #da8f8d;
    background: #fbf0f0;
}

.form-control-error:focus {
    border-color: #da8f8d !important;
    background: #fefafa !important;
}

.form-control.short {
    width: 300px;
}

.form-control.long {
    width: 100%;
}

.form-control:focus {
    border-color: #d1d5da;;
    box-shadow: none;
    outline: var(--outline-size) solid #000000;
    outline-offset: var(--outline-offset-size);
    background: #fff;
}

.form-check-input:focus, .btn:focus, a:focus {
    outline: var(--outline-size) solid #000000 !important;
    outline-offset: var(--outline-offset-size) !important;
}

.form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1;
}

.btn:focus {
    box-shadow: none;
}

.btn {
    /*border: 1px solid rgba(27, 31, 35, .2);*/
    cursor: pointer;
    display: inline-block;
    /*font-size: 15px;*/
    /*font-weight: 600;*/
    /*line-height: 20px;*/
    /*padding: 6px 12px;*/
    position: relative;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    /*background: #eff3f6 linear-gradient(-180deg, #fafbfc, #eff3f6 90%);*/
    /*color: #24292e;*/
    overflow: hidden;
    /*border-radius: 0.5rem !important;*/
    /*padding: 0.5rem 0.75rem;*/
    /*background: #fff;*/
    /*border-width: 2px;*/
}

.btn-xl {
    font-size: 1.25rem;
    padding: 1rem 3rem;
}

.btn-primary {
    background-color: #2b4d99;
    border-color: #002d69;
}

.btn-outline-primary {
    color: #2b4d99;
    border-color: #2b4d99;
}

.btn-form {
    margin: 0 0.75rem;
    padding: .6rem 1.5rem;
    min-width: 140px;
}

.btn.hover, .btn:hover {
    /*background: #e6ebf1 linear-gradient(-180deg, #f0f3f6, #e6ebf1 90%) -.5em;*/
    /*border-color: rgba(27, 31, 35, .35);*/
    /*color: #24292e;*/
}

.btn-light {
    border-color: #e1e2e3;
}

.btn-light:hover {
    border-color: #b1b2b3;
}

.btn-navy {
    background: #092858;
    color: #fff;
}

.btn-navy:hover {
    background: #1b3974;
    color: #fff;
    border: 1px solid rgba(27, 31, 35, .2);
}

.btn-outline-navy {
    background: #fff;
    color: #092858;
    border: 1px solid rgba(27, 31, 35, .2);
}

.btn-outline-navy:hover {
    background: #fff;
    color: #092858;
    border: 1px solid #1b3974;
}

.btn-danger {
    background: #bf2533;
    color: #fff;
}

.btn-danger:hover {
    background: #de4553;
    color: #fff;
    border: 1px solid rgba(27, 31, 35, .2);
}

.btn-outline-danger {
    color: #c11a2a;
    border-color: #c11a2a;
}

.btn-outline-danger:hover {
    background: #c11a2a;
    color: #fff;
    border-color: #980715;
}

.btn-success {
    background-color: #1a762c;
    border-color: #106a22;
    color: #fff;
}

.btn-success.hover, .btn-success:hover {
    background-color: #1b9533;
    border-color: rgba(27, 31, 35, .5);
}

.note {
    font-size: 14px;
}

.table .thead-light th {
    background-color: #f7f8f9;
    color: #222;
    font-size: 0.9rem;
    font-weight: bold;
    vertical-align: middle;
}

.table-hover tbody tr:hover {
    background-color: #f8f9fa;
    /*transition: .2s;*/
}

.table-md td, .table-md th {
    padding: .4rem .8rem;
}

.table td, .table th {
    vertical-align: middle;
}

.nav-item .badge {
    border-radius: 20% !important;
    vertical-align: text-top;
}

.badge-lg {
    font-size: 1em;
    font-weight: normal;
    padding: 0.4rem 0.6rem;
    line-height: 1.25;
}

.badge-success {
    color: #fff;
}

.badge-warning {
    background-color: #da8f25;
    color: #fff;
}

.badge-danger {
    color: #fff
}

/*.table .badge {*/
/*!*position: absolute;*!*/
/*!*!*left: .5rem;*!*!*/
/*!*!*margin-top: -22px;*!*!*/
/*!*margin-left: -0.8rem;*!*/
/*margin-bottom: 0.3rem;*/
/*!*margin-left:  -0.8rem;*!*/
/*}*/

/*.table .badge-danger {*/
/*background: #fff;*/
/*border: 1px solid #de4553;*/
/*color: #de4553;*/
/*!*transition: .2s;*!*/
/*}*/

/*.table tbody tr:hover .badge-danger {*/
/*background: #de4553;*/
/*color: #fff;*/
/*}*/

.card-header {
    padding: .5rem 1.25rem;
}

.card-header .links-header {
    font-weight: 600;
    /*font-size: 1.2rem;*/
}

.card ul {
    padding-left: 1.5rem;
    margin-bottom: 0;
}

ul.message-attachments {
    list-style-type: none;
    margin: 0;
    padding-left: .5rem;
}

/* Tree View */
.tree-group {
    border-left: 10px solid #f2f4f5;
    padding-left: 10px;
    margin-top: 4px;
}

.tree-group-header {
    display: block;
    padding: 4px 0;
    color: #222 !important;
}

.tree-group-header:hover {
    background: #f8f9fa;
}

.tree-group-item {
    margin-left: 20px;
}

.tree-group-item > li {
    margin-top: 0;
}

a[aria-expanded="false"] > .tree-group-icon::before {
    font-family: "Font Awesome 5 Free";
    font-size: 12px;
    font-weight: bold;
    content: "\f13a";
    color: #1c5494;
}

a[aria-expanded="true"] > .tree-group-icon::before {
    font-family: "Font Awesome 5 Free";
    font-size: 12px;
    font-weight: bold;
    content: "\f139";
    color: #1c5494;
}


h2.message-title {
    font-size: 1.5rem;
    margin-bottom: .5rem;
    font-weight: 400;
}

/* Filters */

.filter-container {
}

.filter-header {
    font-weight: bold;
}

.filter-options-list {
    list-style-type: none;
    margin-top: 0.5rem;
    padding-left: 0;
}

.filter-option {
    margin-top: 0.4rem;
    margin-bottom: 0.4rem;
}

.filter-option-selected {
    font-weight: bold;
}

.filter-option-unselected {
}

.filter-option-icon {
    color: #0f5a91;
    font-size: 1.1rem;
    margin-right: 0.25rem;
}

.filter-option-selected-icon {
}

.filter-option-unselected-icon {
}

.filter-option-label {
    color: #0f5a91;
}

.filter-option-selected-label {
}

.filter-option-unselected-label {

}

.no-underline {
    text-decoration: none !important;
}

.file-icon:hover {
    color: #bf2533;
}

/* dodane na szybko - do refaktoryzacji */

h2.h2-header {
    font-size: 1.25rem;
    padding: 0.375rem;
    padding-left: 10px !important;
    border-left: 10px solid #1c5494;
    color: #1c5494;
}

h2.h2-header:first-child {
    margin-top: 1rem;
}

h2.h2-header:not(:first-child) {
    margin-top: 2.5rem;
}

.filter-header {
    color: #1c5494;
}

.filter-option-label {
    color: #222 !important;
}

.custom-file-input ~ .custom-file-label::after {
    content: "Wybierz plik";
}

.text-warning {
    color: #d29d00 !important;
}

.nav-box {
    width: 100px;
    height: 90px;
    margin-top: 0 !important;
    margin-right: -1px;
}

.nav-full-width {
    display: flex;
    justify-content: center;
}

.nav-full-width .nav-box {
    /*width: 10% !important;*/
    flex: 1 1 0;
    min-width: 90px;
    max-width: 140px;
}

.nav-box-link {
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
    text-decoration: none;
    line-height: 1.5;
    font-weight: 400;
    padding: .375rem .5rem;
    vertical-align: middle;
    overflow: hidden;
    text-align: center;
    border: 1px solid #e1e2e3;
    color: #495057;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.nav-box-link:hover {
    text-decoration: none;
    border-bottom: 1px solid #002d69;
}

.nav-box-link:focus {
    outline: var(--outline-size) solid #000000;
    outline-offset: var(--outline-offset-size);
    /* because dutline getting hidden by the next element */
    z-index: 100;
}

.nav-box-icon {
    font-size: 28px;
    margin-bottom: 10px;
    margin-top: 10px;
}

.nav-box-label {
    display: block;
    font-size: 12px;
    line-height: 1.2;
    min-height: 35px;
}

@keyframes nav-box-anim {
    from {
        border-bottom-color: #e1e2e3;
        background: #fff;
    }
    to {
        background: #f8f9fa;
        border-bottom-color: #002d69;
    }
}

.nav-box-link-active {
    border-bottom: 1px solid #002d69;
    background: #f8f9fa;
    animation: nav-box-anim .5s ease-in;
}

.badge-unread-messages {
    position: absolute;
    top: 1px;
    right: 1px;
    padding: 5px 9px;
}


.btn-outline-secondary {
    color: #495057 !important;
    background: #fff;
    border: 1px solid #ced2d6;
}

.btn-outline-secondary:hover {
    background: #f8f9fa !important;
    /*text-decoration: underline;*/
}

.table-bordered-light td {
    border: 1px solid #dee2e6;
    border-left-color: #f2f4f5;
    border-right-color: #f2f4f5;
}

.table-bordered-light th {
    border: 1px solid #dee2e6;
}

.loading-cover {
    background: rgba(0, 0, 0, 0.15);
    cursor: auto;
    width: 100%;
    height: 100%;
    z-index: 15;
    position: fixed;
    left: 0;
    top: 0;
    display: none;
    align-items: center;
    justify-content: center;
}

.element-hidden {
    position: absolute;
    top: 0;
    left: -10000px;
    display: block;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .custom-border-right {
        border-right: 1px solid #dee2e6;
    }
}

@media screen and (max-width: 768px) {
    .custom-border-bottom {
        border-bottom: 1px solid #dee2e6;
    }
}


.status-tag {
    border-left: 10px solid #e2e7ea;
    background: #f8f9fa;
    color: #24292e;
    padding: 0.25rem 0.55rem;
    text-align: left;
}

.status-tag-sm {
    font-size: 13px;
    padding: 0.25rem 0.4rem !important;
}


.status-tag.status-tag-secondary {
    border-color: #e2e7ea;
}

.status-tag.status-tag-warning {
    border-color: #d18a01;
}

.status-tag.status-tag-danger {
    border-color: #b21f2d;
}

.status-tag.status-tag-success {
    border-color: #52832d;
}

.status-tag.status-tag-info {
    border-color: #1799cd;
}

.footer {
    width: 100%;
    padding: 35px 0;
    background-color: #002d69;
    color: #ffffff;
    font-size: 13px;
    font-family: Rubik, sans-serif;
    font-weight: 200;
}

.footer *:focus {
    outline-color: #ffffff !important;
}

.footer__university-logo {
    padding: 0 30px 0 0;
    margin: 0;
    display: block;
}

.footer__university-logo img {
    /*max-width: 78px;*/
    height: 80px;
}

.university-contact__university-name {
    font-weight: 400;
    font-size: 14px;
}

.footer__list {
    list-style-type: none;
}

.footer__list a {
    color: #ffffff;
}

.survey_form label {
    margin: 0;
}


.text-content h3 {
    margin-bottom: 0.5rem !important;
    font-size: 1.15rem;
    font-weight: bold;
}

.text-content h3:not(:first-child) {
    margin-top: 2.5rem;
}

.text-content h4 {
    margin-bottom: 0.5rem !important;
    font-size: 1rem;
    font-weight: bold;
}

.text-content h4:not(:first-child) {
    margin-top: 1rem;
}

.text-content p:not(:last-child) {
    margin-bottom: 1rem !important;
}

.text-content p + ul {
    margin-top: -0.5rem;
}


#session-timeout-overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2000;
}

#session-timeout-counter {
    height: auto;
    width: 100%;
    max-width: 450px;
    background-color: white;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 25px;
    text-align: center;
    border-radius: 10px !important;
}


/* Scrollspy aside & fab */
nav.nav-scrollspy .nav-item {
    margin-bottom: 6px !important;
}

nav.nav-scrollspy .nav-link {
    display: inline-block;
    color: #303232 !important;
    padding: 3px 10px 3px 10px;
    margin-left: -10px;
    text-decoration: none !important;
    line-height: 1.4;
    font-size: 1rem;
}

nav.nav-scrollspy .nav-link.active, nav.nav-scrollspy .nav-link:hover {
    color: #000 !important;
    font-weight: bold;
    padding: 3px 0 3px 7px;
    border-left: 3px solid #184889;
    margin-left: -10px;
}

.fab-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
    background-color: #f0f2f3;
    color: #000000;
    border: none;
    border-radius: 50% !important;
    width: 56px;
    height: 56px;
    font-size: 24px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.fab-button::before {
    content: '☰'
}

.fab-button[aria-expanded='true']::before {
    content: '✕'
}

#fab-nav-scrollspy {
    z-index: 1;
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    box-shadow: 0 0 30px #00000066;
    background: #fff;
}

.account-info {
    padding: 25px;
    background: #e7f5ff;
    border-radius: 15px !important;
    margin: 25px 0;
}

.account-info__header {
    font-size: 1.5rem;
    font-weight: 400;
    color: #1b69b6;
    margin-bottom: 20px;
}

.account-info__account {
    border-left: 1px solid #dee2e6;
    padding-left: 25px;
}

.account-info__uid {
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.1rem;
    border-radius: 5px !important;
    border: 1px solid #dee2e6;
    background-color: #ffffff;
    padding: 5px 10px;
    margin-top: 15px;
}

.account-info__btn {
    border-radius: 5px !important;
}