html,
body {
    height: 100%;
    position: relative;
}

/* Tools */
.w-33 {
    width: 33.33% !important;
}

th {
    font-weight: normal;
}

table.consent-types th {
    border-top: none;
    border-bottom: none;
}

table.consent-types tbody tr:first-of-type td {
    border-top: none;
}


.loading {
    background-image: url('/img/loading.gif');
    background-position: 98% center;
    background-repeat: no-repeat;
}

.bootstrap-autocomplete .dropdown-item b {
    font-weight: normal;
    color: #28a745 !important;
}

.bootstrap-autocomplete.dropdown-menu {
    overflow-y: auto;
    max-height: 21rem;
}

.languages a.dropdown-toggle:hover {
    text-decoration: none;
}

.languages a.dropdown-toggle::after {
    display: none;
}

.languages .dropdown-menu {
    border-radius: 0;
    padding: 0;
    text-align: right;
    min-width: auto;
}

.languages a.dropdown-item {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* last column max width */
table.consent-types th {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

table.consent-types th:not(.last),
table.consent-types td:not(.last) {
    white-space: nowrap;
    min-width: 1px;
}

table.consent-types th.last,
table.consent-types td.last {
    width: 100%;
}

table.consent-types td.last {
    padding-top: 0;
    padding-bottom: 0;
}

/* first column max width */
table.preferences th:not(:first-child),
table.preferences td:not(:first-child) {
    white-space: nowrap;
    min-width: 1px;
}

table.preferences th:first-child,
table.preferences td:first-child {
    width: 100%;
}

.consent-declaration {
    height: 9rem;
}

.toast {
    position: absolute;
    top: 20px;
    right: 15px;
    z-index: 999;
}

/* Ribbon */
.ribbon {
    width: 150px;
    height: 150px;
    overflow: hidden;
    position: absolute;
    z-index: 1;
    display: none; /* global off, per customer on */
}

.ribbon span {
    position: absolute;
    display: block;
    width: 225px;
    padding: 15px 0;
    background-color: #cb4040; /* BNT-red */
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    color: #fff;
    font-size: 18px;
    text-shadow: 0 1px 1px rgba(0,0,0,.2);
    text-align: center;
}

/* top left*/
.ribbon-top-left {
    top: 0;
    left: 0;
}

.ribbon-top-left span {
    right: -10px;
    top: 20px;
    transform: rotate(-45deg);
}
