@font-face {
    font-family: 'futura-custom';
    src: url("/fonts/FuturaLT.woff2") format("woff");
    font-weight: normal;
    font-display: auto;
    font-style: normal;
}

@font-face {
    font-family: 'futura-custom';
    src: url("/fonts/FuturaLT-Bold.woff2") format("woff");
    font-weight: 700;
    font-display: auto;
    font-style: normal;
}

:root {
    --brand-primary: #209288;
    --brand-secondary: #176d64;
    --brand-tertiary: #e8e8e8;
    --brand-sepia: #f8e4d7;
    --brand-ring: rgba(23, 109, 100, 0.25);
    --dt-row-selected: #209288;
}

button {
    transition: 0.1s ease all;
}

.bg-brand {
    background-color: var(--brand-primary);
}

.bg-brand-gray {
    background-color: lightgray;
}


.text-brand,
.text-brand>* {
    color: var(--brand-primary);
}

.text-brand-secondary,
.text-brand-secondary>* {
    color: var(--brand-secondary);
}

.border-brand {
    border: 2px solid var(--brand-primary);
}

.bg-brand-secondary {
    background-color: var(--brand-secondary);
}

.bg-brand-tertiary {
    background-color: var(--brand-tertiary);
}

.bg-brand-sepia {
    background-color: var(--brand-sepia);
}

.text-spacing {
    letter-spacing: 3px;
}

.futura {
    font-family: futura-custom, serif;
}

.btn.bg-brand:hover {
    background-color: var(--brand-secondary);
}

.fs-7 {
    font-size: 0.8rem;
}

.fs-8 {
    font-size: 0.7rem !important;
}

.fs-xl {
    font-size: 6rem;
}

.btn-sepia {
    background-color: var(--brand-sepia);
    color: var(--brand-secondary);
}

.btn-brand {
    background-color: var(--brand-secondary);
    color: white !important;
}

.btn-brand:hover {
    color: white !important;
    background-color: var(--brand-primary);
}

.btn-brand:active {
    color: white !important;
    background-color: var(--brand-primary) !important;
}

.btn-brand:disabled,
.btn-brand.disabled {
    background-color: var(--brand-secondary) !important;
    opacity: 0.5 !important;
}

.check-brand {
    border-color: var(--brand-secondary);
}

.check-brand:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-secondary);
}

.check-brand:focus {
    box-shadow: 0 0 0 0.25rem var(--brand-ring) !important;
}


.input-brand {
    /*    border-color: var(--brand-secondary);*/
}


.input-brand:focus {
    box-shadow: 0 0 0 0.25rem var(--brand-ring) !important;
    border-color: var(--brand-primary) !important;
}


/* unvisited link */
.a-brand:link {
    color: var(--brand-primary);
    text-decoration: none;
}

/* visited link */
.a-brand:visited {
    color: var(--brand-secondary);
    text-decoration: none;
}

/* mouse over link */
.a-brand:hover {
    color: var(--brand-secondary);
    text-decoration: none;
}

/* selected link */
.a-brand:active {
    color: var(--brand-secondary);
    text-decoration: none;
}

table.dataTable th.dt-type-numeric,
table.dataTable th.dt-type-date,
table.dataTable td.dt-type-numeric,
table.dataTable td.dt-type-date {
    text-align: left;
}

div.dt-processing {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 200px;
    margin-left: 100px;
    margin-top: 22px;
    text-align: center;
    padding: 2px;
    z-index: 10;
}

div.table-responsive>div.dt-container>div.row {
    margin: 20px;
}

div.dt-container div.dt-paging {
    margin: 10px;
}

div.dt-container div.dt-paging ul.pagination {
    margin: 10px 0;
    flex-wrap: wrap;
}

div.dt-processing>div:last-child {
    position: relative;
    width: 80px;
    height: 15px;
    margin: 10em auto;
}


w-40 {
    width: 40% !important
}

m-15 {
    margin: 0.15rem !important;
}

.page-item.active .page-link {
    background-color: #176d64 !important;
    border: 1px solid black;
}

.page-item .page-link:hover {
    background-color: #209288 !important;
    border: 1px solid black;
    color: ghostwhite;
}

.page-link {
    color: black;
}

.page-link:focus {
    color: ghostwhite !important;
}

table.dataTable tbody tr.selected {
    color: white !important;
    background-color: var(--brand-primary) !important;
}

.ts-wrapper .option {
    color: black;
}

.image-container {
    position: relative;
}

.image-button {
    position: absolute;
    top: 1px;
    right: 1rem;
    display: none;
    background-color: var(--brand-primary);
    color: white;
}

.image-container:hover .image-button {
    display: block;
}

.icon-button {
    max-height: 2.5rem;
    max-width: 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.8rem;
}

.icon-button:hover {
    background-color: var(--brand-primary);
    cursor: pointer;
}

.icon-button-container div div a span .icon-button {
    flex: 0 0 2em;
}

.icon-button-container div div a span span {
    flex: 1em;
}

.carousel-image-preview {
    max-height: 100px;
    max-width: 100px;
    width: 100px;
    height: 100px;
}

/* Indicators list style */

.carousel-indicators {
    bottom: 1rem;
    left: 0;
    margin-left: 0;
    position: absolute;
    width: 100%;
}

.carousel-indicators li {
    border: medium none;
    border-radius: 0;
    float: left;
    height: 54px;
    margin-left: 0;
    margin-right: 5px !important;
    margin-top: 0;
    width: 100px;
}

/* Indicators images style */
.carousel-indicators img {
    border: 2px solid #FFFFFF;
    float: left;
    height: 54px;
    left: 0;
    width: 100px;
}

/* Indicators active image style */
.carousel-indicators .active img {
    border: 2px solid var(--brand-primary);
    opacity: 0.7;
}

.contact-persons-list {
    margin-bottom: 0;
}

.contact-person:not(:last-child) {
    border-bottom: 1px solid #e9ecef;
    padding-bottom: 0.5rem;
}

.contact-details {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9rem;
}

.contact-details a {
    color: #495057;
    text-decoration: none;
}

.contact-details a:hover {
    text-decoration: underline;
    color: var(--brand-color);
}

.contact-details i {
    color: var(--brand-color);
}

/* Device-specific display classes */
@media (max-width: 768px) {
    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: flex !important;
    }
}

@media (min-width: 769px) {
    .desktop-only {
        display: block !important;
    }

    .mobile-only {
        display: none !important;
    }
}

.product-image[src$="/images/default-product.svg"] {
    filter: grayscale(1) brightness(0.2);
}