﻿@charset "UTF-8";

/* ============================================================
   Self-hosted fonts — Poppins & Mulish
   ============================================================ */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('../fonts/Poppins-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Mulish';
    src: url('../fonts/Mulish-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* ============================================================
   Design tokens — CSS custom properties
   ============================================================ */
:root {
    /* Primary teal palette */
    --color-primary: #1A7F7A;
    --color-primary-hover: #146460;
    --color-primary-light: #E6F4F3;
    --color-primary-muted: #A8D5D3;
    /* Nav shell specific teal values (from Figma node 514:851) */
    --color-nav-dark: #086565; /* right pill bg, footer pill bg, icon circles in footer */
    --color-nav-teal: #36caa9; /* raw teal — used for icon colours and borders */
    --color-nav-active: linear-gradient(rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.10)), linear-gradient(rgb(54, 202, 169), rgb(54, 202, 169)); /* Figma 551:1221: rgba(255,255,255,0.1) over #36caa9 */
    --color-nav-centre-bg: rgb(237, 250, 247); /* centre pill outer bg — computed from Figma 551:1219: rgba(255,255,255,0.9) over rgb(74,207,178) */
    --color-nav-item-inactive: linear-gradient(rgba(255, 255, 255, 0.79), rgba(255, 255, 255, 0.79)), linear-gradient(rgb(54, 202, 169), rgb(54, 202, 169)); /* Figma 551:1225: rgba(255,255,255,0.79) over #36caa9 */
    --color-nav-search-bg: #f3f7f7; /* search input background in right pill */
    --color-nav-user-btn-bg: rgba(255, 255, 255, 0.14); /* avatar button bg in right pill */
    /* Surfaces & backgrounds */
    --color-surface: #FFFFFF;
    --color-surface-alt: #F4F8F8;
    --color-surface-muted: #EEF5F5;
    --color-bg-input: #F4F8F8;
    /* Borders */
    --color-border: #C8DADB;
    --color-border-light: #DDE8E8;
    /* Text */
    --color-text-body: #4A5568;
    --color-text-muted: #868686;
    --color-text-heading: #1A2B2B;
    --color-text-dark: #212529;
    --color-text-on-primary: #FFFFFF;
    --color-text-nav-dark: #086565; /* nav item text on inactive centre items */
    --color-text-nav-active: #252e2e; /* nav item text on active centre item */
    /* Status / semantic */
    --color-error: #D0021B;
    --color-success: #2E7D32;
    /* Shadows */
    --shadow-sm: 0 1px 3px rgba(26, 127, 122, 0.12);
    --shadow-md: 0 2px 8px rgba(26, 127, 122, 0.18);
    /* Border-radius */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-pill: 20px;
    --radius-pill-lg: 30px; /* large pill radius used by nav shell */
    /* Typography */
    --font-sans: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-body: 'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    /* Spacing */
    --sidebar-width: 240px;
    /* Nav shell dimensions */
    --nav-shell-height: 55px; /* pill height */
    --nav-shell-padding: 20px; /* outer padding of header/footer row */
    --nav-item-height: 38px; /* inner nav item pill height */
    --nav-icon-size: 30px; /* icon circle diameter */
}

/* General */
/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent;
}

@-ms-viewport {
    width: device-width;
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
    display: block;
}

body {
    margin: 0;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-text-dark);
    text-align: left;
    background-color: var(--color-surface);
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

    ol ol,
    ul ul,
    ol ul,
    ul ol {
        margin-bottom: 0;
    }

dt {
    font-weight: 700;
}

dd {
    margin-bottom: .5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

dfn {
    font-style: italic;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -.25em;
}

sup {
    top: -.5em;
}

a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
}

    a:hover {
        color: #0056b3;
        text-decoration: underline;
    }

    a:not([href]):not([tabindex]) {
        color: inherit;
        text-decoration: none;
    }

        a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
            color: inherit;
            text-decoration: none;
        }

        a:not([href]):not([tabindex]):focus {
            outline: 0;
        }

pre,
code,
kbd,
samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em;
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar;
}

figure {
    margin: 0 0 1rem;
}

img {
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

caption {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: #6c757d;
    text-align: left;
    caption-side: bottom;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

    button:focus {
        outline: 1px dotted;
        outline: 5px auto -webkit-focus-ring-color;
    }

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

    button::-moz-focus-inner,
    [type="button"]::-moz-focus-inner,
    [type="reset"]::-moz-focus-inner,
    [type="submit"]::-moz-focus-inner {
        padding: 0;
        border-style: none;
    }

input[type="radio"],
input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="checkbox"] {
    accent-color: var(--color-nav-teal);
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
    -webkit-appearance: listbox;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

    [type="search"]::-webkit-search-cancel-button,
    [type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    display: list-item;
    cursor: pointer;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}

/*!
 * Bootstrap Grid v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@-ms-viewport {
    width: device-width;
}

html {
    box-sizing: border-box;
    -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.no-gutters {
    margin-right: 0;
    margin-left: 0;
}

    .no-gutters > .col,
    .no-gutters > [class*="col-"] {
        padding-right: 0;
        padding-left: 0;
    }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
.col-xl-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
}

.col-1 {
    flex: 0 0 8.33333%;
    max-width: 8.33333%;
}

.col-2 {
    flex: 0 0 16.66667%;
    max-width: 16.66667%;
}

.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}

.col-4 {
    flex: 0 0 33.33333%;
    max-width: 33.33333%;
}

.col-5 {
    flex: 0 0 41.66667%;
    max-width: 41.66667%;
}

.col-6 {
    flex: 0 0 50%;
    max-width: 50%;
}

.col-7 {
    flex: 0 0 58.33333%;
    max-width: 58.33333%;
}

.col-8 {
    flex: 0 0 66.66667%;
    max-width: 66.66667%;
}

.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}

.col-10 {
    flex: 0 0 83.33333%;
    max-width: 83.33333%;
}

.col-11 {
    flex: 0 0 91.66667%;
    max-width: 91.66667%;
}

.col-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

.order-first {
    order: -1;
}

.order-last {
    order: 13;
}

.order-0 {
    order: 0;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

.order-4 {
    order: 4;
}

.order-5 {
    order: 5;
}

.order-6 {
    order: 6;
}

.order-7 {
    order: 7;
}

.order-8 {
    order: 8;
}

.order-9 {
    order: 9;
}

.order-10 {
    order: 10;
}

.order-11 {
    order: 11;
}

.order-12 {
    order: 12;
}

.offset-1 {
    margin-left: 8.33333%;
}

.offset-2 {
    margin-left: 16.66667%;
}

.offset-3 {
    margin-left: 25%;
}

.offset-4 {
    margin-left: 33.33333%;
}

.offset-5 {
    margin-left: 41.66667%;
}

.offset-6 {
    margin-left: 50%;
}

.offset-7 {
    margin-left: 58.33333%;
}

.offset-8 {
    margin-left: 66.66667%;
}

.offset-9 {
    margin-left: 75%;
}

.offset-10 {
    margin-left: 83.33333%;
}

.offset-11 {
    margin-left: 91.66667%;
}

@media (min-width: 576px) {
    .col-sm {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-sm-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-sm-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .col-sm-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }

    .col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-sm-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }

    .col-sm-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }

    .col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-sm-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }

    .col-sm-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .col-sm-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-sm-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }

    .col-sm-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }

    .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-sm-first {
        order: -1;
    }

    .order-sm-last {
        order: 13;
    }

    .order-sm-0 {
        order: 0;
    }

    .order-sm-1 {
        order: 1;
    }

    .order-sm-2 {
        order: 2;
    }

    .order-sm-3 {
        order: 3;
    }

    .order-sm-4 {
        order: 4;
    }

    .order-sm-5 {
        order: 5;
    }

    .order-sm-6 {
        order: 6;
    }

    .order-sm-7 {
        order: 7;
    }

    .order-sm-8 {
        order: 8;
    }

    .order-sm-9 {
        order: 9;
    }

    .order-sm-10 {
        order: 10;
    }

    .order-sm-11 {
        order: 11;
    }

    .order-sm-12 {
        order: 12;
    }

    .offset-sm-0 {
        margin-left: 0;
    }

    .offset-sm-1 {
        margin-left: 8.33333%;
    }

    .offset-sm-2 {
        margin-left: 16.66667%;
    }

    .offset-sm-3 {
        margin-left: 25%;
    }

    .offset-sm-4 {
        margin-left: 33.33333%;
    }

    .offset-sm-5 {
        margin-left: 41.66667%;
    }

    .offset-sm-6 {
        margin-left: 50%;
    }

    .offset-sm-7 {
        margin-left: 58.33333%;
    }

    .offset-sm-8 {
        margin-left: 66.66667%;
    }

    .offset-sm-9 {
        margin-left: 75%;
    }

    .offset-sm-10 {
        margin-left: 83.33333%;
    }

    .offset-sm-11 {
        margin-left: 91.66667%;
    }
}

@media (min-width: 768px) {
    .col-md {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-md-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-md-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .col-md-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }

    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-md-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }

    .col-md-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }

    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-md-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }

    .col-md-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-md-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }

    .col-md-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }

    .col-md-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-md-first {
        order: -1;
    }

    .order-md-last {
        order: 13;
    }

    .order-md-0 {
        order: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .order-md-3 {
        order: 3;
    }

    .order-md-4 {
        order: 4;
    }

    .order-md-5 {
        order: 5;
    }

    .order-md-6 {
        order: 6;
    }

    .order-md-7 {
        order: 7;
    }

    .order-md-8 {
        order: 8;
    }

    .order-md-9 {
        order: 9;
    }

    .order-md-10 {
        order: 10;
    }

    .order-md-11 {
        order: 11;
    }

    .order-md-12 {
        order: 12;
    }

    .offset-md-0 {
        margin-left: 0;
    }

    .offset-md-1 {
        margin-left: 8.33333%;
    }

    .offset-md-2 {
        margin-left: 16.66667%;
    }

    .offset-md-3 {
        margin-left: 25%;
    }

    .offset-md-4 {
        margin-left: 33.33333%;
    }

    .offset-md-5 {
        margin-left: 41.66667%;
    }

    .offset-md-6 {
        margin-left: 50%;
    }

    .offset-md-7 {
        margin-left: 58.33333%;
    }

    .offset-md-8 {
        margin-left: 66.66667%;
    }

    .offset-md-9 {
        margin-left: 75%;
    }

    .offset-md-10 {
        margin-left: 83.33333%;
    }

    .offset-md-11 {
        margin-left: 91.66667%;
    }
}

@media (min-width: 992px) {
    .col-lg {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-lg-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-lg-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .col-lg-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }

    .col-lg-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-lg-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }

    .col-lg-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }

    .col-lg-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }

    .col-lg-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .col-lg-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-lg-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }

    .col-lg-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }

    .col-lg-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-lg-first {
        order: -1;
    }

    .order-lg-last {
        order: 13;
    }

    .order-lg-0 {
        order: 0;
    }

    .order-lg-1 {
        order: 1;
    }

    .order-lg-2 {
        order: 2;
    }

    .order-lg-3 {
        order: 3;
    }

    .order-lg-4 {
        order: 4;
    }

    .order-lg-5 {
        order: 5;
    }

    .order-lg-6 {
        order: 6;
    }

    .order-lg-7 {
        order: 7;
    }

    .order-lg-8 {
        order: 8;
    }

    .order-lg-9 {
        order: 9;
    }

    .order-lg-10 {
        order: 10;
    }

    .order-lg-11 {
        order: 11;
    }

    .order-lg-12 {
        order: 12;
    }

    .offset-lg-0 {
        margin-left: 0;
    }

    .offset-lg-1 {
        margin-left: 8.33333%;
    }

    .offset-lg-2 {
        margin-left: 16.66667%;
    }

    .offset-lg-3 {
        margin-left: 25%;
    }

    .offset-lg-4 {
        margin-left: 33.33333%;
    }

    .offset-lg-5 {
        margin-left: 41.66667%;
    }

    .offset-lg-6 {
        margin-left: 50%;
    }

    .offset-lg-7 {
        margin-left: 58.33333%;
    }

    .offset-lg-8 {
        margin-left: 66.66667%;
    }

    .offset-lg-9 {
        margin-left: 75%;
    }

    .offset-lg-10 {
        margin-left: 83.33333%;
    }

    .offset-lg-11 {
        margin-left: 91.66667%;
    }
}

@media (min-width: 1200px) {
    .col-xl {
        flex-basis: 0;
        flex-grow: 1;
        max-width: 100%;
    }

    .col-xl-auto {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .col-xl-1 {
        flex: 0 0 8.33333%;
        max-width: 8.33333%;
    }

    .col-xl-2 {
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }

    .col-xl-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .col-xl-4 {
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }

    .col-xl-5 {
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }

    .col-xl-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-xl-7 {
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }

    .col-xl-8 {
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .col-xl-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }

    .col-xl-10 {
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }

    .col-xl-11 {
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }

    .col-xl-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .order-xl-first {
        order: -1;
    }

    .order-xl-last {
        order: 13;
    }

    .order-xl-0 {
        order: 0;
    }

    .order-xl-1 {
        order: 1;
    }

    .order-xl-2 {
        order: 2;
    }

    .order-xl-3 {
        order: 3;
    }

    .order-xl-4 {
        order: 4;
    }

    .order-xl-5 {
        order: 5;
    }

    .order-xl-6 {
        order: 6;
    }

    .order-xl-7 {
        order: 7;
    }

    .order-xl-8 {
        order: 8;
    }

    .order-xl-9 {
        order: 9;
    }

    .order-xl-10 {
        order: 10;
    }

    .order-xl-11 {
        order: 11;
    }

    .order-xl-12 {
        order: 12;
    }

    .offset-xl-0 {
        margin-left: 0;
    }

    .offset-xl-1 {
        margin-left: 8.33333%;
    }

    .offset-xl-2 {
        margin-left: 16.66667%;
    }

    .offset-xl-3 {
        margin-left: 25%;
    }

    .offset-xl-4 {
        margin-left: 33.33333%;
    }

    .offset-xl-5 {
        margin-left: 41.66667%;
    }

    .offset-xl-6 {
        margin-left: 50%;
    }

    .offset-xl-7 {
        margin-left: 58.33333%;
    }

    .offset-xl-8 {
        margin-left: 66.66667%;
    }

    .offset-xl-9 {
        margin-left: 75%;
    }

    .offset-xl-10 {
        margin-left: 83.33333%;
    }

    .offset-xl-11 {
        margin-left: 91.66667%;
    }
}

.d-none {
    display: none !important;
}

.d-inline {
    display: inline !important;
}

.d-inline-block {
    display: inline-block !important;
}

.d-block {
    display: block !important;
}

.d-table {
    display: table !important;
}

.d-table-row {
    display: table-row !important;
}

.d-table-cell {
    display: table-cell !important;
}

.d-flex {
    display: flex !important;
}

.d-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 576px) {
    .d-sm-none {
        display: none !important;
    }

    .d-sm-inline {
        display: inline !important;
    }

    .d-sm-inline-block {
        display: inline-block !important;
    }

    .d-sm-block {
        display: block !important;
    }

    .d-sm-table {
        display: table !important;
    }

    .d-sm-table-row {
        display: table-row !important;
    }

    .d-sm-table-cell {
        display: table-cell !important;
    }

    .d-sm-flex {
        display: flex !important;
    }

    .d-sm-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 768px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: flex !important;
    }

    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-inline {
        display: inline !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }

    .d-xl-inline {
        display: inline !important;
    }

    .d-xl-inline-block {
        display: inline-block !important;
    }

    .d-xl-block {
        display: block !important;
    }

    .d-xl-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: flex !important;
    }

    .d-xl-inline-flex {
        display: inline-flex !important;
    }
}

@media print {
    .d-print-none {
        display: none !important;
    }

    .d-print-inline {
        display: inline !important;
    }

    .d-print-inline-block {
        display: inline-block !important;
    }

    .d-print-block {
        display: block !important;
    }

    .d-print-table {
        display: table !important;
    }

    .d-print-table-row {
        display: table-row !important;
    }

    .d-print-table-cell {
        display: table-cell !important;
    }

    .d-print-flex {
        display: flex !important;
    }

    .d-print-inline-flex {
        display: inline-flex !important;
    }
}

.flex-row {
    flex-direction: row !important;
}

.flex-column {
    flex-direction: column !important;
}

.flex-row-reverse {
    flex-direction: row-reverse !important;
}

.flex-column-reverse {
    flex-direction: column-reverse !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.flex-nowrap {
    flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse !important;
}

.flex-fill {
    flex: 1 1 auto !important;
}

.flex-grow-0 {
    flex-grow: 0 !important;
}

.flex-grow-1 {
    flex-grow: 1 !important;
}

.flex-shrink-0 {
    flex-shrink: 0 !important;
}

.flex-shrink-1 {
    flex-shrink: 1 !important;
}

.justify-content-start {
    justify-content: flex-start !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.justify-content-center {
    justify-content: center !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-around {
    justify-content: space-around !important;
}

.align-items-start {
    align-items: flex-start !important;
}

.align-items-end {
    align-items: flex-end !important;
}

.align-items-center {
    align-items: center !important;
}

.align-items-baseline {
    align-items: baseline !important;
}

.align-items-stretch {
    align-items: stretch !important;
}

.align-content-start {
    align-content: flex-start !important;
}

.align-content-end {
    align-content: flex-end !important;
}

.align-content-center {
    align-content: center !important;
}

.align-content-between {
    align-content: space-between !important;
}

.align-content-around {
    align-content: space-around !important;
}

.align-content-stretch {
    align-content: stretch !important;
}

.align-self-auto {
    align-self: auto !important;
}

.align-self-start {
    align-self: flex-start !important;
}

.align-self-end {
    align-self: flex-end !important;
}

.align-self-center {
    align-self: center !important;
}

.align-self-baseline {
    align-self: baseline !important;
}

.align-self-stretch {
    align-self: stretch !important;
}

@media (min-width: 576px) {
    .flex-sm-row {
        flex-direction: row !important;
    }

    .flex-sm-column {
        flex-direction: column !important;
    }

    .flex-sm-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-sm-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-sm-wrap {
        flex-wrap: wrap !important;
    }

    .flex-sm-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-sm-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-sm-fill {
        flex: 1 1 auto !important;
    }

    .flex-sm-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-sm-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-sm-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-sm-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-sm-start {
        justify-content: flex-start !important;
    }

    .justify-content-sm-end {
        justify-content: flex-end !important;
    }

    .justify-content-sm-center {
        justify-content: center !important;
    }

    .justify-content-sm-between {
        justify-content: space-between !important;
    }

    .justify-content-sm-around {
        justify-content: space-around !important;
    }

    .align-items-sm-start {
        align-items: flex-start !important;
    }

    .align-items-sm-end {
        align-items: flex-end !important;
    }

    .align-items-sm-center {
        align-items: center !important;
    }

    .align-items-sm-baseline {
        align-items: baseline !important;
    }

    .align-items-sm-stretch {
        align-items: stretch !important;
    }

    .align-content-sm-start {
        align-content: flex-start !important;
    }

    .align-content-sm-end {
        align-content: flex-end !important;
    }

    .align-content-sm-center {
        align-content: center !important;
    }

    .align-content-sm-between {
        align-content: space-between !important;
    }

    .align-content-sm-around {
        align-content: space-around !important;
    }

    .align-content-sm-stretch {
        align-content: stretch !important;
    }

    .align-self-sm-auto {
        align-self: auto !important;
    }

    .align-self-sm-start {
        align-self: flex-start !important;
    }

    .align-self-sm-end {
        align-self: flex-end !important;
    }

    .align-self-sm-center {
        align-self: center !important;
    }

    .align-self-sm-baseline {
        align-self: baseline !important;
    }

    .align-self-sm-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 768px) {
    .flex-md-row {
        flex-direction: row !important;
    }

    .flex-md-column {
        flex-direction: column !important;
    }

    .flex-md-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-md-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-md-wrap {
        flex-wrap: wrap !important;
    }

    .flex-md-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-md-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-md-fill {
        flex: 1 1 auto !important;
    }

    .flex-md-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-md-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-md-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-md-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-md-start {
        justify-content: flex-start !important;
    }

    .justify-content-md-end {
        justify-content: flex-end !important;
    }

    .justify-content-md-center {
        justify-content: center !important;
    }

    .justify-content-md-between {
        justify-content: space-between !important;
    }

    .justify-content-md-around {
        justify-content: space-around !important;
    }

    .align-items-md-start {
        align-items: flex-start !important;
    }

    .align-items-md-end {
        align-items: flex-end !important;
    }

    .align-items-md-center {
        align-items: center !important;
    }

    .align-items-md-baseline {
        align-items: baseline !important;
    }

    .align-items-md-stretch {
        align-items: stretch !important;
    }

    .align-content-md-start {
        align-content: flex-start !important;
    }

    .align-content-md-end {
        align-content: flex-end !important;
    }

    .align-content-md-center {
        align-content: center !important;
    }

    .align-content-md-between {
        align-content: space-between !important;
    }

    .align-content-md-around {
        align-content: space-around !important;
    }

    .align-content-md-stretch {
        align-content: stretch !important;
    }

    .align-self-md-auto {
        align-self: auto !important;
    }

    .align-self-md-start {
        align-self: flex-start !important;
    }

    .align-self-md-end {
        align-self: flex-end !important;
    }

    .align-self-md-center {
        align-self: center !important;
    }

    .align-self-md-baseline {
        align-self: baseline !important;
    }

    .align-self-md-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 992px) {
    .flex-lg-row {
        flex-direction: row !important;
    }

    .flex-lg-column {
        flex-direction: column !important;
    }

    .flex-lg-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-lg-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-lg-wrap {
        flex-wrap: wrap !important;
    }

    .flex-lg-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-lg-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-lg-fill {
        flex: 1 1 auto !important;
    }

    .flex-lg-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-lg-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-lg-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-lg-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-lg-start {
        justify-content: flex-start !important;
    }

    .justify-content-lg-end {
        justify-content: flex-end !important;
    }

    .justify-content-lg-center {
        justify-content: center !important;
    }

    .justify-content-lg-between {
        justify-content: space-between !important;
    }

    .justify-content-lg-around {
        justify-content: space-around !important;
    }

    .align-items-lg-start {
        align-items: flex-start !important;
    }

    .align-items-lg-end {
        align-items: flex-end !important;
    }

    .align-items-lg-center {
        align-items: center !important;
    }

    .align-items-lg-baseline {
        align-items: baseline !important;
    }

    .align-items-lg-stretch {
        align-items: stretch !important;
    }

    .align-content-lg-start {
        align-content: flex-start !important;
    }

    .align-content-lg-end {
        align-content: flex-end !important;
    }

    .align-content-lg-center {
        align-content: center !important;
    }

    .align-content-lg-between {
        align-content: space-between !important;
    }

    .align-content-lg-around {
        align-content: space-around !important;
    }

    .align-content-lg-stretch {
        align-content: stretch !important;
    }

    .align-self-lg-auto {
        align-self: auto !important;
    }

    .align-self-lg-start {
        align-self: flex-start !important;
    }

    .align-self-lg-end {
        align-self: flex-end !important;
    }

    .align-self-lg-center {
        align-self: center !important;
    }

    .align-self-lg-baseline {
        align-self: baseline !important;
    }

    .align-self-lg-stretch {
        align-self: stretch !important;
    }
}

@media (min-width: 1200px) {
    .flex-xl-row {
        flex-direction: row !important;
    }

    .flex-xl-column {
        flex-direction: column !important;
    }

    .flex-xl-row-reverse {
        flex-direction: row-reverse !important;
    }

    .flex-xl-column-reverse {
        flex-direction: column-reverse !important;
    }

    .flex-xl-wrap {
        flex-wrap: wrap !important;
    }

    .flex-xl-nowrap {
        flex-wrap: nowrap !important;
    }

    .flex-xl-wrap-reverse {
        flex-wrap: wrap-reverse !important;
    }

    .flex-xl-fill {
        flex: 1 1 auto !important;
    }

    .flex-xl-grow-0 {
        flex-grow: 0 !important;
    }

    .flex-xl-grow-1 {
        flex-grow: 1 !important;
    }

    .flex-xl-shrink-0 {
        flex-shrink: 0 !important;
    }

    .flex-xl-shrink-1 {
        flex-shrink: 1 !important;
    }

    .justify-content-xl-start {
        justify-content: flex-start !important;
    }

    .justify-content-xl-end {
        justify-content: flex-end !important;
    }

    .justify-content-xl-center {
        justify-content: center !important;
    }

    .justify-content-xl-between {
        justify-content: space-between !important;
    }

    .justify-content-xl-around {
        justify-content: space-around !important;
    }

    .align-items-xl-start {
        align-items: flex-start !important;
    }

    .align-items-xl-end {
        align-items: flex-end !important;
    }

    .align-items-xl-center {
        align-items: center !important;
    }

    .align-items-xl-baseline {
        align-items: baseline !important;
    }

    .align-items-xl-stretch {
        align-items: stretch !important;
    }

    .align-content-xl-start {
        align-content: flex-start !important;
    }

    .align-content-xl-end {
        align-content: flex-end !important;
    }

    .align-content-xl-center {
        align-content: center !important;
    }

    .align-content-xl-between {
        align-content: space-between !important;
    }

    .align-content-xl-around {
        align-content: space-around !important;
    }

    .align-content-xl-stretch {
        align-content: stretch !important;
    }

    .align-self-xl-auto {
        align-self: auto !important;
    }

    .align-self-xl-start {
        align-self: flex-start !important;
    }

    .align-self-xl-end {
        align-self: flex-end !important;
    }

    .align-self-xl-center {
        align-self: center !important;
    }

    .align-self-xl-baseline {
        align-self: baseline !important;
    }

    .align-self-xl-stretch {
        align-self: stretch !important;
    }
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
    font-family: "slick";
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

    .slick-prev:hover, .slick-prev:focus,
    .slick-next:hover,
    .slick-next:focus {
        outline: none;
        background: transparent;
        color: transparent;
    }

        .slick-prev:hover:before, .slick-prev:focus:before,
        .slick-next:hover:before,
        .slick-next:focus:before {
            opacity: 1;
        }

    .slick-prev.slick-disabled:before,
    .slick-next.slick-disabled:before {
        opacity: 0.25;
    }

    .slick-prev:before,
    .slick-next:before {
        font-family: "slick";
        font-size: 20px;
        line-height: 1;
        color: var(--color-text-on-primary);
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px;
}

.slick-prev:before {
    content: "←";
}

[dir="rtl"] .slick-prev:before {
    content: "→";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto;
}

.slick-next:before {
    content: "→";
}

[dir="rtl"] .slick-next:before {
    content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.slick-dots {
    position: absolute;
    bottom: 20px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}

    .slick-dots li {
        position: relative;
        display: inline-block;
        height: 14px;
        width: 14px;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
    }

        .slick-dots li.slick-active button {
            background: #292929;
        }

        .slick-dots li button {
            border: 0;
            background: transparent;
            display: block;
            height: 14px;
            width: 14px;
            background: transparent;
            border: 4px solid #292929;
            border-radius: 100px;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 5px;
            font-size: 0px;
            cursor: pointer;
        }

            .slick-dots li button:hover, .slick-dots li button:focus {
                outline: none;
            }

                .slick-dots li button:hover:before, .slick-dots li button:focus:before {
                    opacity: 1;
                }

            .slick-dots li button:before {
                position: absolute;
                top: 0;
                left: 0;
                content: "•";
                width: 20px;
                height: 20px;
                font-family: "slick";
                font-size: 6px;
                line-height: 20px;
                text-align: center;
                color: black;
                opacity: 0.25;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                display: none;
            }

        .slick-dots li.slick-active button:before {
            color: black;
            opacity: 0.75;
        }

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

    .slick-list:focus {
        outline: none;
    }

    .slick-list.dragging {
        cursor: pointer;
        cursor: hand;
    }

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

    .slick-track:before, .slick-track:after {
        content: "";
        display: table;
    }

    .slick-track:after {
        clear: both;
    }

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
    font-family: "slick";
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

    .slick-prev:hover, .slick-prev:focus,
    .slick-next:hover,
    .slick-next:focus {
        outline: none;
        background: transparent;
        color: transparent;
    }

        .slick-prev:hover:before, .slick-prev:focus:before,
        .slick-next:hover:before,
        .slick-next:focus:before {
            opacity: 1;
        }

    .slick-prev.slick-disabled:before,
    .slick-next.slick-disabled:before {
        opacity: 0.25;
    }

    .slick-prev:before,
    .slick-next:before {
        font-family: "slick";
        font-size: 20px;
        line-height: 1;
        color: var(--color-text-on-primary);
        opacity: 0.75;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

.slick-prev {
    left: -25px;
}

[dir="rtl"] .slick-prev {
    left: auto;
    right: -25px;
}

.slick-prev:before {
    content: "←";
}

[dir="rtl"] .slick-prev:before {
    content: "→";
}

.slick-next {
    right: -25px;
}

[dir="rtl"] .slick-next {
    left: -25px;
    right: auto;
}

.slick-next:before {
    content: "→";
}

[dir="rtl"] .slick-next:before {
    content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 0px;
}

.slick-dots {
    position: absolute;
    bottom: 20px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}

    .slick-dots li {
        position: relative;
        display: inline-block;
        height: 14px;
        width: 14px;
        margin: 0 5px;
        padding: 0;
        cursor: pointer;
    }

        .slick-dots li.slick-active button {
            background: #292929;
        }

        .slick-dots li button {
            border: 0;
            background: transparent;
            display: block;
            height: 14px;
            width: 14px;
            background: transparent;
            border: 4px solid #292929;
            border-radius: 100px;
            outline: none;
            line-height: 0px;
            font-size: 0px;
            color: transparent;
            padding: 5px;
            font-size: 0px;
            cursor: pointer;
        }

            .slick-dots li button:hover, .slick-dots li button:focus {
                outline: none;
            }

                .slick-dots li button:hover:before, .slick-dots li button:focus:before {
                    opacity: 1;
                }

            .slick-dots li button:before {
                position: absolute;
                top: 0;
                left: 0;
                content: "•";
                width: 20px;
                height: 20px;
                font-family: "slick";
                font-size: 6px;
                line-height: 20px;
                text-align: center;
                color: black;
                opacity: 0.25;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                display: none;
            }

        .slick-dots li.slick-active button:before {
            color: black;
            opacity: 0.75;
        }

/* HAMBURGER MENU */
.button {
    min-width: 170px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-primary);
    background: var(--color-primary);
    color: var(--color-text-on-primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 21px;
    padding: 6px 22px;
    margin: 15px;
    outline: none;
    transition: .25s ease all;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    font-family: var(--font-sans);
    height: 33px;
}

@media (max-width: 991.98px) {
    .button {
        margin: 7px 15px;
    }
}

.button:focus {
    outline: none;
}

.button:hover {
    background: var(--color-primary-hover);
    color: var(--color-text-on-primary);
    text-decoration: none;
}

.button.white {
    background: var(--color-surface);
    color: var(--color-primary);
    border-color: var(--color-primary);
}

    .button.white:hover {
        background: var(--color-primary-hover);
        color: var(--color-text-on-primary);
    }

.button.gold {
    background: var(--color-primary);
    color: var(--color-text-on-primary);
}

.button.transparent {
    background: transparent;
    border-color: var(--color-surface);
    color: var(--color-text-on-primary);
}

    .button.transparent:hover {
        border-color: var(--color-primary);
        color: var(--color-primary);
    }

.button.no-margin {
    margin-left: 0px;
    margin-right: 0px;
}

.input-block.padding-top {
    padding-top: 15px;
}

.input-block.centered {
    text-align: center;
}

.input-block .main-label {
    padding-top: 1px;
    display: block;
    width: 100%;
    color: var(--color-text-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 18px;
    margin: 0px;
    text-shadow: none;
}

.input-block .sub-label {
    display: block;
    width: 100%;
    color: var(--color-text-muted);
    font-size: 13px;
    font-style: italic;
    line-height: 18px;
    padding: 2px 0px 4px;
    text-shadow: none;
}

.input-block .input-wrapper {
    position: relative;
}

    .input-block .input-wrapper select,
    .input-block .input-wrapper input[type="text"],
    .input-block .input-wrapper input[type="password"],
    .input-block .input-wrapper input[type="mail"],
    .input-block .input-wrapper input[type="email"] {
        height: 33px;
        background: var(--color-surface);
        border: 1px solid var(--color-border);
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 16px;
        border-radius: var(--radius-sm);
        outline: none;
        transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    }

        .input-block .input-wrapper select:focus,
        .input-block .input-wrapper input[type="text"]:focus,
        .input-block .input-wrapper input[type="password"]:focus,
        .input-block .input-wrapper input[type="mail"]:focus,
        .input-block .input-wrapper input[type="email"]:focus {
            border-color: var(--color-primary);
            box-shadow: 0 0 0 2px var(--color-primary-light);
        }

        .input-block .input-wrapper select::placeholder,
        .input-block .input-wrapper input[type="text"]::placeholder,
        .input-block .input-wrapper input[type="password"]::placeholder,
        .input-block .input-wrapper input[type="mail"]::placeholder,
        .input-block .input-wrapper input[type="email"]::placeholder {
            color: var(--color-text-muted);
        }

    .input-block .input-wrapper select {
        -webkit-appearance: none;
        -moz-appearance: none;
        text-indent: 1px;
        text-overflow: '';
    }

        .input-block .input-wrapper select::-ms-expand {
            display: none;
        }

    .input-block .input-wrapper.icon select,
    .input-block .input-wrapper.icon input[type="text"],
    .input-block .input-wrapper.icon input[type="password"],
    .input-block .input-wrapper.icon input[type="mail"],
    .input-block .input-wrapper.icon input[type="email"] {
        padding-left: 33px;
    }

    .input-block .input-wrapper.icon:before {
        background-size: 33px 33px;
        background-position: left center;
        position: absolute;
        left: 0px;
        top: 0px;
        height: 33px;
        width: 33px;
        content: " ";
        display: block;
        z-index: 2;
        pointer-events: none;
    }

    .input-block .input-wrapper.icon.icon-profile:before {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-input-profile.png");
    }

    .input-block .input-wrapper.icon.icon-mail:before {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-input-mail.png");
    }

    .input-block .input-wrapper.icon.icon-lock:before {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-input-lock.png");
    }

    .input-block .input-wrapper.icon.icon-phone:before {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-input-phone.png");
    }

    .input-block .input-wrapper.icon-select:before {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-select-arrow.png");
        background-size: 33px 33px;
        background-position: left center;
        position: absolute;
        right: 0px;
        top: 0px;
        height: 33px;
        width: 33px;
        content: " ";
        display: block;
        z-index: 2;
        pointer-events: none;
    }

    .input-block .input-wrapper.icon-select select {
        padding-right: 33px;
    }

    .input-block .input-wrapper .search-button {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/icon-search.png");
        background-size: 33px 33px;
        height: 33px;
        width: 33px;
        border: 0px;
        background-color: transparent;
        position: absolute;
        right: 0px;
        top: 0px;
        border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        cursor: pointer;
        transition: .25s ease all;
        outline: none;
    }

        .input-block .input-wrapper .search-button:hover, .input-block .input-wrapper .search-button:focus {
            box-shadow: inset 0px 0px 0px 1px var(--color-primary);
            background-color: var(--color-primary-light);
        }

.input-block p, .input-block label {
    font-size: 14px;
    color: var(--color-text-muted);
}

    .input-block p a, .input-block label a {
        font-weight: bold;
        color: var(--color-text-muted);
    }

.input-block.error {
    position: relative;
}

    .input-block.error .sub-label {
        color: var(--color-error);
    }

    .input-block.error select,
    .input-block.error input[type="text"],
    .input-block.error input[type="password"],
    .input-block.error input[type="mail"],
    .input-block.error input[type="email"] {
        border-color: var(--color-error);
    }

    .input-block.error::after {
        content: url("../images/inputerror.png");
        position: absolute;
        right: -8px;
        bottom: 17px;
        z-index: 3000;
    }

.input-block .extra-row .right {
    text-align: right;
}

.form-container[class] {
    width: 390px;
    max-width: 100%;
    margin-left: auto;
    margin-right: -15px;
}

    .form-container[class].full-width {
        width: 100%;
        margin: 0px;
    }

    .form-container[class].w780 {
        width: 780px;
        margin: 0px auto;
    }

@media (max-width: 991.98px) {
    .form-container[class].w780 {
        margin-left: -20px;
        margin-right: -20px;
        max-width: calc(100% + 40px);
    }
}

@media (max-width: 991.98px) {
    .form-container[class] {
        margin-right: auto;
    }
}

.form-container[class] h1 {
    color: #868686;
    margin: 0px 15px 16px;
    font-size: 28px;
    font-weight: bold;
    line-height: 38px;
}

.form-container[class] h3 {
    font-size: 33px;
    font-weight: 300;
    line-height: 32px;
    text-align: center;
    padding-bottom: 25px;
}

    .form-container[class] h3.centered {
        width: 100%;
        text-align: center;
    }

input[type="checkbox"] {
    position: absolute;
    opacity: 0;
}

/*input[type="checkbox"] + label {
        position: relative;
        cursor: pointer;
        padding: 0;
    }

        input[type="checkbox"] + label:before {
            content: '';
            margin-right: 10px;
            display: inline-block;
            vertical-align: text-top;
            width: 14px;
            height: 14px;
            background: var(--color-surface);
            border: 1px solid #868686;
        }

    input[type="checkbox"]:hover + label:before {
        background: var(--color-primary);
    }

    input[type="checkbox"]:focus + label:before {
        box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.12);
    }

    input[type="checkbox"]:checked + label:before {
        background: var(--color-primary);
    }

    input[type="checkbox"]:disabled + label {
        color: #b8b8b8;
        cursor: auto;
    }

        input[type="checkbox"]:disabled + label:before {
            box-shadow: none;
            background: #ddd;
        }

    input[type="checkbox"]:checked + label:after {
        content: '';
        position: absolute;
        left: 3px;
        top: 8px;
        background: white;
        width: 2px;
        height: 2px;
        box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -8px 0 white;
        transform: rotate(45deg) scale(0.8);
    }*/

.hamburger {
    padding: 3px 0px;
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}

    .hamburger:hover {
        opacity: 0.7;
    }

.hamburger-box {
    width: 30px;
    height: 24px;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}

    .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
        width: 30px;
        height: 4px;
        background-color: #000;
        border-radius: 4px;
        position: absolute;
        transition-property: transform;
        transition-duration: 0.15s;
        transition-timing-function: ease;
    }

        .hamburger-inner::before, .hamburger-inner::after {
            content: "";
            display: block;
        }

        .hamburger-inner::before {
            top: -10px;
        }

        .hamburger-inner::after {
            bottom: -10px;
        }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
    transition-duration: 0.22s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

    .hamburger--spin .hamburger-inner::before {
        transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
    }

    .hamburger--spin .hamburger-inner::after {
        transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

.hamburger--spin.is-active .hamburger-inner {
    transform: rotate(225deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

    .hamburger--spin.is-active .hamburger-inner::before {
        top: 0;
        opacity: 0;
        transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
    }

    .hamburger--spin.is-active .hamburger-inner::after {
        bottom: 0;
        transform: rotate(-90deg);
        transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
    }

/* Partials */
section.header {
    position: relative;
    display: block;
    background-color: var(--color-primary);
}

    section.header .wrapper {
        width: 100%;
        max-width: calc(100% - 30px);
        margin: 0px auto;
        padding-top: 10px;
        padding-bottom: 10px;
        position: relative;
        text-align: center;
    }

        section.header .wrapper:after {
            content: ' ';
            display: block;
            clear: both;
            visibility: hidden;
            line-height: 0;
            height: 0;
        }

        section.header .wrapper .left, section.header .wrapper .middle, section.header .wrapper .right {
            float: left;
            display: flex;
            align-items: center;
        }

        section.header .wrapper .left {
            width: 33.3333334%;
            justify-content: flex-start;
        }

            section.header .wrapper .left img {
                width: 24px;
                margin-right: 30px;
                cursor: pointer;
            }

        section.header .wrapper .middle {
            width: 33.3333334%;
        }

        section.header .wrapper .right {
            width: 33.3333334%;
            justify-content: flex-end;
            align-items: center;
            min-height: 30px;
        }

            section.header .wrapper .right .icon {
                margin: 0px 10px;
                width: 32px;
                height: 22px;
                background-color: transparent;
                background-size: contain;
                background-repeat: no-repeat;
                border: 0px;
                cursor: pointer;
                transition: .25s ease all;
                border-radius: 10%;
            }

                section.header .wrapper .right .icon.icon-profile {
                    background-position: center;
                    background-size: cover;
                    background-repeat: no-repeat;
                    background-image: url("../images/icon-profile-grey-2.png");
                    background-size: auto;
                    position: relative;
                }

                    section.header .wrapper .right .icon.icon-profile .profile-menu {
                        position: absolute;
                        background-color: var(--color-surface-alt);
                        z-index: 500;
                        width: 100px;
                        right: -30px;
                        top: 32px;
                        text-align: center;
                        color: #868686;
                        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
                        padding: 10px;
                        cursor: default;
                        display: none;
                    }

                        section.header .wrapper .right .icon.icon-profile .profile-menu:before {
                            left: 44px;
                            top: -6px;
                            height: 12px;
                            width: 12px;
                            border-right: none;
                            border-top: none;
                            content: " ";
                            background-color: var(--color-surface-alt);
                            position: absolute;
                            pointer-events: none;
                            transform: rotate(45deg);
                        }

                        section.header .wrapper .right .icon.icon-profile .profile-menu ul {
                            list-style: none;
                            margin: 0;
                            padding: 0;
                        }

                            section.header .wrapper .right .icon.icon-profile .profile-menu ul li {
                                cursor: pointer;
                                margin-bottom: 3px;
                                font-size: 13px;
                            }

                    section.header .wrapper .right .icon.icon-profile:hover .profile-menu {
                        display: block;
                    }

                section.header .wrapper .right .icon.icon-globe {
                    background-position: center;
                    background-size: cover;
                    background-repeat: no-repeat;
                    background-image: url("../images/icon-globe-grey.png");
                }

                section.header .wrapper .right .icon:hover {
                    border-radius: 50%;
                    background-color: var(--color-surface);
                    box-shadow: 0px 0px 0px 5px #FFFFFF;
                }

    section.header .logo {
        position: relative;
        display: inline-block;
        margin: 0px;
        font-size: 16px;
        z-index: 10;
        min-width: 68px;
        width: 100%;
        height: 30px;
        background: transparent;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/tmr-logo_200.png");
        background-size: contain;
        background-position: left center;
        color: #231F20;
        text-align: left;
        padding-left: 91px;
        display: flex;
        align-items: center;
        line-height: 31px;
        transition: .25s ease all;
    }

@media (max-width: 1199.98px) {
    section.header .logo {
        font-size: 0px;
    }
}

section.header .logo:hover {
    text-decoration: none;
    color: var(--color-text-on-primary);
}

.search-wrap {
    width: 100%;
    position: relative;
    text-align: right;
}

    .search-wrap .search-input {
        height: 30px;
        width: 70%;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-sm);
        background-color: var(--color-bg-input);
        color: var(--color-text-body);
        padding-left: 20px;
        padding-right: 50px;
        transition: border-color .15s ease-in-out;
    }

        .search-wrap .search-input:focus {
            border-color: var(--color-primary);
            outline: none;
            box-shadow: 0 0 0 2px var(--color-primary-light);
        }



    .search-wrap .found-list {
        position: absolute;
        background-color: var(--color-surface);
        z-index: 500;
        width: calc(70% - 20px);
        right: 20px;
        top: 40px;
        padding-right: 20px;
        text-align: left;
        color: var(--color-text-body);
        box-shadow: var(--shadow-md);
        display: none;
        min-width: 400px;
        border-radius: var(--radius-md);
        border: 1px solid var(--color-border-light);
    }



        .search-wrap .found-list.on {
            display: block;
        }

        .search-wrap .found-list:before {
            left: 19px;
            top: -6px;
            height: 12px;
            width: 12px;
            border-right: none;
            border-top: none;
            content: " ";
            background-color: var(--color-surface);
            position: absolute;
            pointer-events: none;
            transform: rotate(45deg);
        }

        .search-wrap .found-list .found-list-category {
            padding-top: 15px;
        }

            .search-wrap .found-list .found-list-category:last-child .category-name-and-list {
                border-bottom: 0;
            }

            .search-wrap .found-list .found-list-category .category-icon {
                float: left;
                width: 50px;
                text-align: center;
            }

                .search-wrap .found-list .found-list-category .category-icon img {
                    width: 20px;
                }

            .search-wrap .found-list .found-list-category .category-name-and-list {
                overflow: hidden;
                border-bottom: 1px solid #868686;
            }

                .search-wrap .found-list .found-list-category .category-name-and-list .category-name {
                    margin-bottom: 6px;
                    text-transform: uppercase;
                    font-family: var(--font-sans);
                    font-weight: bold;
                    font-size: 12px;
                    padding-top: 4px;
                }

                .search-wrap .found-list .found-list-category .category-name-and-list ul.category-list {
                    list-style: none;
                    padding: 0;
                }

                    .search-wrap .found-list .found-list-category .category-name-and-list ul.category-list li {
                        margin-bottom: 3px;
                        padding: 2px 4px;
                        cursor: pointer;
                    }

                        .search-wrap .found-list .found-list-category .category-name-and-list ul.category-list li:hover {
                            background: linear-gradient(90deg, var(--color-primary-light) 0%, var(--color-surface) 100%);
                            color: var(--color-text-heading);
                        }

        .search-wrap .found-list .button-wrapper {
            text-align: center;
            padding: 15px 0;
        }

            .search-wrap .found-list .button-wrapper button {
                width: auto;
            }

footer.page-footer {
    background: #efeeee;
    display: block;
    text-align: center;
    overflow: hidden;
    position: relative;
    z-index: 3;
}

    footer.page-footer .wrapper {
        height: 50px;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0px auto;
        width: 100%;
        text-align: center;
        max-width: calc(100% - 30px);
        flex-wrap: wrap;
        position: relative;
        text-align: left;
    }

@media (max-width: 1199.98px) {
    footer.page-footer .wrapper {
        justify-content: space-between;
    }
}

footer.page-footer .wrapper a {
    color: #231F20;
}

    footer.page-footer .wrapper a:not(.page-footer__link) {
        display: block;
    }

footer.page-footer .icon.icon-mail:before {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/icon-mail.png");
}

footer.page-footer .icon.icon-document:before {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/icon-document.png");
}

footer.page-footer .icon.icon-data:before {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/icon-menu.png");
}

footer.page-footer .icon:before {
    width: 26px;
    height: 26px;
    display: inline-block;
    content: " ";
    margin-bottom: -7px;
    margin-right: 10px;
}

@media (max-width: 991.98px) {
    footer.page-footer .icon {
        width: 50%;
        margin: 10px 0px;
    }
}

@media (max-width: 767.98px) {
    footer.page-footer .icon {
        width: 100%;
    }
}

footer.bottom-footer {
    background: #373737;
    border-top: 2px solid var(--color-primary);
    height: 45px;
    width: 100%;
    position: relative;
    z-index: 3;
}

section.homepage {
    min-height: calc(100vh - 160px);
    max-width: 100%;
    overflow: hidden;
    position: relative;
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), radial-gradient(ellipse at center, #086565 0%, #0e7f7f 100%);
}

    section.homepage .wrapper {
        width: 1140px;
        max-width: calc(100% - 30px);
        margin: 0px auto;
        padding-top: 10px;
        padding-bottom: 10px;
        position: relative;
        text-align: left;
    }

        section.homepage .wrapper:after {
            content: ' ';
            display: block;
            clear: both;
            visibility: hidden;
            line-height: 0;
            height: 0;
        }

    section.homepage h1 {
        font-size: 50px;
        line-height: 72px;
        font-weight: bold;
    }

    section.homepage .buttons {
        margin: 30px -15px;
    }

    section.homepage:before {
        display: block;
        width: 100%;
        height: 100%;
        content: " ";
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 1;
    }

    section.homepage .wrapper {
        z-index: 2;
    }

    section.homepage h1 {
        padding-top: 114px;
        width: 780px;
        max-width: 100%;
    }

@media (max-width: 991.98px) {
    section.homepage h1 {
        font-size: 30px;
        line-height: 120%;
        padding-top: 20px;
    }
}

section.homepage p {
    width: 819px;
    max-width: 100%;
    font-size: 16px;
    line-height: 24px;
    padding-top: 20px;
}

section.login-page {
    min-height: calc(100vh - 102px);
    max-width: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    height: 548px;
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), radial-gradient(ellipse at center, #086565 0%, #0e7f7f 100%);
}

    section.login-page .wrapper {
        width: 1140px;
        max-width: calc(100% - 30px);
        margin: 0px auto;
        padding-top: 10px;
        padding-bottom: 10px;
        position: relative;
        text-align: left;
    }

        section.login-page .wrapper:after {
            content: ' ';
            display: block;
            clear: both;
            visibility: hidden;
            line-height: 0;
            height: 0;
        }

    section.login-page h1 {
        font-size: 50px;
        line-height: 72px;
        font-weight: bold;
    }

    section.login-page .buttons {
        margin: 30px -15px;
    }

    section.login-page:before {
        display: block;
        width: 100%;
        height: 100%;
        content: " ";
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 1;
        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+5,0.7+47,0.9+81 */
        background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, 0.7) 47%, rgba(255, 255, 255, 0.9) 81%, rgba(255, 255, 255, 0.9) 100%);
        /* FF3.6-15 */
        background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, 0.7) 47%, rgba(255, 255, 255, 0.9) 81%, rgba(255, 255, 255, 0.9) 100%);
        /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, 0.7) 47%, rgba(255, 255, 255, 0.9) 81%, rgba(255, 255, 255, 0.9) 100%);
        /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#e6ffffff',GradientType=1 );
        /* IE6-9 */
    }

@media (max-height: 800px) {
    section.register-page {
        min-height: 700px;
    }
}

@media (max-width: 991.98px) {
    section.login-page:before {
        background: rgba(255, 255, 255, 0.8);
    }
}

section .login-page .wrapper {
    z-index: 2;
}

.menu-side {
    box-shadow: -4000px 4000px 0px 4000px var(--color-surface-alt);
    color: var(--color-text-body);
    background-color: var(--color-surface-alt);
    font-size: 15px;
    font-family: var(--font-body);
    float: left;
    padding: 30px 0;
    transition: .3s ease-in-out;
    width: var(--sidebar-width);
    margin-left: calc(-1 * var(--sidebar-width));
}

    .menu-side hr {
        background-color: var(--color-border);
        border: 0;
        height: 1px;
        margin: 25px 15px 15px 15px;
    }

    .menu-side.on {
        margin-left: 0;
    }


    .menu-side ul {
        list-style: none;
        margin: 0;
        padding: 0;
        margin: 0px;
    }

    .menu-side a.link {
        display: block;
        color: var(--color-text-body);
        padding: 8px 15px 6px 30px;
        cursor: pointer;
        border-left: 3px solid transparent;
        transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    }

        .menu-side a.link:hover {
            text-decoration: none;
            background-color: var(--color-primary-light);
            color: var(--color-primary);
            border-left-color: var(--color-primary);
        }

        .menu-side a.link:before {
            content: " ";
            display: inline-block;
            width: 22px;
            height: 22px;
            margin-bottom: -5px;
            margin-right: 9px;
        }

        .menu-side a.link.icon-home:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-home.png");
        }

        .menu-side a.link.icon-award:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-award.png");
        }

        .menu-side a.link.icon-floppy:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-floppy.png");
        }

        .menu-side a.link.icon-folder:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-folder.png");
        }

        .menu-side a.link.icon-grid:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-grid.png");
        }

        .menu-side a.link.icon-heart:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-heart.png");
        }

        .menu-side a.link.icon-location:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-location.png");
        }

        .menu-side a.link.icon-book:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-book.png");
        }

        .menu-side a.link.icon-convert:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-convert.png");
        }

        .menu-side a.link.icon-tasks:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-tasks.png");
        }

        .menu-side a.link.icon-email:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-email.svg");
        }

        .menu-side a.link.icon-cog:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-cog.png");
        }

        .menu-side a.link.icon-play:before {
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            content: "\f04b";
            background-image: none;
            color: var(--color-nav-teal);
            font-size: 14px;
            line-height: 22px;
            text-align: center;
        }

        .menu-side a.link.icon-search-b:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-search-b.png");
        }

        .menu-side a.link.icon-prof:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-prof.png");
        }

        .menu-side a.link.icon-lock:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-lock.png");
        }

        .menu-side a.link.icon-i:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-i.png");
        }

        .menu-side a.link.icon-users:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-users.png");
        }

        .menu-side a.link.icon-log:before {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-log.png");
        }

.slide-video {
    color: #868686;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

    .slide-video:last-child {
        border-bottom: 0;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .slide-video h1 {
        font-size: 28px;
    }

    .slide-video .saved-head {
        display: flex;
    }

@media (max-width: 991.98px) {
    .slide-video .saved-head {
        flex-wrap: wrap;
    }
}

.slide-video .saved-head .icon-list {
    display: flex;
    align-items: center;
    padding-bottom: 7px;
    padding-left: 15px;
}

    .slide-video .saved-head .icon-list .link {
        width: 28px;
        height: 28px;
        display: inline-block;
        margin: 5px 0px 5px 5px;
        background-position: center;
    }

        .slide-video .saved-head .icon-list .link.icon-edit {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-edit.png");
        }

        .slide-video .saved-head .icon-list .link.icon-delete {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/icon-delete.png");
        }

.slide-video .saved-head small {
    font-style: italic;
    display: flex;
    align-items: center;
    padding-bottom: 7px;
    padding-left: 20px;
}

@media (max-width: 991.98px) {
    .slide-video .saved-head small {
        width: 100%;
        padding-left: 0px;
        padding-bottom: 30px;
        margin-top: -5px;
    }
}

.slide-video .slick-list {
    margin-top: 10px;
    overflow: visible;
}

    .slide-video .slick-list .slick-item {
        opacity: 0.2;
        transition: .5s ease all;
    }

        .slide-video .slick-list .slick-item.slick-active {
            opacity: 1;
        }

        .slide-video .slick-list .slick-item .content .image {
            overflow: hidden;
            object-fit: cover;
            width: 291px;
            height: 221px;
        }

            .slide-video .slick-list .slick-item .content .image img {
                object-fit: cover;
                width: 100%;
                height: 100%;
            }

        .slide-video .slick-list .slick-item .content h3 {
            font-size: 16px;
            margin: 10px 0 5px 0;
        }

        .slide-video .slick-list .slick-item .content p {
            font-size: 16px;
            margin-bottom: 0;
        }

    .slide-video .slick-list .slick-arrow {
        position: absolute;
        width: 40px;
        height: 40px;
        top: 0;
        background-color: var(--color-surface);
        border: 0;
        border-radius: 40px;
        outline: none;
        z-index: 21;
        box-shadow: 0px 0px 7px 0px #bdbdbd;
    }

        .slide-video .slick-list .slick-arrow.slick-next {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/slick-pager-arrow-right.png");
            background-size: auto;
            background-position: 16px 9px;
            right: 20px;
        }

            .slide-video .slick-list .slick-arrow.slick-next::before {
                content: "";
            }

        .slide-video .slick-list .slick-arrow.slick-prev {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/slick-pager-arrow-left.png");
            background-size: auto;
            background-position: 12px 9px;
            right: 73px;
            left: auto;
        }

            .slide-video .slick-list .slick-arrow.slick-prev::before {
                content: "";
            }

.slide-video .informations {
    display: flex;
    flex-wrap: wrap;
    margin-top: -15px;
    margin-bottom: 15px;
}

    .slide-video .informations span {
        display: block;
        width: 291px;
    }

section.slide-video-search {
    margin-right: 30px;
}

section.upload-folders {
    padding-top: 50px;
    color: #868686;
}

    section.upload-folders .tree-wrap {
        padding-left: 50px;
        background-color: var(--color-surface);
        margin-right: 30px;
        padding-top: 20px;
    }

        section.upload-folders .tree-wrap h3.title {
            font-weight: 400;
            text-align: center;
            font-size: 20px;
        }

    section.upload-folders .folder-action-buttons {
        text-align: center;
        padding-top: 20px;
        padding-bottom: 40px;
    }

        section.upload-folders .folder-action-buttons .button.white {
            width: auto;
        }

            section.upload-folders .folder-action-buttons .button.white img {
                margin-right: 5px;
                margin-top: -3px;
            }

    section.upload-folders .butt-wrap {
        text-align: center;
        padding-bottom: 30px;
    }

section.upload-head .steps-wrap {
    padding: 50px 50px 0 50px;
}

    section.upload-head .steps-wrap .numbers-wrap {
        padding: 0 50px 15px 40px;
    }

        section.upload-head .steps-wrap .numbers-wrap ul.step-numbers {
            align-content: center;
            align-items: center;
            counter-reset: stepCount;
            display: flex;
            justify-content: space-around;
        }

            section.upload-head .steps-wrap .numbers-wrap ul.step-numbers li {
                background: var(--color-primary);
                color: var(--color-text-on-primary);
                content: ' ';
                display: flex;
                flex-grow: 1;
                height: 2px;
                line-height: 1em;
                margin: 0;
                position: relative;
                text-align: right;
                z-index: -1;
            }

                section.upload-head .steps-wrap .numbers-wrap ul.step-numbers li::before {
                    color: var(--color-text-on-primary);
                    background: var(--color-primary);
                    border-radius: 50%;
                    counter-increment: stepCount;
                    content: counter(stepCount);
                    height: 2em;
                    left: -2em;
                    line-height: 2em;
                    position: absolute;
                    text-align: center;
                    top: -.85em;
                    width: 2em;
                    font-family: var(--font-sans);
                    font-weight: 600;
                    box-shadow: var(--shadow-sm);
                }

                section.upload-head .steps-wrap .numbers-wrap ul.step-numbers li.active {
                    background: var(--color-primary);
                }

                    section.upload-head .steps-wrap .numbers-wrap ul.step-numbers li.active ~ li::before {
                        background: var(--color-surface);
                        color: var(--color-text-muted);
                        border: 2px solid var(--color-border);
                    }

                section.upload-head .steps-wrap .numbers-wrap ul.step-numbers li:last-child {
                    flex-basis: 0;
                    flex-grow: 0;
                    flex-shrink: 1;
                }

    section.upload-head .steps-wrap ul.step-texts {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: space-between;
        color: var(--color-text-muted);
        font-size: 13px;
    }

        section.upload-head .steps-wrap ul.step-texts li {
            width: 130px;
            text-align: center;
        }

section.upload-meta {
    padding-right: 30px;
}

    section.upload-meta .form-wrap {
        padding-top: 50px;
        max-width: 1200px;
        margin: auto;
    }

        section.upload-meta .form-wrap .input-block {
            max-width: 420px;
            margin: auto;
        }

        section.upload-meta .form-wrap .butt-wrap {
            padding: 40px 0;
            text-align: center;
        }

section.upload-save {
    color: #868686;
}

    section.upload-save h3.title {
        font-weight: 400;
        text-align: center;
        font-size: 20px;
        padding: 40px 0 10px 0;
    }

    section.upload-save .butt-wrap {
        text-align: center;
    }

section.upload-type-selector {
    padding-top: 100px;
    display: flex;
    justify-content: center;
}

    section.upload-type-selector .one-option {
        margin-left: 15px;
        margin-right: 15px;
        width: 132px;
        cursor: pointer;
    }

        section.upload-type-selector .one-option .picwrapper {
            padding: 31px 0 30px;
            text-align: center;
            background-color: var(--color-primary-light);
            border-radius: var(--radius-md);
            border: 1px solid transparent;
            transition: .1s ease-in-out;
        }

        section.upload-type-selector .one-option :hover.picwrapper {
            border: 1px solid #e5e5e5;
        }

        section.upload-type-selector .one-option .text {
            font-size: 20px;
            margin-top: 8px;
            color: #868686;
            text-align: center;
        }

/* ===== Upload Select Type — V5 redesign (#13139) ===== */
.ust-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    width: 100%;
}

/* Left: vertical step panel */
.ust-steps-panel {
    flex: 0 0 341px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding-top: 30px;
}

.ust-steps-line-track {
    flex: 0 0 4px;
    display: flex;
    align-items: flex-start;
    padding-top: 4px;
}

.ust-steps-line {
    width: 4px;
    background: #EDFAF7;
    border-radius: 10px;
    position: relative;
}

    .ust-steps-line::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        border-radius: 10px;
        background: #36CAA9;
    }

.ust-steps-list {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: linear-gradient(90deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.95) 100%), linear-gradient(90deg, #36CAA9 0%, #36CAA9 100%);
    border-radius: var(--radius-pill-lg);
    padding: 20px;
    gap: 30px;
    list-style: none;
    margin: 0;
}

.ust-step {
    display: flex;
    align-items: center;
    gap: 5px;
    border-radius: 30px;
    padding: 7px;
    width: 100%;
    box-sizing: border-box;
}

.ust-step--active {
    background: #086565;
    justify-content: space-between;
}

.ust-step--inactive {
    background: #E1F7F2;
}

.ust-step__left {
    display: flex;
    align-items: center;
    gap: 5px;
}

.ust-step__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 300px;
    flex-shrink: 0;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1;
}

.ust-step--active .ust-step__number {
    background: linear-gradient(90deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.9) 100%), linear-gradient(90deg, #36CAA9 0%, #36CAA9 100%);
    color: #2BA287;
}

.ust-step--inactive .ust-step__number {
    background: linear-gradient(90deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.6) 100%), linear-gradient(90deg, #36CAA9 0%, #36CAA9 100%);
    color: #086565;
}

.ust-step__label {
    font-family: var(--font-sans);
    font-size: 14px;
    text-align: center;
    line-height: 1.2;
}

.ust-step--active .ust-step__label {
    color: #E1F7F2;
    font-weight: 700;
}

.ust-step--inactive .ust-step__label {
    color: #086565;
    font-weight: 500;
}

.ust-step__check {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
}

/* Right: type selection card */
.ust-card {
    flex: 1 1 0;
    background: #F5FCFB;
    border-radius: 20px;
    padding: 40px 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}

.ust-card__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
    padding-bottom: 20px;
}

.ust-card__title {
    font-family: var(--font-sans);
    font-size: 26px;
    font-weight: 500;
    color: #065151;
    line-height: 32px;
    margin: 0;
}

.ust-card__subtitle {
    font-family: var(--font-sans);
    font-size: 16px;
    color: #086565;
    line-height: 21px;
    margin: 0;
}

/* Type option rows */
.ust-options {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    width: 418px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.ust-option {
    display: flex;
    align-items: center;
    gap: 15px;
    border-radius: 300px;
    background: #E1F7F2;
    width: 418px;
    padding-right: 35px;
    cursor: pointer;
    transition: background 0.15s ease-in-out, color 0.15s ease-in-out;
    box-sizing: border-box;
}

    .ust-option:hover {
        background: #c8f0e8;
    }

    .ust-option.ust-option--selected {
        background: #36CAA9;
        padding-right: 13px;
        justify-content: space-between;
    }

    .ust-option.disabled {
        opacity: 0.45;
        cursor: not-allowed;
        pointer-events: none;
    }

.ust-option__icon-circle {
    width: 77px;
    height: 77px;
    border-radius: 50%;
    background: #36CAA9;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

    .ust-option__icon-circle img,
    .ust-option__icon-circle i {
        width: 36px;
        height: 36px;
        object-fit: contain;
        font-size: 36px;
        line-height: 1;
        filter: brightness(0) invert(1);
    }

.ust-option__label {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 600;
    color: #086565;
    line-height: 30px;
}

.ust-option--selected .ust-option__label {
    color: #ffffff;
}

.ust-option__check {
    width: 50px;
    height: 50px;
    flex-shrink: 0;
    display: none;
}

.ust-option--selected .ust-option__check {
    display: block;
}

/* Cancel button row */
.ust-card__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

    .ust-card__footer .button.white {
        min-height: 38px;
        padding: 6px 40px;
    }

.desc-card {
    --desc-card-padding: var(--nav-shell-padding);
    background: #F5FCFB;
    border-radius: 20px;
    padding: 40px 48px;
    margin-left: var(--desc-card-padding);
    margin-right: var(--desc-card-padding);
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media (max-width: 767.98px) {
    .desc-card {
        padding: 24px 20px;
    }
}

.desc-card__header {
    text-align: center;
}

.desc-card__title {
    font-size: 32px;
    font-weight: 700;
    color: var(--color-nav-dark);
    font-family: var(--font-sans);
    margin: 0;
}

.desc-card__subtitle {
    font-family: var(--font-sans);
    font-size: 20px;
    font-weight: 500;
    color: #086565;
    margin: 0;
}

.desc-card__item {
    margin-left: auto !important;
    margin-right: auto !important;
}

.desc-card__index {
    font-size: initial;
    margin: 0;
}

.desc-card__thumb {
    width: 105px;
    height: 120px;
    object-fit: contain;
}

.desc-card__item-title {
    font-size: initial;
}

.desc-card__footer {
    display: flex;
    justify-content: center;
}

/* ===== End Upload Select Type ===== */

section.upload-upload-file {
    margin-top: 50px;
    margin-bottom: 100px;
}

    section.upload-upload-file .dragdrop-box {
        text-align: center;
    }

        section.upload-upload-file .dragdrop-box .circle {
            max-width: 315px;
            margin: auto;
        }

            section.upload-upload-file .dragdrop-box .circle img {
                width: 100%;
            }

        section.upload-upload-file .dragdrop-box .text {
            font-size: 20px;
            color: #868686;
            margin-top: 20px;
        }

            section.upload-upload-file .dragdrop-box .text a {
                color: var(--color-primary);
                text-decoration: underline;
                cursor: pointer;
            }

section.upload-file-2 {
    margin-top: 40px;
    padding-right: 30px;
}

    section.upload-file-2 .dragdrop-box .files-wrap {
        padding: 15px 0 100px 0;
        border: 3px dotted var(--color-border-light);
        overflow: hidden;
    }

        section.upload-file-2 .dragdrop-box .files-wrap .one-file {
            width: 263px;
            height: 199px;
            background-color: var(--color-primary-light);
            border-radius: var(--radius-sm);
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/folderpic.png");
            background-size: auto;
            float: left;
            margin-left: 15px;
            margin-right: 15px;
        }

    section.upload-file-2 .dragdrop-box .text {
        font-size: 20px;
        color: #868686;
        margin-top: 20px;
        text-align: center;
    }

        section.upload-file-2 .dragdrop-box .text a {
            color: var(--color-primary);
            text-decoration: underline;
            cursor: pointer;
        }

    section.upload-file-2 .butt-wrap {
        text-align: center;
        padding-top: 50px;
        padding-bottom: 15px;
    }

.popup-back {
    position: fixed;
    z-index: 1500;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.83);
}

    .popup-back .popup-body {
        color: var(--color-text-on-primary);
        padding: 30px;
        position: fixed;
        width: 100%;
        z-index: 1550;
        top: 20%;
        bottom: 20%;
        left: 50%;
        transform: translate(-50%, 0);
        max-height: 60vh;
        overflow-y: auto;
        overflow-x: hidden;
    }

        .popup-back .popup-body .inner {
            max-width: 760px;
            margin: auto;
        }

            .popup-back .popup-body .inner .inner-relative {
                position: relative;
            }

                .popup-back .popup-body .inner .inner-relative .closer {
                    width: 20px;
                    height: 20px;
                    background-position: center;
                    background-size: cover;
                    background-repeat: no-repeat;
                    background-image: url("../images/popupcloserx.png");
                    position: absolute;
                    right: 0;
                    top: 0;
                    cursor: pointer;
                }

            .popup-back .popup-body .inner .popup-head {
                font-size: 24px;
                font-weight: bold;
                margin-bottom: 15px;
            }

            .popup-back .popup-body .inner .popup-text {
                font-size: 16px;
                line-height: 28px;
            }

            .popup-back .popup-body .inner .popup-input-wrap {
                margin-top: 20px;
            }

            .popup-back .popup-body .inner .butt-wrap button {
                margin-right: 20px;
            }

section.photoalbum {
    margin-right: 30px;
    padding: 0 80px;
}

    section.photoalbum .width-limit {
        max-width: 1200px;
        margin: auto;
    }

        section.photoalbum .width-limit .title-row {
            margin-bottom: 15px;
        }

            section.photoalbum .width-limit .title-row .left {
                font-size: 33px;
                font-weight: 100;
            }

            section.photoalbum .width-limit .title-row .right {
                display: flex;
                justify-content: flex-end;
                align-items: center;
            }

@media (max-width: 991.98px) {
    section.photoalbum .width-limit .title-row .right {
        padding-top: 10px;
        text-align: left;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    section.photoalbum .width-limit .title-row .right {
        display: block;
    }
}

section.photoalbum .width-limit .title-row .right .heart {
    margin-left: 25px;
}

@media (max-width: 991.98px) {
    section.photoalbum .width-limit .title-row .right .heart {
        margin-right: auto;
    }
}

@media (max-width: 767.98px) {
    section.photoalbum .width-limit .title-row .right .heart {
        margin-top: 10px;
        margin-left: 0;
    }
}

section.photoalbum .width-limit .title-row .right button {
    display: flex;
    align-items: center;
    text-align: left;
    line-height: 15px;
    padding-right: 34px;
    padding-left: 18px;
    margin: 0;
    margin-top: 5px;
    width: auto;
}

@media (max-width: 991.98px) {
    section.photoalbum .width-limit .title-row .right button {
        margin: auto;
    }
}

section.photoalbum .width-limit .title-row .right button:hover {
    background-color: inherit;
    color: var(--color-primary);
}

section.photoalbum .width-limit .title-row .right button span {
    display: inline-block;
}

section.photoalbum .width-limit .slick-slide-row .slick-list-album {
    background-color: pink;
}

    section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-item img {
        width: 100%;
    }

    section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-arrow {
        position: absolute;
        width: 16px;
        height: 24px;
        top: calc(50% - 12px);
        border: 0;
        outline: none;
        z-index: 21;
    }

        section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-arrow.slick-next {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/slick-album-pager-right.png");
            background-size: auto;
            right: -60px;
        }

            section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-arrow.slick-next::before {
                content: "";
            }

        section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-arrow.slick-prev {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/slick-album-pager-left.png");
            background-size: auto;
            left: -60px;
        }

            section.photoalbum .width-limit .slick-slide-row .slick-list-album .slick-arrow.slick-prev::before {
                content: "";
            }

section.photoalbum .width-limit .details-row {
    color: #868686;
    font-size: 16px;
    padding-top: 15px;
}

    section.photoalbum .width-limit .details-row div {
        margin-top: 10px;
    }

    section.photoalbum .width-limit .details-row .subtitle {
        font-weight: bold;
        font-style: italic;
    }

section.photoalbum .width-limit .butt-wrap {
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}

section.photoalbum .offer-row {
    padding-bottom: 30px;
    margin-right: -110px;
}

section.picture-download {
    margin-right: 30px;
    padding: 0 80px;
}

    section.picture-download .title-row {
        margin-bottom: 15px;
    }

        section.picture-download .title-row .left {
            font-size: 33px;
            font-weight: 100;
        }

        section.picture-download .title-row .right {
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }

@media (max-width: 991.98px) {
    section.picture-download .title-row .right {
        padding-top: 10px;
        text-align: left;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    section.picture-download .title-row .right {
        display: block;
    }
}

section.picture-download .title-row .right .heart {
    margin-left: 25px;
}

@media (max-width: 991.98px) {
    section.picture-download .title-row .right .heart {
        margin-right: auto;
    }
}

@media (max-width: 767.98px) {
    section.picture-download .title-row .right .heart {
        margin-top: 10px;
        margin-left: 0;
    }
}

section.picture-download .title-row .right button {
    display: flex;
    align-items: center;
    text-align: left;
    line-height: 15px;
    padding-right: 34px;
    padding-left: 18px;
    margin: 0;
    margin-top: 5px;
    width: auto;
}

@media (max-width: 991.98px) {
    section.picture-download .title-row .right button {
        margin: auto;
    }
}

section.picture-download .title-row .right button:hover {
    background-color: inherit;
    color: var(--color-primary);
}

section.picture-download .title-row .right button span {
    display: inline-block;
}

section.picture-download .size-selector {
    color: #868686;
}

    section.picture-download .size-selector .left img {
        width: 100%;
    }

    section.picture-download .size-selector .right table {
        width: 100%;
        height: 100%;
    }

        section.picture-download .size-selector .right table tr td {
            padding: 15px;
        }

            section.picture-download .size-selector .right table tr td .radiocircle, .radiocircle {
                width: 24px;
                height: 24px;
                background-position: center;
                background-size: cover;
                background-repeat: no-repeat;
                background-image: url("../images/radiocircle.png");
                background-position: 0 0;
            }

            section.picture-download .size-selector .right table tr td:first-child {
                width: 30px;
                padding-right: 0;
            }

        section.picture-download .size-selector .right table tr:hover, section.picture-download .size-selector .right table tr.selected {
            background-color: var(--color-border);
            cursor: pointer;
        }

            section.picture-download .size-selector .right table tr:hover .radiocircle, section.picture-download .size-selector .right table tr.selected .radiocircle {
                background-position: 0 -24px;
            }

section.picture-download .details-row {
    color: #868686;
    font-size: 16px;
    padding-top: 15px;
}

    section.picture-download .details-row div {
        margin-top: 10px;
    }

    section.picture-download .details-row .subtitle {
        font-weight: bold;
        font-style: italic;
    }

section.picture-download .butt-wrap {
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}

section.picture-download .offer-row {
    padding-bottom: 30px;
    margin-right: -110px;
}

section.video {
    margin-right: 30px;
    padding: 0 80px;
}

    section.video .width-limit {
        max-width: 1200px;
        margin: auto;
    }

        section.video .width-limit .title-row {
            margin-bottom: 15px;
        }

            section.video .width-limit .title-row .left {
                font-size: 33px;
                font-weight: 100;
            }

            section.video .width-limit .title-row .right {
                display: flex;
                justify-content: flex-end;
                align-items: center;
            }

@media (max-width: 991.98px) {
    section.video .width-limit .title-row .right {
        padding-top: 10px;
        text-align: left;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    section.video .width-limit .title-row .right {
        display: block;
    }
}

section.video .width-limit .title-row .right .heart {
    margin-left: 25px;
}

@media (max-width: 991.98px) {
    section.video .width-limit .title-row .right .heart {
        margin-right: auto;
    }
}

@media (max-width: 767.98px) {
    section.video .width-limit .title-row .right .heart {
        margin-top: 10px;
        margin-left: 0;
    }
}

section.video .width-limit .title-row .right button {
    display: flex;
    align-items: center;
    text-align: left;
    line-height: 15px;
    padding-right: 34px;
    padding-left: 18px;
    margin: 0;
    margin-top: 5px;
    width: auto;
}

@media (max-width: 991.98px) {
    section.video .width-limit .title-row .right button {
        margin: auto;
    }
}

section.video .width-limit .title-row .right button:hover {
    background-color: inherit;
    color: var(--color-primary);
}

section.video .width-limit .title-row .right button span {
    display: inline-block;
}

section.video .width-limit .video-row img {
    width: 100%;
}

section.video .width-limit .details-row {
    color: #868686;
    font-size: 14px;
    padding-top: 15px;
}

    section.video .width-limit .details-row div {
        margin-top: 0px;
    }

    section.video .width-limit .details-row .property-name {
        font-weight: bold;
        color: var(--color-primary);
    }

    section.video .width-limit .details-row .subtitle {
        font-weight: bold;
        font-style: italic;
    }

    section.video .width-limit .details-row table td {
        padding: 5px;
        padding-left: 30px;
    }

section.video .width-limit .butt-wrap {
    padding-top: 50px;
    padding-bottom: 50px;
    text-align: center;
}

section.video .offer-row {
    padding-bottom: 30px;
    margin-right: -110px;
}

section.user-list {
    margin-right: 30px;
}

    section.user-list .width-limit {
        max-width: 1200px;
        margin: auto;
    }

        section.user-list .width-limit .title-row {
            font-size: 28px;
            font-weight: bold;
            color: #868686;
            border-bottom: 1px solid var(--color-border);
            padding-bottom: 15px;
        }

        section.user-list .width-limit .handler-row {
            display: flex;
            align-items: center;
        }

@media (max-width: 1199.98px) {
    section.user-list .width-limit .handler-row {
        padding-top: 25px;
        display: block;
    }
}

section.user-list .width-limit .handler-row div {
    flex: 0 0 50%;
}

    section.user-list .width-limit .handler-row div:nth-child(2) {
        text-align: right;
    }

@media (max-width: 1199.98px) {
    section.user-list .width-limit .handler-row div:nth-child(2) {
        text-align: left;
    }
}

section.user-list .width-limit .handler-row .search-input {
    width: 100%;
    max-width: 420px;
    border: 0;
    background-color: var(--color-bg-input);
    height: 30px;
    padding: 5px 10px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/icon-search-b.png");
    background-size: 25px;
    background-position: right 10px center;
}

section.user-list .width-limit .handler-row .button {
    text-align: left;
}

@media (max-width: 1199.98px) {
    section.user-list .width-limit .handler-row .button {
        margin-left: 0;
        margin-top: 20px;
    }
}

section.user-list .width-limit table {
    width: 100%;
    margin-top: 30px;
    color: #868686;
}

    section.user-list .width-limit table th {
        font-weight: normal;
        color: var(--color-primary);
        border-bottom: 1px solid var(--color-primary);
        padding-bottom: 6px;
    }

table th.orderup,
table th.orderdown,
table th.ordernone {
    padding-right: 1.5rem;
    position: relative;
}

    table th.orderup::after,
    table th.orderdown::after,
    table th.ordernone::after {
        font-family: "FontAwesome";
        position: absolute;
        right: 0.4rem;
        top: 50%;
        transform: translateY(-50%);
        font-size: 0.8rem;
        speak: none;
        -webkit-font-smoothing: antialiased;
    }

    table th.orderup::after {
        content: "\f0de";
        color: var(--color-nav-dark);
    }

    table th.orderdown::after {
        content: "\f0dd";
        color: var(--color-nav-dark);
    }

    table th.ordernone::after {
        content: "\f0dc";
        color: rgba(8, 101, 101, 0.35);
    }

section.user-list .width-limit table td {
    border-bottom: 1px solid var(--color-border);
}

    section.user-list .width-limit table td:last-child {
        text-align: right;
    }

        section.user-list .width-limit table td:last-child button {
            width: auto;
        }

section.user-list .width-limit .pager-wrap {
    padding-top: 30px;
    padding-bottom: 30px;
}

section.pager ul {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    margin: auto;
    display: table;
}

    section.pager ul li {
        width: 40px;
        height: 40px;
        border-radius: 40px;
        font-size: 12px;
        background-color: var(--color-border);
        float: left;
        line-height: 40px;
        text-align: center;
        margin-left: 15px;
        margin-right: 15px;
        cursor: pointer;
    }

        section.pager ul li.one-step.prev {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/pager-arrow-left.png");
            background-size: auto;
        }

        section.pager ul li.one-step.next {
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-image: url("../images/pager-arrow-right.png");
            background-size: auto;
        }

        section.pager ul li.active {
            background-color: var(--color-primary);
            color: var(--color-text-on-primary);
        }

        section.pager ul li.triple-dot {
            background-color: transparent;
            position: relative;
            cursor: default;
        }

            section.pager ul li.triple-dot::before {
                content: "...";
                position: absolute;
                top: 0;
                right: 16px;
                font-size: 18px;
            }

section.user-profile {
    margin-right: 30px;
    padding-bottom: 30px;
}

    section.user-profile .width-limit {
        max-width: 600px;
        margin: auto;
    }

        section.user-profile .width-limit .title-row {
            font-size: 28px;
            font-weight: bold;
            color: #868686;
            padding-bottom: 20px;
            margin-bottom: 30px;
            border-bottom: 1px solid var(--color-primary);
        }

        section.user-profile .width-limit .form-wrap .input-block {
            margin-bottom: 20px;
        }

            section.user-profile .width-limit .form-wrap .input-block .main-label {
                padding-bottom: 4px;
            }

            section.user-profile .width-limit .form-wrap .input-block .roles-wrap {
                display: flex;
            }

@media (max-width: 767.98px) {
    section.user-profile .width-limit .form-wrap .input-block .roles-wrap {
        display: block;
    }
}

section.user-profile .width-limit .form-wrap .input-block .roles-wrap div {
    padding: 6px 16px;
    border: 1px solid var(--color-border);
    color: var(--color-border);
    cursor: pointer;
    flex-grow: 1;
    text-align: center;
    font-size: 14px;
}

    section.user-profile .width-limit .form-wrap .input-block .roles-wrap div.on {
        border: 1px solid var(--color-primary);
        color: #868686;
    }

section.user-profile .width-limit .form-wrap .butt-wrap {
    text-align: right;
}

    section.user-profile .width-limit .form-wrap .butt-wrap button {
        width: auto;
        margin-right: 0;
    }

section.form {
    margin-right: 30px;
}

    section.form .input-block .main-label {
        margin-bottom: 5px;
    }

    section.form .extra-row {
        padding-top: 15px;
    }

        section.form .extra-row label {
            font-size: 14px;
            color: #868686;
        }

            section.form .extra-row label::before {
                position: relative;
                bottom: -1px;
            }

            section.form .extra-row label::after {
                top: 9px;
            }

        section.form .extra-row span {
            font-weight: bold;
        }

section.playlist {
    margin-left: -30px;
}

    section.playlist .title-row {
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: 1px solid var(--color-border);
        max-width: 1140px;
        margin: auto;
    }

        section.playlist .title-row .left {
            font-size: 33px;
            font-weight: 100;
        }

    section.playlist .list-wrap .list-item {
        padding-top: 10px;
        padding-bottom: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

        section.playlist .list-wrap .list-item:hover {
            background-color: rgba(216, 216, 216, 0.45);
        }

            section.playlist .list-wrap .list-item:hover .inner .removex {
                background-position: 0 -20px;
            }

            section.playlist .list-wrap .list-item:hover .inner .number::before {
                content: url("../images/sandwich.png");
                position: absolute;
            }

        section.playlist .list-wrap .list-item .inner {
            color: #868686;
            display: flex;
            align-items: center;
            max-width: 1140px;
            margin: auto;
        }

            section.playlist .list-wrap .list-item .inner div {
                margin-right: 30px;
            }

            section.playlist .list-wrap .list-item .inner .number {
                font-size: 28px;
                font-weight: bold;
                margin-left: 15px;
                position: relative;
            }

            section.playlist .list-wrap .list-item .inner .details h2 {
                margin-bottom: 5px;
            }

            section.playlist .list-wrap .list-item .inner .details .labels {
                margin-top: 20px;
            }

                section.playlist .list-wrap .list-item .inner .details .labels span {
                    font-weight: bold;
                }

                section.playlist .list-wrap .list-item .inner .details .labels a {
                    color: inherit;
                }

            section.playlist .list-wrap .list-item .inner .removex {
                width: 20px;
                height: 20px;
                background-position: center;
                background-size: cover;
                background-repeat: no-repeat;
                background-image: url("../images/removex.png");
                background-size: auto;
                background-position: top;
                margin-left: auto;
                margin-right: 15px;
                cursor: pointer;
            }

ul.folder-tree {
    list-style: none;
    border-left: 1px dashed #868686;
    padding-left: 0;
}

    ul.folder-tree ul {
        padding-left: 0;
        border-left: 1px dashed #868686;
        list-style: none;
    }

    ul.folder-tree li {
        margin-left: 10px;
        position: relative;
        margin-top: 10px;
        margin-bottom: 10px;
        padding-left: 32px;
        cursor: pointer;
    }

        ul.folder-tree li::before {
            content: " ";
            width: 50px;
            height: 26px;
            background-image: url("../images/folder-openers-gold.png");
            background-position: 0 -26px;
            position: absolute;
            top: 0px;
            left: -24px;
        }

        ul.folder-tree li.opened::before {
            background-position: 0 0;
        }

        ul.folder-tree li span {
            padding: 4px 6px 2px;
            display: inline-block;
        }

            ul.folder-tree li span.selected {
                background-color: var(--color-border);
                color: black;
            }

ul.folder-tree2 {
    list-style: none;
    border-left: 0;
    padding-left: 0;
}

    ul.folder-tree2 ul {
        padding-left: 0;
        border-left: 0;
        list-style: none;
    }

    ul.folder-tree2 li {
        margin-left: 10px;
        position: relative;
        margin-top: 6px;
        margin-bottom: 6px;
        padding-left: 32px;
        cursor: pointer;
    }

        ul.folder-tree2 li::before {
            content: " ";
            width: 23px;
            height: 26px;
            background-image: url("../images/folder-openers-reduced.png");
            background-position: 0 -26px;
            position: absolute;
            top: 0px;
            left: 4px;
        }

        ul.folder-tree2 li.opened::before {
            background-position: 0 0;
        }

        ul.folder-tree2 li span {
            padding: 4px 6px 2px;
            display: inline-block;
        }

            ul.folder-tree2 li span.selected {
                background-color: var(--color-primary);
                color: var(--color-text-on-primary);
            }

section.folder-actions {
    margin-right: 30px;
    color: #868686;
}

    section.folder-actions .bordered-col {
        border-left: 1px solid var(--color-border);
        border-right: 1px solid var(--color-border);
        padding-left: 10px;
        padding-right: 10px;
    }

    section.folder-actions .folder-content h1 {
        text-transform: uppercase;
        font-size: 24px;
        margin-bottom: 15px;
    }

    section.folder-actions .folder-content .one-file {
        display: flex;
        align-items: center;
        font-size: 14px;
        margin-bottom: 12px;
    }

        section.folder-actions .folder-content .one-file .img-wrap {
            width: 50px;
            margin-right: 15px;
            text-align: left;
        }

        section.folder-actions .folder-content .one-file h3 {
            margin-bottom: 0px;
            font-size: 1.25em;
            font-weight: 500
        }

        section.folder-actions .folder-content .one-file p {
            margin: 0;
        }

    section.folder-actions .folder-content .butt-wrap {
        text-align: center;
        margin-top: 50px;
    }

    section.folder-actions .actions-and-metas {
        padding-left: 15px;
    }

        section.folder-actions .actions-and-metas .actionbox table th, section.folder-actions .actions-and-metas .actionbox table td {
            padding: 10px 16px;
            border: 1px solid var(--color-border);
            text-transform: uppercase;
        }

        section.folder-actions .actions-and-metas .actionbox table th {
            font-size: 18px;
            background-color: var(--color-primary);
            color: var(--color-text-on-primary);
            letter-spacing: 3px;
        }

            section.folder-actions .actions-and-metas .actionbox table th .dotdotdot {
                position: relative;
                top: -5px;
                font-weight: 700;
            }

        section.folder-actions .actions-and-metas .actionbox table td {
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
        }

            section.folder-actions .actions-and-metas .actionbox table td:hover {
                color: var(--color-primary);
            }

        section.folder-actions .actions-and-metas .metadatas {
            margin-top: 40px;
            font-size: 14px;
            max-width: 300px;
        }

            section.folder-actions .actions-and-metas .metadatas .title {
                font-weight: bold;
                padding-bottom: 6px;
            }

            section.folder-actions .actions-and-metas .metadatas .property-name {
                color: var(--color-primary);
                font-weight: bold;
            }

            section.folder-actions .actions-and-metas .metadatas .onemeta {
                margin-top: 10px;
            }

            section.folder-actions .actions-and-metas .metadatas table {
                margin-top: 10px;
            }

                section.folder-actions .actions-and-metas .metadatas table td {
                    padding-top: 5px;
                }

section.found-list {
    margin-right: 30px;
    margin-top: -30px;
}

    section.found-list .search-infos .search-term {
        font-size: 33px;
        color: #231F20;
    }

    section.found-list .search-infos .found-info {
        color: var(--color-border);
        font-size: 15px;
        font-style: italic;
        font-weight: bold;
        white-space: nowrap;
        margin-left: 25px;
    }

    section.found-list .list-wrap {
        margin-top: 50px;
        color: #868686;
    }

        section.found-list .list-wrap .list-category-wrap {
            border-bottom: 1px solid var(--color-border);
            padding-bottom: 20px;
            margin-bottom: 30px;
        }

            section.found-list .list-wrap .list-category-wrap .list-category-name {
                font-size: 28px;
                font-weight: bold;
                text-transform: uppercase;
            }

            section.found-list .list-wrap .list-category-wrap .list-item {
                margin-top: 10px;
                margin-bottom: 25px;
                display: flex;
                align-items: center;
            }

@media (max-width: 1199.98px) {
    section.found-list .list-wrap .list-category-wrap .list-item {
        display: block;
    }
}

section.found-list .list-wrap .list-category-wrap .list-item .img-wrap {
    margin-right: 25px;
}

    section.found-list .list-wrap .list-category-wrap .list-item .img-wrap .note {
        width: 263px;
        height: 199px;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        background-image: url("../images/note.png");
        background-size: auto;
        background-position: center;
        background-color: rgba(202, 170, 94, 0.1);
        border-radius: 8px;
    }

@media (max-width: 1199.98px) {
    section.found-list .list-wrap .list-category-wrap .list-item .details {
        margin-top: 15px;
        margin-bottom: 50px;
    }
}

section.found-list .list-wrap .list-category-wrap .list-item .details h2 {
    margin-bottom: 2px;
}

section.found-list .list-wrap .list-category-wrap .list-item .details p.labels {
    margin-bottom: 5px;
}

section.folder-tiles {
    color: #868686;
    margin-right: 30px;
}

    section.folder-tiles .category-wrap {
        border-bottom: 1px solid var(--color-border);
        overflow: hidden;
        padding-bottom: 40px;
        margin-bottom: 40px;
    }

        section.folder-tiles .category-wrap:last-child {
            border: 0;
            padding-bottom: 0;
            margin-bottom: 0;
        }

        section.folder-tiles .category-wrap .category-name {
            font-size: 28px;
            font-weight: bold;
            text-transform: uppercase;
        }

        section.folder-tiles .category-wrap .folder {
            margin-top: 15px;
            width: 243px;
            float: left;
            margin-right: 22px;
            height: 350px;
        }


            section.folder-tiles .category-wrap .folder .details-and-actions {
                margin-top: 15px;
                display: flex;
            }

                section.folder-tiles .category-wrap .folder .details-and-actions .action-caller {
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    width: 27px;
                    height: 27px;
                    border-radius: 6px;
                    background-color: var(--color-primary);
                    color: #ffffff;
                    font-size: 14px;
                    margin-right: 15px;
                    flex: 0 0 15%;
                    cursor: pointer;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions .action-caller.disabled,
                section.folder-tiles .category-wrap .folder .details-and-actions .action-caller[disabled],
                section.folder-tiles .category-wrap .folder .details-and-actions .action-caller--inactive {
                    background-color: #adb5bd;
                    cursor: default;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .details div {
                    margin-bottom: 3px;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .details .author span {
                    color: var(--color-primary);
                    font-weight: bold;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .details .title {
                    font-weight: bold;
                    line-height: 20px;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .actions {
                    display: none;
                }

                    section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .actions table td {
                        border: 1px solid var(--color-border);
                        border-left: 0;
                        border-right: 0;
                        font-weight: bold;
                        padding-top: 4px;
                        padding-bottom: 4px;
                        font-size: 15px;
                        text-transform: uppercase;
                        cursor: pointer;
                    }

                        section.folder-tiles .category-wrap .folder .details-and-actions .details-and-actions-wrap .actions table td:hover {
                            color: var(--color-primary);
                        }

                section.folder-tiles .category-wrap .folder .details-and-actions.actions-on .action-caller {
                    background-position: 0 -27px;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions.actions-on .details {
                    display: none;
                }

                section.folder-tiles .category-wrap .folder .details-and-actions.actions-on .actions {
                    display: block;
                }

section.itemized-search {
    margin-right: 30px;
    color: #868686;
}

    section.itemized-search .title-row {
        margin-bottom: 150px;
    }

    section.itemized-search .form-section {
        margin-top: 15px;
    }

        section.itemized-search .form-section.off .form-container {
            display: none;
        }

        section.itemized-search .form-section.off .delim-arrow {
            transform: rotate(180deg);
        }

@media (max-width: 991.98px) {
    section.itemized-search .form-section .save-search-butt-wrap {
        text-align: left;
    }
}

section.itemized-search .form-section .delim-with-arrow {
    background: url("../images/delim-back.png") repeat-x;
    background-position: center;
    margin-top: 20px;
}

    section.itemized-search .form-section .delim-with-arrow .delim-arrow {
        font-size: 24px;
        color: var(--color-nav-teal);
        margin: auto;
        cursor: pointer;
    }

section.itemized-search .order-selector {
    padding-top: 20px;
    padding-bottom: 20px;
}

    section.itemized-search .order-selector .input-block {
        max-width: 300px;
    }

section.itemized-search .found-list .item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

    section.itemized-search .found-list .item:last-child {
        margin-bottom: 0;
    }

    section.itemized-search .found-list .item .img-wrap.iconmiddle {
        position: relative;
    }


    section.itemized-search .found-list .item .details {
        margin-left: 25px;
    }

        section.itemized-search .found-list .item .details h2 {
            margin-bottom: 0;
        }

        section.itemized-search .found-list .item .details .date {
            margin-bottom: 8px;
        }

        section.itemized-search .found-list .item .details .labels {
            line-height: 20px;
        }

            section.itemized-search .found-list .item .details .labels a {
                color: inherit;
            }

            section.itemized-search .found-list .item .details .labels span {
                font-weight: bold;
                color: var(--color-primary);
            }

section.content-edit {
    margin-right: 30px;
    color: #868686;
}

    section.content-edit .title-row {
        font-size: 28px;
        text-transform: uppercase;
        border-bottom: 1px solid var(--color-border);
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

        section.content-edit .title-row .gold {
            font-weight: bold;
        }

    section.content-edit .first-col .img-wrap {
        display: inline-block;
        position: relative;
    }

        section.content-edit .first-col .img-wrap img {
            min-width: 200px;
        }


    section.content-edit .first-col .what-to-do {
        color: var(--color-primary);
        font-weight: bold;
        margin-top: 25px;
        margin-bottom: 25px;
    }

    section.content-edit .second-col .top-butt-wrap {
        padding-top: 50px;
    }

    section.content-edit .second-col .butt-wrap {
        padding-bottom: 50px;
        padding-top: 20px;
        max-width: 350px;
        text-align: center;
    }

    section.content-edit .third-col .plus-for-contedit-wrap {
        color: var(--color-primary);
        text-align: center;
        margin-top: 50px;
        cursor: pointer;
    }

        section.content-edit .third-col .plus-for-contedit-wrap img {
            transition: 0.25s ease-in-out;
        }

            section.content-edit .third-col .plus-for-contedit-wrap img:hover {
                transform: scale(1.1);
            }

        section.content-edit .third-col .plus-for-contedit-wrap div {
            margin-top: 15px;
            font-weight: bold;
        }

    section.content-edit .input-blocks {
        margin-top: 25px;
    }

        section.content-edit .input-blocks .input-block {
            margin-bottom: 15px;
        }

            section.content-edit .input-blocks .input-block .input-wrapper {
                max-width: 350px;
            }

                section.content-edit .input-blocks .input-block .input-wrapper textarea {
                    width: 100%;
                    max-width: 350px;
                    padding: 10px;
                }

            section.content-edit .input-blocks .input-block .tags {
                margin-top: -5px;
                margin-bottom: 30px;
            }

                section.content-edit .input-blocks .input-block .tags span {
                    margin-right: 10px;
                }

                    section.content-edit .input-blocks .input-block .tags span::after {
                        content: url("../images/tagdeletex.png");
                        cursor: pointer;
                    }

        section.content-edit .input-blocks label.main-label {
            color: var(--color-primary);
            font-weight: bold;
        }

/* TODO GLOBAL.SCSS FROM HERE */
body {
    font-family: var(--font-body);
    min-width: 650px;
}

*:focus {
    outline: none;
}

.bold {
    font-weight: bold;
}

.gold {
    color: var(--color-primary);
}

.text-right {
    text-align: right;
}

.logged-main .wrapper {
    min-height: calc(100vh - 102px);
}

    .logged-main .wrapper:after {
        content: ' ';
        display: block;
        clear: both;
        visibility: hidden;
        line-height: 0;
        height: 0;
    }

.logged-main .content-right {
    padding: 60px 0 30px 30px;
    overflow: hidden;
}

    .logged-main .content-right .main-title {
        font-size: 32px;
        text-align: center;
        font-weight: 100;
    }

    .logged-main .content-right .sub-title {
        font-size: 28px;
        text-align: center;
        font-weight: 100;
    }

.toastr {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 50px;
    width: 360px;
    margin: auto;
    height: 100%;
    position: relative;
    background-color: #69CA5E;
    color: var(--color-text-on-primary);
    font-size: 14px;
    font-family: var(--font-body);
    border-radius: 4px;
    margin-bottom: 30px;
}

@media (max-width: 991.98px) {
    .toastr {
        width: auto;
    }
}

.toastr.red {
    background-color: #D23131;
}

.toastr .closerx {
    width: 14px;
    height: 14px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/popcloserx.png");
    position: absolute;
    top: 14px;
    right: 12px;
    cursor: pointer;
}

a.play {
    display: inline-flex;
    align-items: center;
    margin-right: 12px;
    color: var(--color-nav-teal);
    cursor: pointer;
    font-size: 15px;
}

    a.play.on {
        color: var(--color-primary);
    }

a.heart {
    width: 20px;
    height: 18px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../images/heart.png");
    background-position: top;
    display: inline-block;
    cursor: pointer;
}

    a.heart.on {
        background-position: 0 -18px;
    }

/* ============================================================
   Content Item Card / List Partials — #13133
   Figma node 142:3419
   ============================================================ */

/* --- list wrapper (mint-green container from Figma node 2119:463) --- */
.ci-list-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: #edfaf7;
    border-radius: 40px;
    padding: 20px;
}

.ci-list-wrapper .ci-card {
    margin-bottom: 0;
}

/* --- shared container ---------------------------------------- */
.ci-card {
    background: var(--color-surface);
    border-radius: var(--radius-pill-lg); /* 30px */
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

/* --- thumbnail column ---------------------------------------- */
.ci-card__thumb {
    position: relative;
    flex-shrink: 0;
    width: 137px;
    height: 102px;
    border-radius: 20px;
    overflow: hidden;
}

.ci-card__thumb-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.ci-card__play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 34px;
    line-height: 1;
    pointer-events: none;
}

.ci-card__play-icon--active {
    color: var(--color-nav-teal);
}

.ci-card__play-icon--inactive {
    color: #adb5bd;
}

.ci-card__badge {
    position: absolute;
    bottom: 4px;
    right: 4px;
    background: #36caa9;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Mulish', sans-serif;
    line-height: 1;
    padding: 6px 10px;
    border-radius: var(--radius-pill-lg);
    white-space: nowrap;
}

/* --- meta column (title + properties) ----------------------- */
.ci-card__meta {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ci-card__title-pill {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    background: #e1f7f2;
    border-radius: var(--radius-pill-lg);
    padding: 10px 15px 10px 10px;
    text-decoration: none;
    max-width: 100%;
}

    .ci-card__title-pill:hover {
        background: #caf0e8;
        text-decoration: none;
    }

.ci-card__type-icon {
    flex-shrink: 0;
    font-size: 16px;
    width: 16px;
    text-align: center;
    color: var(--color-nav-teal);
}

.ci-card__title-text {
    font-family: 'Poppins', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #086565;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
}

    .ci-card__title-text:hover {
        text-decoration: none;
    }

.ci-card__prop {
    font-size: 14px;
    line-height: 1.15;
    color: var(--color-text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ci-card__prop-label {
    font-family: 'Mulish', sans-serif;
    font-weight: 800;
    color: #086565;
}

/* --- actions column ------------------------------------------ */
.ci-card__actions {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    padding: 1px 20px;
    min-width: 90px;
}

.ci-card__status {
    font-size: 14px;
    color: var(--color-text-dark);
    text-align: right;
}

.ci-card__generative-status {
    font-size: 12px;
    color: var(--color-text-muted);
    text-align: right;
}

.ci-card__action-btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #36CAA9;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
}

    .ci-card__action-btn:hover {
        background-color: #2db99a;
        color: #fff;
        text-decoration: none;
    }

    .ci-card__action-btn svg {
        pointer-events: none;
        display: block;
        width: 40px;
        height: 40px;
    }

/* ============================================================
   Advanced Search Panel — #13134
   Figma nodes 142:2823 (results), 142:3357 (empty/loading)
   ============================================================ */

/* --- Page header -------------------------------------------- */
.sf-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
    padding: 0 4px;
}

.sf-header__title-col {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 12px;
    flex-wrap: wrap;
}

.sf-header__title {
    font-family: var(--font-sans);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-nav-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
    text-align: left;
}

.sf-header__saved-name {
    color: var(--color-nav-teal);
    word-break: keep-all;
    line-break: strict;
}

.sf-header__meta-col {
    flex-shrink: 0;
    text-align: right;
}

.sf-header__toggle-col {
    flex-shrink: 0;
    margin-left: auto;
}

.sf-header__publish-level {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--color-nav-dark);
}

.sf-result-count {
    display: inline;
    font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--color-text-body);
    white-space: nowrap;
    margin-left: 10px;
    vertical-align: middle;
}

.sf-result-count__num {
    font-weight: 600;
    color: var(--color-nav-dark);
}

/* --- Saved-search meta row ---------------------------------- */
.sf-meta-row {
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--color-text-body);
    margin-bottom: 12px;
    padding: 0 4px;
}

.sf-meta-row__label {
    font-weight: 700;
    color: var(--color-nav-dark);
}

.sf-meta-row__link {
    color: #007bff;
}

    .sf-meta-row__link:hover {
        color: #0056b3;
        text-decoration: underline;
    }

/* --- Filter panel container --------------------------------- */
.sf-panel {
    background: #edfaf7;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}

/* --- Filter row (flex-wrap, 3 columns) ---------------------- */
.sf-panel__row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
    align-items: flex-start;
}

.sf-panel__row--align-center {
    align-items: center;
}

/* --- Individual filter field -------------------------------- */
.sf-field {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Wide field spans 2 flex columns worth */
.sf-field--wide {
    flex: 2 0 0;
}

/* Empty spacer to maintain 3-column grid */
.sf-field--empty {
    flex: 1 0 0;
    min-width: 0;
}

/* --- Field label -------------------------------------------- */
.sf-field__label {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    color: var(--color-nav-dark);
    margin-bottom: 0;
    line-height: 1.15;
}

/* --- Pill-style text input ---------------------------------- */
.sf-field__input-wrap {
    width: 100%;
}

.sf-field__input {
    height: 40px;
    background: #ffffff;
    border: none;
    border-radius: 300px;
    padding: 0 16px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-dark);
    box-shadow: none;
}

    .sf-field__input:focus {
        background: #ffffff;
        border-color: var(--color-nav-teal);
        box-shadow: 0 0 0 2px rgba(54, 202, 169, 0.25);
        outline: none;
    }

/* Campaign text input after checkbox */
.sf-field__input--campaign {
    flex: 1 1 auto;
    min-width: 0;
}

/* --- Pill-style select (wraps multiselect button) ----------- */
.sf-field__select {
    height: 40px;
    background: #ffffff;
    border: none;
    border-radius: 300px;
    padding: 0 16px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-dark);
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    /* circle (25×25 mint) + chevron composite SVG — matches Figma node 142:2829 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5' fill='%23edfaf7'/%3E%3Cpath d='M8.5 10.75l4 4 4-4' stroke='%23086565' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 7px center;
    padding-right: 40px;
}

    .sf-field__select:focus {
        border-color: var(--color-nav-teal);
        box-shadow: 0 0 0 2px rgba(54, 202, 169, 0.25);
        outline: none;
    }

/* Sort dropdown — teal text, visible selected value; 33px height per Figma node 142:3413 */
.sf-field__select--sort {
    height: 33px;
    color: var(--color-nav-dark);
    font-weight: 400;
}

/* Override bootstrap-multiselect button to look like pill */
.sf-field .multiselect-container.dropdown-menu {
    border-radius: var(--radius-md);
    border-color: var(--color-border);
    margin-top: 4px;
}

.sf-field .btn-group > .multiselect.btn,
.sf-field button.multiselect {
    height: 40px;
    display: flex;
    align-items: center;
    background: #ffffff !important;
    border: none !important;
    border-radius: 300px !important;
    padding: 0 40px 0 16px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-dark) !important;
    text-align: left;
    width: 100%;
    position: relative;
    box-shadow: none !important;
    /* circle (25×25 mint) + chevron composite SVG — matches Figma node 142:2829 */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'%3E%3Ccircle cx='12.5' cy='12.5' r='12.5' fill='%23edfaf7'/%3E%3Cpath d='M8.5 10.75l4 4 4-4' stroke='%23086565' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 7px center !important;
}

    .sf-field button.multiselect .caret {
        display: none;
    }

    /* Suppress Bootstrap 4 ::after caret on multiselect pill buttons — SVG background-image is used instead */
    .sf-field button.multiselect.dropdown-toggle::after {
        display: none !important;
    }

    .sf-field button.multiselect:hover,
    .sf-field button.multiselect:focus {
        background-color: #f5fdfa !important;
        border-color: var(--color-nav-teal) !important;
    }

.sf-field .btn-group {
    width: 100%;
    display: block;
}

/* --- Checkbox + campaign input row -------------------------- */
.sf-field__checkbox-row {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 40px;
}

.sf-field__checkbox {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    accent-color: var(--color-nav-teal);
    border: 1px solid var(--color-nav-teal);
    border-radius: 4px;
    cursor: pointer;
}

/* --- Date range field --------------------------------------- */
.sf-field--date-range {
    gap: 4px;
}

.sf-field__daterange {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.sf-field__datepicker {
    flex: 1 1 0;
    min-width: 0;
}

    /*
 * Each datepicker is a Bootstrap input-group:
 *   [input.datetimepicker-input] [input-group-append > date-clear-btn + input-group-text]
 *
 * Figma 142-2948: input text on the left, × clear button to its right, then the
 * calendar icon inside a 40×40 mint circle (#edfaf7) at the far right.
 *
 * Visual order: [input(order 1)] [×(order 2)] [mint calendar circle(order 3)]
 */
    .sf-field__datepicker.input-group {
        flex-wrap: nowrap;
        align-items: center;
        background: #ffffff;
        border-radius: 300px;
        /* overflow: hidden removed — it clipped the datetimepicker popup and blocked click events on .input-group-append.
     * Pill shape is preserved by border-radius alone; the mint calendar circle has its own border-radius: 300px. */
        height: 40px;
        border: none;
    }

    /* The text input sits in the middle */
    .sf-field__datepicker .form-control {
        order: 1;
        height: 40px;
        background: #ffffff;
        border: none !important;
        border-radius: 0;
        padding: 0 4px 0 8px;
        font-family: var(--font-body);
        font-size: 14px;
        color: var(--color-text-dark);
        box-shadow: none !important;
        flex: 1 1 auto;
    }

    /* append wrapper — must remain a real flex item so data-toggle/data-target on this element
 * are reachable by the Tempus Dominus datetimepicker plugin. display:contents was removed
 * because it erases the element as a box, preventing the plugin from attaching its click handler. */
    .sf-field__datepicker .input-group-append {
        order: 2;
        display: flex;
        align-items: center;
        flex-shrink: 0;
    }

    /* × clear button — sits to the RIGHT of the text input.
 * order: 2 places it after the input (order: 1) and before the calendar circle (order: 3).
 * height: 40px !important overrides site.css global .date-clear-btn { height: 33px !important }. */
    .sf-field__datepicker .date-clear-btn {
        order: 2;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 40px !important;
        width: 28px;
        padding: 0 4px;
        background: #ffffff;
        border: none !important;
        border-radius: 0;
        color: var(--color-nav-dark);
        font-size: 12px;
        box-shadow: none !important;
        cursor: pointer;
    }

        .sf-field__datepicker .date-clear-btn:hover,
        .sf-field__datepicker .date-clear-btn:focus,
        .sf-field__datepicker .date-clear-btn:active {
            background: #ffffff;
            color: var(--color-primary);
            outline: none;
            box-shadow: none !important;
        }

    /* Calendar icon button — mint circle (#edfaf7) at the far right of the pill.
 * Matches Figma 142-2952: 40×40 circle, dark-teal icon (#086565) on light mint bg.
 * border-radius: 300px ensures it stays a circle regardless of the outer pill clip. */
    .sf-field__datepicker .input-group-text {
        order: 3;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        background: #edfaf7;
        border: none !important;
        border-radius: 300px;
        color: #086565;
        font-size: 14px;
        cursor: pointer;
        margin-right: 0;
    }

.sf-field__daterange-sep {
    flex-shrink: 0;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    line-height: 40px;
}

/* --- Actions row (search/save buttons) ---------------------- */
.sf-panel__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding-top: 4px;
}

.sf-panel__error {
    font-family: var(--font-body);
    font-size: 14px;
    min-height: 1.2em;
}

.sf-panel__btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.sf-panel__btn-delete {
    min-width: 160px;
}

/* --- Search action button variants (Figma node 142-3032) ----- */
.sf-panel__btn--search,
.sf-panel__btn--save,
.sf-panel__btn--clear {
    height: 53px;
    padding: 0 12px;
    font-size: 15px;
    line-height: 53px;
    border-radius: 300px;
    margin: 0;
    white-space: nowrap;
}

/* Keresés — dark teal fill (#086565 = --color-nav-dark) */
.sf-panel__btn--search {
    background: var(--color-nav-dark);
    border-color: var(--color-nav-dark);
    color: var(--color-text-on-primary);
}

    .sf-panel__btn--search:hover,
    .sf-panel__btn--search:focus {
        background: var(--color-primary-hover);
        border-color: var(--color-primary-hover);
        color: var(--color-text-on-primary);
    }

/* + Keresés mentése — mint fill (#36caa9 = --color-nav-teal) */
.sf-panel__btn--save {
    background: var(--color-nav-teal);
    border-color: var(--color-nav-teal);
    color: #ffffff;
}

    .sf-panel__btn--save:hover,
    .sf-panel__btn--save:focus {
        background: var(--color-primary);
        border-color: var(--color-primary);
        color: #ffffff;
    }

/* Keresés törlése — teal outline, teal text */
.sf-panel__btn--clear {
    background: #ffffff;
    border-color: var(--color-nav-teal);
    color: var(--color-nav-teal) !important;
}

    .sf-panel__btn--clear:hover,
    .sf-panel__btn--clear:focus {
        background: var(--color-nav-teal);
        border-color: var(--color-nav-teal);
        color: #ffffff !important;
    }

/* Gap between the taller buttons */
.sf-panel__btns {
    gap: 25px;
}

/* --- Collapse toggle (pill button in page header) ----------- */
.sf-collapse-toggle__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 8px 15px;
    background-color: #36caa9;
    border: 1px solid #36caa9;
    border-radius: 20px;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}

    .sf-collapse-toggle__btn:hover,
    .sf-collapse-toggle__btn:focus {
        background-color: #2db899;
        border-color: #2db899;
        text-decoration: none;
        outline: none;
    }

.sf-collapse-toggle__label {
    font-family: var(--font-sans);
    font-size: 1.125rem;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.167;
}

.sf-collapse-toggle__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background-color: #086565;
    border-radius: 300px;
    flex-shrink: 0;
    overflow: hidden;
    transition: transform 0.2s ease;
}

.sf-collapse-toggle__chevron {
    font-size: 10px;
    color: #ffffff;
    line-height: 1;
    transition: transform 0.2s ease;
}

.sf-collapse-toggle__chevron--rotated {
    transform: rotate(180deg);
}

/* --- Sort bar (visible when filter panel is collapsed) ------ */
.sf-sort-bar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    background: #edfaf7;
    border-radius: 20px;
    padding: 20px;
    width: 100%;
    margin-bottom: 12px;
}

.sf-sort-bar__label {
    font-family: 'Mulish', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
    color: #086565;
}

.sf-sort-bar__select-wrap {
    width: 100%;
}

/* --- Sort pill (inline with page h1 in sf-header) ----------- */
.sf-header__sort-col {
    flex-shrink: 0;
    margin-left: 16px;
}

.sf-sort-pill {
    display: inline-flex;
}

.sf-sort-pill__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #edfaf7;
    border: none;
    border-radius: 20px;
    padding: 6px 5px 6px 15px;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

    .sf-sort-pill__btn:hover,
    .sf-sort-pill__btn:focus {
        background-color: #d6f5ee;
        outline: none;
    }

.sf-sort-pill__label {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: normal;
    color: #086565;
}

.sf-sort-pill__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
}

.sf-sort-pill__menu {
    min-width: 200px;
    border-radius: 12px;
    border: 1px solid #d6f5ee;
    box-shadow: 0 4px 16px rgba(8, 101, 101, 0.12);
    padding: 6px 0;
}

.sf-sort-pill__item {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #086565;
    padding: 8px 16px;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

    .sf-sort-pill__item:hover {
        background-color: #edfaf7;
        color: #086565;
    }

    .sf-sort-pill__item.active {
        background-color: #edfaf7;
        color: #086565;
        font-weight: 600;
    }

/* --- Side-by-side search layout (filter left, results right) */
.sf-layout {
    align-items: flex-start;
}

.sf-layout__filter-col {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
}

.sf-layout__results-col {
    min-width: 0;
}

/* --- Tags input integration --------------------------------- */
.sf-field #Tags_tagsinput,
.sf-field #ExternalNames_tagsinput {
    background: #ffffff;
    border: none;
    border-radius: 300px;
    padding: 0 12px;
    min-height: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    /* Counter the JS-applied `width: 208% !important` on ExternalNames_tagsinput
       by constraining to the parent wrap. max-width beats an expanded intrinsic size. */
    max-width: 100%;
    box-sizing: border-box;
}

/* --- Responsive adjustments --------------------------------- */
@media (max-width: 991.98px) {
    .sf-panel__row {
        gap: 8px 20px;
    }

    .sf-field,
    .sf-field--empty {
        flex-basis: calc(50% - 10px);
    }

    .sf-field--wide {
        flex-basis: 100%;
    }
}

@media (max-width: 575.98px) {
    .sf-panel {
        padding: 14px;
        border-radius: 14px;
    }

    .sf-field,
    .sf-field--empty,
    .sf-field--wide {
        flex-basis: 100%;
    }
}

/* --- Spinner overlay in results area ----------------------- */
.spinner-container-continous {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}

    .spinner-container-continous.text-hide {
        display: none;
    }

/* ============================================================
   Authenticated Home Page — #13136
   Figma nodes 514:897 / 514:851
   ============================================================ */

/* --- Outer container ---------------------------------------- */
.hp-auth {
    padding: 10px 20px 20px;
    background: var(--color-surface);
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* --- Section card ------------------------------------------- */
.hp-auth__section {
    background: #edfaf7;
    border-radius: 20px;
    padding: 25px 40px 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    overflow: hidden;
    margin-bottom: 20px;
}

/* --- Section header row (title + sort pill) ----------------- */
.hp-auth__section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 55px;
    flex-shrink: 0;
    width: 100%;
}

.hp-auth__section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #065151;
    line-height: 40px;
    margin: 0;
    padding: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Sort pill button --------------------------------------- */
.hp-auth__sort-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 5px 5px 5px 20px;
    background: #ffffff;
    border: 1px solid #086565;
    border-radius: 300px;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
    min-height: 45px;
}

    .hp-auth__sort-pill:hover {
        background: #f0fcfa;
    }

.hp-auth__sort-label {
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #086565;
    line-height: 1;
}

.hp-auth__sort-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: #086565;
    border-radius: 50%;
    flex-shrink: 0;
    color: #ffffff;
    font-size: 16px;
}

/* --- Carousel track ----------------------------------------- */
/* Keep the existing .slick-list overflow rules but ensure the
   track itself doesn't clip our rounded cards */
.hp-auth__carousel-track.slick-list {
    overflow: visible !important;
    width: 100%;
}

.hp-auth__carousel-track .slick-track {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-left: 0;
}

/* Content item card spacing inside carousel */
.hp-auth__carousel-track .ci-card {
    margin-right: 20px;
    min-width: 260px;
}

/* Rounded corners on cards inside authenticated carousel */
.hp-auth__carousel-track .hp-anon__card--video,
.hp-auth__carousel-track .hp-anon__card--audio {
    border-radius: var(--radius-md);
}

/* Gap between carousel slides */
.hp-auth__carousel-track .slick-slide {
    margin: 0 6px;
}

/* --- Pager row (dots left, arrows right) -------------------- */
.hp-auth__pager-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 35px;
    flex-shrink: 0;
    width: 100%;
    padding-top: 4px;
}

/* Slick dots container — override defaults */
.hp-auth__dots .slick-dots {
    position: static;
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding: 0;
    margin: 0;
    list-style: none;
    bottom: auto;
    width: auto;
}

    .hp-auth__dots .slick-dots li {
        width: 10px;
        height: 10px;
        margin: 0;
    }

        .hp-auth__dots .slick-dots li button {
            width: 10px;
            height: 10px;
            padding: 0;
        }

            .hp-auth__dots .slick-dots li button::before {
                font-size: 8px;
                width: 10px;
                height: 10px;
                line-height: 10px;
                color: #086565;
                opacity: 0.35;
            }

        .hp-auth__dots .slick-dots li.slick-active button::before {
            color: #086565;
            opacity: 1;
        }

/* --- Pager arrow container ---------------------------------
   Slick appends prev/next into .hp-auth__pager.
   We need them displayed inline. */
.hp-auth__pager {
    display: flex;
    align-items: center;
    gap: 10px;
    position: static;
}

/* --- Round teal arrow buttons (Figma 514:1050 / 514:1052) -- */
.hp-auth__arrow {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: #086565;
    border: none;
    border-radius: 50%;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s ease;
    padding: 0;
    line-height: 1;
    /* Reset slick's absolute positioning */
    transform: none !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
}

    .hp-auth__arrow:hover,
    .hp-auth__arrow:focus {
        background: #065151;
        outline: none;
    }

    .hp-auth__arrow.slick-disabled {
        opacity: 0.35;
        cursor: default;
    }

        .hp-auth__arrow.slick-disabled:hover {
            background: #086565;
        }

    /* Override slick's ::before pseudo-element arrow characters */
    .hp-auth__arrow::before {
        content: none !important;
    }

    .hp-auth__arrow .fa {
        pointer-events: none;
    }

.hp-auth__arrow--prev .fa {
    /* fa-chevron-left is correct as-is */
}

/* --- Responsive -------------------------------------------- */
@media (max-width: 991.98px) {
    .hp-auth {
        padding: 8px 12px 16px;
        gap: 20px;
    }

    .hp-auth__section {
        padding: 20px 20px 30px;
    }

    .hp-auth__section-title {
        font-size: 24px;
        line-height: 32px;
    }
}

@media (max-width: 575.98px) {
    .hp-auth {
        padding: 6px 8px 12px;
        gap: 16px;
    }

    .hp-auth__section {
        padding: 16px 16px 24px;
        border-radius: 14px;
    }

    .hp-auth__section-title {
        font-size: 20px;
        line-height: 28px;
    }

    .hp-auth__sort-pill {
        padding: 4px 4px 4px 14px;
    }

    .hp-auth__sort-label {
        font-size: 12px;
    }
}

/* Nav-shell and footer background for authenticated home page */
body:has(.hp-auth) header.nav-shell {
    background-color: var(--color-nav-dark) !important;
    box-shadow: none !important;
}

body:has(.hp-auth) footer.page-footer {
    background-color: var(--color-nav-dark) !important;
}

/* ============================================================
   Anonymous Home Page  (#13135)
   BEM block: hp-anon
   ============================================================ */

/* Keep a visible header shell on anonymous home so the logo is contained in the header row */
body:has(.hp-anon) .nav-shell {
    background-color: var(--color-primary) !important;
    box-shadow: 0 2px 12px rgba(8, 101, 101, 0.10) !important;
}

/* Footer — transparent background with white text for contrast against the teal gradient */
body:has(.hp-anon) .page-footer {
    background: transparent !important;
    position: relative;
    z-index: 10;
}

    body:has(.hp-anon) .page-footer .wrapper a,
    body:has(.hp-anon) .page-footer .page-footer__link {
        color: rgba(255, 255, 255, 0.85) !important;
    }

        body:has(.hp-anon) .page-footer .wrapper a:hover,
        body:has(.hp-anon) .page-footer .page-footer__link:hover {
            color: #ffffff !important;
            text-decoration: underline;
        }

    body:has(.hp-anon) .page-footer .page-footer__version {
        color: rgba(255, 255, 255, 0.65);
    }

/*
 * Full-viewport teal radial-gradient wrapper.
 * Covers the area below the nav-shell header; the header itself
 * renders transparently on top (rules above).
 */
section.hp-anon {
    min-height: calc(100vh - var(--nav-shell-height) - (var(--nav-shell-padding) * 2));
    background-image: linear-gradient(90deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.20) 100%), radial-gradient(ellipse at 50% 50%, rgba(8,101,101,1) 0%, rgba(14,127,127,1) 100%);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 40px var(--nav-shell-padding);
}

/* Two-column flex row */
.hp-anon__body {
    display: flex;
    flex: 1 0 0;
    align-items: flex-start;
    gap: 60px;
    width: 100%;
    padding-left: 60px; /* matches Figma 80px left / 40px right after outer padding */
    padding-right: 20px;
}

/* ── Left column ──────────────────────────────────────────── */
.hp-anon__left {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: flex-start;
}

/* SVG wordmark — sized to match Figma: ~520×244px */
.hp-anon__logo-svg {
    width: 100%;
    max-width: 420px;
    height: auto;
    display: block;
}

.hp-anon__intro-text {
    width: 420px;
    max-width: 90vw;
}

.hp-anon__intro-text p {
    font-family: 'Poppins', sans-serif;
    font-size: 21px;
    font-weight: 500;
    color: #ffffff !important;
    text-align: justify;
    margin: 0;
}

.hp-anon__intro-text p + p {
    margin-top: 1em;
}

.hp-anon__logo-wrap {
    /* constrain to roughly the Figma proportions */
    width: 420px;
    max-width: 90vw;
}

/* Button row */
.hp-anon__buttons {
    display: flex;
    align-items: center;
    gap: 15px;
}

/*
 * Belépés — teal filled pill.
 * Overrides .button defaults: swap primary for nav-teal (#36caa9).
 */
.hp-anon__btn-login.button {
    background: var(--color-nav-teal);
    border-color: var(--color-nav-teal);
    color: #ffffff;
    font-size: 18px;
    height: auto;
    padding: 8px 22px;
    margin: 0;
    width: 170px;
    font-weight: 600;
    font-family: var(--font-sans);
}

    .hp-anon__btn-login.button:hover,
    .hp-anon__btn-login.button:focus {
        background: #2eb898;
        border-color: #2eb898;
        color: #ffffff;
        text-decoration: none;
    }

/*
 * Regisztráció — white outline ghost pill.
 * Uses existing .button.transparent variant but on the teal bg
 * the border should be white and text white — already handled by
 * .button.transparent; no override needed except removing margin.
 */
.hp-anon__btn-register.button {
    font-size: 18px;
    height: auto;
    padding: 8px 22px;
    margin: 0;
    width: 170px;
    font-weight: 600;
    font-family: var(--font-sans);
}

/* ── Right column ─────────────────────────────────────────── */
.hp-anon__right {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* Mint-green outer card wrapping the 3×3 grid */
.hp-anon__grid-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 25px;
    width: 100%;
}

/* Grid container — populated by AJAX in task #13136 */
.hp-anon__grid-placeholder {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 20px;
}

/* Row wrappers are transparent to the CSS grid */
.hp-anon__grid-row {
    display: contents;
}

/* Individual skeleton card cell */
.hp-anon__grid-cell {
    min-width: 0;
    background: #e0e8e8;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

    /* Subtle shimmer animation for skeleton state — only empty cells (not yet populated by AJAX) */
    .hp-anon__grid-cell:empty::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, transparent 0%, rgba(255, 255, 255, 0.45) 50%, transparent 100% );
        background-size: 200% 100%;
        animation: hp-skeleton-shimmer 1.6s infinite linear;
    }

@keyframes hp-skeleton-shimmer {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

/* Third row cards are shorter (audio items in Figma) */
.hp-anon__grid-cell--audio {
    border-radius: 10px;
}

/* ── Responsive tweaks ────────────────────────────────────── */
@media (max-width: 1199.98px) {

    .hp-anon__body {
        gap: 40px;
        padding-left: 40px;
        padding-right: 10px;
    }

    .hp-anon__intro-text {
        width: 320px;
    }

    .hp-anon__intro-text p {
        font-size: 21px;
    }

    .hp-anon__logo-wrap {
        width: 320px;
    }

    .hp-anon__card--video .hp-anon__card__title-inner {
        font-size: 22px;
    }

    .hp-anon__card--audio .hp-anon__card__title-inner {
        font-size: 18px;
    }
}

@media (max-width: 991.98px) {
    section.hp-anon {
        padding: 24px 16px;
    }

    .hp-anon__body {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        padding-left: 0;
        padding-right: 0;
    }

    .hp-anon__left {
        gap: 24px;
        width: 100%;
    }

    .hp-anon__intro-text {
        width: 100%;
    }

    .hp-anon__intro-text p {
        font-size: 18px;
    }

    .hp-anon__logo-wrap {
        width: 280px;
    }

    .hp-anon__right {
        width: 100%;
    }

    .hp-anon__card--video .hp-anon__card__title-inner {
        font-size: 20px;
    }

    .hp-anon__card--audio .hp-anon__card__title-inner {
        font-size: 16px;
    }
}

@media (max-width: 767.98px) {
    .hp-anon__card--video {
        border-radius: 20px;
    }
}

@media (max-width: 575.98px) {
    .hp-anon__intro-text p {
        font-size: 16px;
    }

    .hp-anon__logo-wrap {
        width: 220px;
    }

    .hp-anon__grid-placeholder {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 12px;
    }

    .hp-anon__btn-login.button,
    .hp-anon__btn-register.button {
        width: auto;
        min-width: 140px;
        font-size: 16px;
    }

    .hp-anon__card {
        width: 100%;
    }

    .hp-anon__card--video .hp-anon__card__title-inner {
        font-size: 22px;
    }

    .hp-anon__card--audio .hp-anon__card__title-inner {
        font-size: 18px;
    }
}

/* ── hp-anon__card  (Figma 551:1732) ────────────────────────── */
.hp-anon__card {
    display: block;
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: transparent;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    text-decoration: none;
}

.hp-anon__card:hover,
.hp-anon__card:focus-visible {
    transform: scale(1.03);
    box-shadow: 0 6px 20px rgba(8, 101, 101, 0.4);
    outline: none;
}

/* border-radius on the card itself is removed — the parent .hp-anon__grid-cell
   already clips at 16px via overflow:hidden. A larger radius here would expose
   the cell's grey skeleton background at the corners. */
.hp-anon__card--video {
    border-radius: 0;
}

.hp-anon__card--audio {
    border-radius: 0;
    background: #1a5252;
}

.hp-anon__card__picture {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* border-radius on the picture is unnecessary — the parent .hp-anon__card already clips
   via overflow:hidden at the correct radius, and a smaller inner radius would expose the
   card's white background at the corners */
.hp-anon__card--video .hp-anon__card__picture {
    border-radius: inherit;
}

.hp-anon__card--audio .hp-anon__card__picture {
    border-radius: inherit;
}

.hp-anon__card__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hp-anon__card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0.70) 100%);
    pointer-events: none;
}

.hp-anon__card__title {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 16px 14px;
    overflow: hidden;
}

.hp-anon__card__title-inner {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 300;
    font-size: 24px;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0 1px 6px rgba(0, 0, 0, 0.75);
    max-width: 100%;
}

.hp-anon__card--audio .hp-anon__card__title-inner {
    font-size: 20px;
}

.hp-anon__card__duration {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    background: rgba(8, 101, 101, 0.6);
    color: #ffffff;
    font-family: 'Mulish', sans-serif;
    font-weight: 800;
    font-size: 14px;
    line-height: 1;
    border-radius: 14.5px;
}

.hp-anon__card--audio .hp-anon__card__duration {
    font-size: 12px;
}

.hp-anon__grid-card {
    overflow-y: auto;
    max-height: calc(100vh - var(--nav-shell-height) - 80px);
}

.hp-anon__grid-card::-webkit-scrollbar {
    width: 6px;
}

.hp-anon__grid-card::-webkit-scrollbar-track {
    background: transparent;
}

.hp-anon__grid-card::-webkit-scrollbar-thumb {
    background: rgba(8, 101, 101, 0.35);
    border-radius: 10px;
}

.hp-anon__grid-card::-webkit-scrollbar-thumb:hover {
    background: rgba(8, 101, 101, 0.6);
}

.hp-anon__scroll-sentinel {
    height: 1px;
    grid-column: 1 / -1;
}

.hp-anon__grid-message {
    padding: 40px;
    text-align: center;
    color: #4a7070;
    font-size: 14px;
}

.hp-anon__grid-message--error {
    color: #c0392b;
}

/* ============================================================
   V3 Login / Registration page (task #13137)
   Scoped under .identity-v3 to avoid affecting any other page.
   Design reference: Figma node 436:1681 "nyitóoldal login"
   ============================================================ */

/* Ensure the .content wrapper does not constrain the identity-v3 section */
section.content:has(.identity-v3) {
    padding: 0;
    margin: 0;
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
}

/* Full-viewport teal background on html + body so no white bleeds at scroll edges.
   Gradient values from Figma node 436:1682: radial stops rgba(8,101,101,1) → rgba(14,127,127,1)
   with a 20% black overlay, matching the .identity-v3 element gradient exactly. */
html:has(.identity-v3),
body:has(.identity-v3),
html:has(.hp-anon),
body:has(.hp-anon) {
    background: radial-gradient(ellipse at center, #0e7f7f 0%, #086565 100%);
    min-height: 100%;
}

    /* Neutralise any white/light background on layout wrapper elements */
    body:has(.identity-v3) .wrapper,
    body:has(.identity-v3) .wrapper-fluid,
    body:has(.identity-v3) .content-wrapper,
    body:has(.identity-v3) .main-sidebar,
    body:has(.identity-v3) .control-sidebar {
        background: transparent !important;
    }

/* Full-viewport radial-gradient background — teal per Figma */
.identity-v3 {
    min-height: 100vh;
    width: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    background: radial-gradient(ellipse at center, #0e7f7f 0%, #086565 100%);
    /* Figma: radialGradient from rgba(8,101,101,1) to rgba(14,127,127,1) */
}

/* Keep a visible header shell on identity pages so the logo is contained in the header row */
body:has(.identity-v3) .nav-shell {
    background-color: var(--color-primary) !important;
    box-shadow: 0 2px 12px rgba(8, 101, 101, 0.10) !important;
}

/* Footer visible on identity pages — white text for contrast against teal gradient */
body:has(.identity-v3) .page-footer {
    background: transparent !important;
    position: relative;
    z-index: 10;
}

    body:has(.identity-v3) .page-footer .wrapper a,
    body:has(.identity-v3) .page-footer .page-footer__link {
        color: rgba(255, 255, 255, 0.85) !important;
    }

        body:has(.identity-v3) .page-footer .wrapper a:hover,
        body:has(.identity-v3) .page-footer .page-footer__link:hover {
            color: #ffffff !important;
            text-decoration: underline;
        }

    body:has(.identity-v3) .page-footer .page-footer__version {
        color: rgba(255, 255, 255, 0.65);
    }

/* Main content area — left-aligned form, matching Figma padding */
.identity-v3__body {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 260px 40px 200px;
}

@media (max-width: 1199.98px) {
    .identity-v3__body {
        padding: 60px 60px 40px 60px;
    }
}

@media (max-width: 767.98px) {
    .identity-v3__body {
        padding: 40px 24px;
    }
}

/* Form container */
.identity-v3__container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
}

/* Page heading — white bold Poppins */
.identity-v3__title {
    font-family: var(--font-sans);
    font-size: 32px;
    font-weight: 700;
    line-height: 40px;
    color: #ffffff;
    margin-bottom: 0;
}

.identity-v3__subtitle {
    font-family: var(--font-sans);
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #ffffff;
    margin-bottom: 0;
}

/* Field group (label + sub-label + input) */
.identity-v3__field-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 390px;
    max-width: 100%;
}

/* Label row */
.identity-v3__label {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    margin-bottom: 0;
}

/* Sub-label / hint text */
.identity-v3__sublabel {
    font-family: var(--font-body);
    font-size: 14px;
    font-style: italic;
    color: #ffffff;
    margin-bottom: 0;
}

    /* Validation error sub-label */
    .identity-v3__sublabel.text-danger {
        color: #ffb3b3 !important; /* lightened red so it reads on teal bg */
        font-style: normal;
    }

/* Pill input wrapper — teal border, near-white fill */
.identity-v3__input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 390px;
    max-width: 100%;
    height: 40px;
    border: 1px solid var(--color-nav-teal); /* #36caa9 */
    border-radius: 30px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.95);
}

/* Left icon slot (40×40 circle, slightly translucent white) */
.identity-v3__input-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.75);
    border-radius: 50%;
    color: var(--color-nav-dark); /* #086565 */
    font-size: 14px;
    pointer-events: none;
}

/* Actual <input> inside the pill */
.identity-v3__input-wrap .form-control {
    flex: 1 1 auto;
    height: 100%;
    border: none;
    border-radius: 0;
    background: transparent;
    padding: 0 12px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    box-shadow: none;
}

    .identity-v3__input-wrap .form-control:focus {
        outline: none;
        box-shadow: none;
        border: none;
        background: transparent;
    }

/* Right eye-toggle button (password field only) */
.identity-v3__input-append {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-left: 1px solid #ced4da;
    color: var(--color-text-muted);
    font-size: 14px;
    cursor: pointer;
}

    .identity-v3__input-append a {
        color: var(--color-text-muted);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

        .identity-v3__input-append a:hover {
            color: var(--color-nav-dark);
        }

/* Forgot-password link */
.identity-v3__forgot {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-nav-teal); /* #36caa9 */
    text-decoration: none;
}

    .identity-v3__forgot:hover {
        color: #ffffff;
        text-decoration: underline;
    }

/* Submit button — teal filled pill, matches .button in design system */
.identity-v3__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    padding: 8px 22px;
    border-radius: 20px;
    background-color: var(--color-nav-teal); /* #36caa9 */
    border: 1px solid var(--color-nav-teal);
    color: #ffffff;
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    line-height: 21px;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

    .identity-v3__submit:hover,
    .identity-v3__submit:focus {
        background-color: var(--color-primary); /* #1A7F7A */
        border-color: var(--color-primary);
        color: #ffffff;
        text-decoration: none;
    }

/* Register button — outlined pill secondary button next to the Login submit button */
.identity-v3__register-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    padding: 8px 22px;
    border-radius: 20px;
    background-color: transparent;
    border: 1px solid var(--color-nav-teal); /* #36caa9 */
    color: var(--color-nav-teal);
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    line-height: 21px;
    cursor: pointer;
    text-align: center;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

    .identity-v3__register-btn:hover,
    .identity-v3__register-btn:focus {
        background-color: rgba(54, 202, 169, 0.15); /* subtle teal tint on hover */
        color: #ffffff;
        border-color: #ffffff;
        text-decoration: none !important;
    }

/* Button row — Login + Register side by side, centered on small screens */
.identity-v3__btn-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 1rem;
}

/* Validation summary box on teal background */
.identity-v3 .alert-danger {
    background: rgba(208, 2, 27, 0.15);
    border-color: rgba(208, 2, 27, 0.4);
    color: #ffb3b3;
    border-radius: var(--radius-md);
    width: 390px;
    max-width: 100%;
}

/* Inline fields row (used in register for side-by-side on wider screens) */
.identity-v3__fields {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

/* Password strength meter */
#strength-meter {
    width: 390px;
    max-width: 100%;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.2);
    margin-top: 4px;
}

/* "Bejelentkezés" link on the Register page — white text for contrast on teal gradient */
.identity-v3__login-link {
    color: #ffffff !important;
    text-decoration: underline;
}

    .identity-v3__login-link:hover {
        color: rgba(255, 255, 255, 0.8) !important;
    }

/* ---- Responsive ---- */
@media (max-width: 575.98px) {
    .identity-v3__field-group,
    .identity-v3__input-wrap,
    .identity-v3 .alert-danger,
    #strength-meter {
        width: 100%;
    }
}

/* Privacy policy checkbox group on Register page */
.identity-v3__checkbox-group {
    width: 780px; /* matches two-column partner section width; clamps on smaller screens */
    max-width: 100%;
}

    .identity-v3__checkbox-group .form-check {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        padding-left: 0;
    }

    .identity-v3__checkbox-group .form-check-input {
        flex: 0 0 18px;
        width: 18px;
        height: 18px;
        margin-top: 3px; /* optical alignment with first line of label text */
        accent-color: var(--color-nav-teal); /* #36caa9 — teal checkmark in supporting browsers */
        cursor: pointer;
    }

.identity-v3__checkbox-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: #ffffff;
    cursor: pointer;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Link inside the checkbox label */
.identity-v3__policy-link {
    color: var(--color-nav-teal); /* #36caa9 */
    text-decoration: underline;
}

    .identity-v3__policy-link:hover {
        color: #ffffff;
    }

@media (max-width: 575.98px) {
    .identity-v3__checkbox-group {
        width: 100%;
    }
}

.identity-v3__captcha-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

/* ============================================================
   Admin — Audit log link (Eseménynapló)
   Figma node 142:2738: Poppins SemiBold, 16px/21px, teal, uppercase
   ============================================================ */
.adm-audit-link {
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 16px;
    line-height: 21px;
    color: var(--color-nav-teal); /* #36caa9 */
    text-transform: uppercase;
    text-decoration: none;
}

    .adm-audit-link:hover,
    .adm-audit-link:focus {
        color: var(--color-nav-teal);
        text-decoration: underline;
    }

/* ============================================================
   Admin — Entity reference link inside audit log table body
   Matches the primary teal used for table th sort links.
   ============================================================ */
.adm-entity-link {
    color: var(--color-primary);
    text-decoration: none;
}

    .adm-entity-link:hover,
    .adm-entity-link:focus {
        color: var(--color-primary-hover);
        text-decoration: underline;
    }

/* ============================================================
   Admin — FolderPath link
   ============================================================ */
.adm-folder-link {
    color: var(--color-primary);
    text-decoration: none;
}

.adm-folder-link:hover,
.adm-folder-link:focus {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

/* ===== CM-07 / EP-04 — Image Gallery Upload v6 ===== */

/* Drop zone */
.img-gallery-dropzone {
    padding: 0 15px;
}

.img-gallery-dropzone__inner {
    background: #f5fcfb;
    border-radius: 20px;
    padding: 40px 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    cursor: pointer;
}

.img-gallery-dropzone__icon-circle {
    width: 112px;
    height: 112px;
    background: #e1f7f2;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.img-gallery-dropzone__text {
    font-size: 16px;
    color: #231f20;
    text-align: center;
}

/* Warning pill */
.img-gallery-warning-pill {
    display: inline-flex;
    background: #ffeced;
    color: #5c171a !important;
    border-radius: 300px;
    padding: 8px 20px;
    font-weight: 700;
    font-size: 14px;
    margin-top: 8px;
}

/* File list container */
.img-gallery-upload-list {
    background: rgba(225, 247, 242, 0.5);
    border-radius: 40px;
    padding: 20px;
    width: 100%;
}

    .img-gallery-upload-list table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        display: block;
    }

    .img-gallery-upload-list tbody#files {
        display: flex;
        flex-direction: column;
        gap: 20px;
        width: 100%;
    }

    /* File row */
    .img-gallery-upload-list #files tr {
        display: flex !important;
        flex-direction: row;
        align-items: center;
        background: #ffffff;
        border-radius: 30px;
        height: auto !important;
        padding: 10px 20px 10px 10px;
        gap: 15px;
        border: none;
    }

    /* Reset td defaults */
    .img-gallery-upload-list #files td {
        display: flex;
        align-items: center;
        border: none;
        padding: 5px;
        background: transparent;
        vertical-align: middle;
    }

    /* Number + drag handle column */
    .img-gallery-upload-list #files .table-row-move-td {
        flex-direction: column;
        gap: 10px;
        align-self: stretch;
        justify-content: space-evenly;
        align-items: center;
        min-width: 70px;
        flex-shrink: 0;
    }

    /* Number badge */
    .img-gallery-upload-list .table-row-move-img {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px;
        border-radius: 50% !important;
        border: 1.5px solid #086565;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 22px;
        color: #086565;
        background: transparent !important;
        cursor: default;
    }

    /* Drag handle */
    .img-gallery-upload-list .table-row-drag-handle {
        width: 55px;
        height: 55px;
        border-radius: 50%;
        background-color: #e1f7f2;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: move;
        flex-shrink: 0;
    }

    /* Thumbnail column */
    .img-gallery-upload-list #files .preview-td {
        flex-shrink: 0;
        padding: 5px 1px;
    }

    .img-gallery-upload-list #files td img,
    .img-gallery-upload-list #files td canvas {
        width: 105px !important;
        height: 85px !important;
        max-width: 105px;
        object-fit: contain;
        border-radius: 20px;
        display: block;
    }

    /* Filename column */
    .img-gallery-upload-list #files .img-gallery-filename-col {
        flex: 1;
        min-width: 0;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 10px;
    }

    /* Size column */
    .img-gallery-upload-list #files .img-gallery-size-col {
        flex-shrink: 0;
        justify-content: flex-start;
    }

    /* Description — hidden */
    .img-gallery-upload-list #files .img-gallery-desc-col {
        display: none !important;
    }

    /* Progress column */
    .img-gallery-upload-list #files .img-gallery-progress-col {
        flex: 0 0 150px;
        flex-shrink: 0;
    }

/* File pill badge */
.file-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #36caa9;
    border-radius: 300px;
    padding: 8px 15px 8px 8px;
    max-width: 300px;
    overflow: hidden;
}

.file-pill__icon {
    width: 30px;
    height: 30px;
    background: #ffffff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.file-pill__text {
    color: #f5fcfb;
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Delete button */
.img-gallery-upload-list .icon-delete-td {
    margin-left: auto;
    flex-shrink: 0;
    padding: 5px;
}

.img-gallery-upload-list .icon-delete-img {
    width: 55px !important;
    height: 55px !important;
    border-radius: 50% !important;
    background: rgba(255, 64, 71, 0.1) !important;
    cursor: pointer;
    flex-shrink: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.img-gallery-upload-list .icon-delete-img i {
    font-size: 20px;
    color: #ff4047;
}

/* Progress bar colour */
.progress-bar {
    background-color: var(--color-nav-teal) !important;
    color: var(--color-nav-teal);
}

.draganddrop {
    height: 40vh;
}

#progress {
    height: 1px;
    margin-top: 40px;
    margin-bottom: 40px;
    padding: 0;
}

/* Sortable placeholder */
.img-gallery-upload-list .sortable-placeholder {
    background: rgba(225, 247, 242, 0.3);
    border-radius: 30px;
    height: 50px;
    display: flex !important;
}

/* Fix: keep number badge visible on hover; drag handle provides the move cursor */
.img-gallery-upload-list #files tr:hover .table-row-move-td .table-row-move-img {
    background: transparent !important;
    color: #086565 !important;
    cursor: default;
}

.img-gallery-upload-list #files tr:hover .icon-delete-td .icon-delete-img {
    background: rgba(255, 64, 71, 0.1) !important;
}

/* ust-step--current: the step being worked on now */
.ust-step--current {
    background: #E1F7F2;
    justify-content: flex-start;
}

    .ust-step--current .ust-step__number {
        background: linear-gradient(90deg, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.6) 100%), linear-gradient(90deg, #36CAA9 0%, #36CAA9 100%);
        color: #086565;
    }

    .ust-step--current .ust-step__label {
        color: #086565;
        font-weight: 700;
    }

/* Right column for ust-layout (gallery/upload pages) */
.ust-content {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

    /* Remove extra side-padding on dropzone inside ust-content */
    .ust-content .img-gallery-dropzone {
        padding: 0;
    }

    /* Remove bottom margin on form-group inside ust-content */
    .ust-content .form-group {
        margin-bottom: 0;
    }

/* Thicker Next / Cancel buttons on upload pages */
.ust-content .button {
    height: 38px;
    padding: 6px 32px;
    font-size: 16px;
}

/* ============================================================
   CED — Content Edit Data (#13141)
   Namespace: ced-
   ============================================================ */

/* ---- Page heading ----------------------------------------- */
.ced-heading {
    font-family: var(--font-sans);
    font-size: 32px;
    font-weight: 700;
    color: var(--color-nav-dark);
    text-align: center;
    margin-bottom: 24px;
}

.ced-checkout-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-nav-dark);
    background: rgba(54, 202, 169, 0.12);
    border: 1px solid var(--color-nav-teal);
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 16px;
}

/* ---- Outer layout (steps panel + form content) ------------ */
.ced-layout {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding-left: var(--nav-shell-padding);
}

/* ---- Form content area (right of steps panel) ------------- */
.ced-content {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ---- Card: mint background card (#EDFAF7) ----------------- */
.ced-card {
    background: #edfaf7;
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ---- Card: white background card (secondary metadata) ----- */
.ced-card--white {
    background: #ffffff;
    border: 1px solid var(--color-border-light);
    border-radius: 20px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Two side-by-side card columns */
.ced-card-row {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

    .ced-card-row .ced-card {
        flex: 1 1 0;
    }

/* ---- Field group (label + input) -------------------------- */
.ced-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ced-field__label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-nav-dark);
    margin-bottom: 0;
    line-height: 1.3;
}

/* Label row — keeps field label and AI checkbox row on one horizontal line */
.ced-field__label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: nowrap;
}

    .ced-field__label-row .ced-field__label {
        flex: 1 1 auto;
        margin-bottom: 0;
    }

    .ced-field__label-row .ced-ai-row {
        flex: 0 0 auto;
        margin-bottom: 0;
    }

.ced-field__sublabel {
    font-family: var(--font-body);
    font-size: 13px;
    font-style: italic;
    color: var(--color-nav-dark);
    margin-bottom: 0;
}

.ced-field__error {
    font-size: 12px;
    color: var(--color-error);
}

/* ---- AI generation row (checkbox + prompt link) ----------- */
.ced-ai-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    margin-bottom: 4px;
}

    .ced-ai-row input[type="checkbox"] {
        accent-color: var(--color-nav-teal);
        width: 15px;
        height: 15px;
        border: 1px solid var(--color-nav-teal);
        border-radius: var(--radius-sm);
        cursor: pointer;
        flex-shrink: 0;
    }

    .ced-ai-row label {
        font-family: var(--font-body);
        font-size: 13px;
        color: var(--color-nav-dark);
        margin-bottom: 0;
        cursor: pointer;
    }

    .ced-ai-row .prompt-links {
        font-family: var(--font-body);
        font-size: 13px;
        color: var(--color-nav-teal);
        text-decoration: underline;
    }

        .ced-ai-row .prompt-links.hidden {
            display: none;
        }

    .ced-ai-row .property-name {
        color: var(--color-nav-teal);
        font-size: 13px;
    }

        .ced-ai-row .property-name.text-hide {
            visibility: hidden;
        }

/* ---- Pill text input -------------------------------------- */
.ced-pill-input {
    height: 40px;
    border-radius: 30px;
    border: 1px solid transparent;
    background: #ffffff;
    padding: 0 14px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    width: 100%;
    box-shadow: none;
    transition: border-color 0.15s ease;
}

    .ced-pill-input:focus {
        border-color: var(--color-nav-teal);
        outline: none;
        box-shadow: none;
    }

/* ---- Pill text input with globe button ------------------- */
.ced-pill-input-wrap {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 30px;
    border: 1px solid transparent;
    overflow: visible;
    transition: border-color 0.15s ease;
}

    .ced-pill-input-wrap:focus-within {
        border-color: var(--color-nav-teal);
    }

    .ced-pill-input-wrap .ced-pill-input {
        border: none;
        border-radius: 30px 0 0 30px;
        background: transparent;
        flex: 1 1 auto;
    }

        .ced-pill-input-wrap .ced-pill-input:focus {
            border: none;
            box-shadow: none;
        }

/* Globe button inside a pill input */
.ced-globe-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33px;
    height: 33px;
    margin: 3px 4px 3px 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid var(--color-nav-teal);
    cursor: pointer;
    flex-shrink: 0;
    color: var(--color-nav-dark);
    font-size: 14px;
    text-decoration: none;
    transition: background 0.15s ease;
}

    .ced-globe-btn:hover {
        background: rgba(54, 202, 169, 0.15);
        color: var(--color-nav-dark);
        text-decoration: none;
    }

/* ---- Pill textarea ---------------------------------------- */
.ced-pill-textarea {
    border-radius: 20px;
    border: 1px solid transparent;
    background: #ffffff;
    padding: 10px 14px;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    width: 100%;
    box-shadow: none;
    resize: vertical;
    min-height: 100px;
    transition: border-color 0.15s ease;
}

    .ced-pill-textarea:focus {
        border-color: var(--color-nav-teal);
        outline: none;
        box-shadow: none;
    }

/* Pill textarea with globe button (Description) */
.ced-pill-textarea-wrap {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid transparent;
    overflow: visible;
    transition: border-color 0.15s ease;
}

    .ced-pill-textarea-wrap:focus-within {
        border-color: var(--color-nav-teal);
    }

    .ced-pill-textarea-wrap .input-wrapper {
        flex: 1 1 auto;
        min-width: 0;
    }

    .ced-pill-textarea-wrap .ced-pill-textarea {
        border: none;
        border-radius: 20px 0 0 20px;
        background: transparent;
        flex: 1 1 auto;
    }

        .ced-pill-textarea-wrap .ced-pill-textarea:focus {
            border: none;
            box-shadow: none;
        }

    .ced-pill-textarea-wrap .input-group-textarea-append,
    .ced-pill-textarea-wrap .fa-globe-textarea-padding {
        display: flex;
        align-items: center;
    }

    .ced-pill-textarea-wrap .ced-globe-btn {
        margin: 0 8px 0 0;
        align-self: center;
    }

/* ---- Pill select (multiselect button override) ------------ */
/* Bootstrap-multiselect generates a .btn.multiselect; we restyle it */
.ced-field .multiselect.btn,
.ced-field .multiselect-container .multiselect.btn {
    height: 40px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid transparent;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-nav-dark);
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    box-shadow: none;
    transition: border-color 0.15s ease;
}

    .ced-field .multiselect.btn:after,
    .ced-field .multiselect-container .multiselect.btn:after {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 5px solid var(--color-nav-teal);
        flex-shrink: 0;
    }

    .ced-field .multiselect.btn:focus,
    .ced-field .multiselect.btn.open,
    .ced-field .multiselect-container .multiselect.btn:focus {
        border-color: var(--color-nav-teal);
        outline: none;
        box-shadow: none;
    }

/* Dropdown menu from multiselect */
.ced-field .multiselect-container.dropdown-menu {
    border-radius: 12px;
    border: 1px solid var(--color-border-light);
    box-shadow: var(--shadow-md);
    padding: 6px 0;
}

/* ---- Datepicker pill override ----------------------------- */
.ced-datepicker-wrap {
    display: flex;
    align-items: center;
    background: #ffffff;
    border-radius: 30px;
    border: 1px solid transparent;
    height: 40px;
    overflow: visible;
    position: relative;
    transition: border-color 0.15s ease;
}

    .ced-datepicker-wrap:focus-within {
        border-color: var(--color-nav-teal);
    }

    .ced-datepicker-wrap input.form-control {
        height: 100%;
        border: none;
        background: transparent;
        border-radius: 30px 0 0 30px;
        padding: 0 10px;
        font-family: var(--font-body);
        font-size: 14px;
        color: var(--color-text-dark);
        box-shadow: none;
        flex: 1 1 auto;
        min-width: 0;
    }

        .ced-datepicker-wrap input.form-control:focus {
            outline: none;
            box-shadow: none;
            border: none;
        }

    .ced-datepicker-wrap .input-group-append {
        display: flex;
        align-items: center;
        height: 100%;
        flex-shrink: 0;
    }

    .ced-datepicker-wrap .btn.btn-outline-secondary {
        background: transparent;
        border: none;
        border-left: 1px solid var(--color-border-light);
        color: var(--color-text-muted);
        height: 100%;
        padding: 0 8px;
        display: flex;
        align-items: center;
        border-radius: 0;
    }

        .ced-datepicker-wrap .btn.btn-outline-secondary:hover {
            background: rgba(54, 202, 169, 0.08);
        }

    .ced-datepicker-wrap .input-group-text {
        background: transparent;
        border: none;
        border-left: 1px solid var(--color-border-light);
        color: var(--color-nav-teal);
        height: 100%;
        padding: 0 10px;
        border-radius: 0 30px 30px 0;
        display: flex;
        align-items: center;
    }

/* ---- Campaign material: checkbox + text input row --------- */
.ced-campaign-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}

.ced-campaign-checkbox {
    width: 15px;
    height: 15px;
    accent-color: var(--color-nav-teal);
    flex-shrink: 0;
    border: 1px solid var(--color-nav-teal);
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.ced-campaign-row .ced-pill-input {
    flex: 1 1 auto;
}

/* ---- GPS coordinates display row -------------------------- */
.ced-gps-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 6px;
}

.ced-gps-label {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-nav-dark);
}

.ced-gps-link {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-nav-teal);
    text-transform: uppercase;
    text-decoration: underline;
    cursor: pointer;
}

    .ced-gps-link:hover {
        color: var(--color-primary);
        text-decoration: underline;
    }

/* ---- External entities section ---------------------------- */
.ced-external-entities {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ced-external-entities__add-link {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: var(--color-nav-teal);
    text-transform: uppercase;
    text-decoration: underline;
}

    .ced-external-entities__add-link:hover {
        color: var(--color-primary);
    }

.ced-entity-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
}

.ced-entity-row__name {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-nav-dark);
}

.ced-entity-row__remove {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--color-nav-teal);
    text-decoration: underline;
    cursor: pointer;
}

    .ced-entity-row__remove:hover {
        color: var(--color-error);
    }

.ced-entity-type-header {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-text-muted);
    padding: 2px 0;
}

/* ---- Bottom row: external entities + comment side-by-side - */
.ced-bottom-row {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

    .ced-bottom-row .ced-card {
        flex: 1 1 0;
    }

/* ---- Action buttons row ----------------------------------- */
.ced-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 8px 0 16px;
    flex-wrap: wrap;
}

    /* Primary save button — dark teal filled */
    .ced-actions .button {
        min-width: 170px;
        height: 48px;
        padding: 12px 28px;
        font-size: 16px;
        border-radius: 40px;
        background: var(--color-nav-dark);
        border-color: var(--color-nav-dark);
        color: #ffffff;
        margin: 0;
    }

        .ced-actions .button:hover {
            background: #064e4e;
            border-color: #064e4e;
            color: #ffffff;
        }

        /* Secondary cancel button — outlined teal */
        .ced-actions .button.white {
            min-width: 170px;
            height: 48px;
            padding: 12px 28px;
            font-size: 16px;
            border-radius: 40px;
            background: rgba(255, 255, 255, 0.8);
            border-color: var(--color-nav-teal);
            color: var(--color-nav-teal);
            margin: 0;
        }

            .ced-actions .button.white:hover {
                background: rgba(54, 202, 169, 0.12);
                color: var(--color-nav-teal);
            }

/* ---- Tags input override (tagsinput plugin) --------------- */
.ced-field #Tags_tagsinput {
    background: #ffffff;
    border-radius: 30px;
    border: 1px solid transparent;
    padding: 4px 12px;
    min-height: 40px;
    width: 100% !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    transition: border-color 0.15s ease;
}

    .ced-field #Tags_tagsinput:focus-within {
        border-color: var(--color-nav-teal);
    }

    .ced-field #Tags_tagsinput .tag {
        background: rgba(54, 202, 169, 0.15);
        color: var(--color-nav-dark);
        border-radius: 20px;
        padding: 2px 8px;
        font-family: var(--font-body);
        font-size: 13px;
    }

    .ced-field #Tags_tagsinput input {
        border: none;
        background: transparent;
        color: var(--color-text-dark);
        font-family: var(--font-body);
        font-size: 14px;
        height: 28px;
    }

/* ---- Spinner override ------------------------------------- */
.ced-spinner-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
}

    .ced-spinner-container.text-hide {
        display: none;
    }

/* ---- Responsive: stack layout on small screens ------------ */
@media (max-width: 767.98px) {
    .ced-layout {
        flex-direction: column;
    }

    .ced-card-row {
        flex-direction: column;
    }

    .ced-bottom-row {
        flex-direction: column;
    }
}

/* ---- MultiLanguageInputModal restyling (mil-) ------------- */
.mil-dialog .modal-content {
    border-radius: 20px;
    border: none;
    box-shadow: var(--shadow-md);
}

.mil-dialog .modal-header {
    background: #edfaf7;
    border-radius: 20px 20px 0 0;
    border-bottom: 1px solid var(--color-border-light);
    padding: 16px 20px;
}

.mil-dialog .modal-title {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--color-nav-dark);
}

.mil-dialog .modal-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mil-dialog .modal-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--color-border-light);
    gap: 12px;
    justify-content: center;
}

.mil-dialog .form-group {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mil-dialog .form-label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    color: var(--color-nav-dark);
    margin-bottom: 0;
}

/* Pill input override inside the modal */
.mil-dialog .form-control.form-input {
    border-radius: 30px;
    border: 1px solid var(--color-border-light);
    background: #ffffff;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    padding: 8px 14px;
    height: auto;
    box-shadow: none;
    transition: border-color 0.15s ease;
}

    .mil-dialog .form-control.form-input:focus {
        border-color: var(--color-nav-teal);
        outline: none;
        box-shadow: none;
    }

/* Pill textarea inside the modal */
.mil-dialog textarea.form-control.form-input {
    border-radius: 20px;
    resize: vertical;
    min-height: 80px;
}

/* ============================================================
   CI-CROP — Crop Images wizard step (#13143)
   Namespace: ci-crop-
   ============================================================ */

/* Scrollable image list — left column */
.ci-crop-list {
    height: 80vh;
    overflow-y: auto;
    background: rgba(225, 247, 242, 0.5);
    border-radius: 20px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Individual image row — white card */
.ci-crop-row {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #ffffff;
    border-radius: 20px;
    padding: 10px 15px;
    cursor: pointer;
    transition: background 0.15s ease-in-out;
    border: 2px solid transparent;
}

    .ci-crop-row:hover {
        background: #edfaf7;
    }

    .ci-crop-row.imageSelected {
        background: #e1f7f2;
        border-color: #36caa9;
    }

/* Number badge */
.ci-crop-row__number {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1.5px solid #086565;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 14px;
    color: #086565;
    background: transparent;
}

/* Thumbnail wrapper — positions preview img + canvas */
.ci-crop-row__thumb {
    flex-shrink: 0;
    position: relative;
    display: inline-block;
}

    /* Preview image (crop overlay) */
    .ci-crop-row__thumb .cropPreview {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        width: calc(12vw);
        height: calc(8vw);
        object-fit: contain;
    }

    /* Canvas drawn on top of preview image */
    .ci-crop-row__thumb .previewCanvas {
        position: relative;
        z-index: 20;
        display: block;
    }

/* Label column */
.ci-crop-row__labels {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ci-crop-row__label {
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 600;
    color: #086565;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.ci-crop-row__desc {
    font-family: var(--font-sans);
    font-size: 13px;
    color: #065151;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Right panel — cropper editor card */
.ci-crop-editor {
    flex: 1 1 0;
    min-width: 0;
    height: 100%;
    background: #F5FCFB;
    border-radius: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 400px;
}

/* Cropper.js wrapper — must have a defined height for the canvas to render */
#cropper_wrapper_div {
    flex: 1 1 auto;
    min-height: 360px;
    width: 100%;
    position: relative;
}

/* Cropper source image — block display so Cropper.js measures it correctly */
#cropperImg {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
}

/* Warning pill (cannot cancel notice) */
.ci-crop-warning {
    background: #ffeced;
    border-radius: 300px;
    padding: 10px 20px;
    font-family: var(--font-sans);
    font-size: 14px;
    font-weight: 700;
    color: #5c171a;
    text-align: center;
    margin-bottom: 20px;
}

/* Button row */
.ci-crop-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
    padding-top: 10px;
}

/* ============================================================
   End CI-CROP
   ============================================================ */

/* ============================================================
   CFS — Content Format Select wizard step (#13143)
   Namespace: cfs-
   ============================================================ */

/* Subtitle line below the warning pill */
.cfs-subtitle {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: #086565;
    text-align: center;
}

/* Wraps all ratio option pills — centered, wrapping flex row */
.cfs-options {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    align-items: center;
}

/* Individual ratio pill — mint background, rounded-pill */
.cfs-option {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #e1f7f2;
    border-radius: 300px;
    padding: 7px 20px 7px 7px;
    min-width: 190px;
    cursor: pointer;
    transition: background 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out;
    border: 2px solid transparent;
    user-select: none;
}

    .cfs-option.enabled:hover,
    .cfs-option.enabled:focus {
        background: #c8f2e8;
        border-color: #36caa9;
        outline: none;
    }

    .cfs-option.enabled.selected,
    .cfs-option.enabled.selected:hover,
    .cfs-option.enabled.selected:focus {
        background: #36caa9;
        border-color: #36caa9;
        outline: none;
    }

    .cfs-option.disabled {
        opacity: 0.45;
        cursor: not-allowed;
        pointer-events: none;
    }

/* Round visual indicator — white circle with teal border */
.cfs-option__indicator {
    flex-shrink: 0;
    width: 77px;
    height: 77px;
    border-radius: 40px;
    background: #ffffff;
    border: 2px solid #36caa9;
    position: relative;
    transition: background 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

/* Checkmark icon — hidden by default, shown on selected card */
.cfs-option__checkmark {
    display: none;
    position: absolute;
    inset: 0;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.cfs-option.selected .cfs-option__indicator {
    background: #086565;
    border-color: #086565;
}

.cfs-option.selected .cfs-option__checkmark {
    display: flex;
}

/* Ratio text label (e.g. "3:2", "16:9") */
.cfs-option__label {
    font-family: var(--font-sans);
    font-size: 22px;
    font-weight: 600;
    color: #086565;
    text-align: center;
    white-space: nowrap;
    transition: color 0.15s ease-in-out;
}

.cfs-option.selected .cfs-option__label {
    color: #ffffff;
}

/* ============================================================
   End CFS
   ============================================================ */

/* ---- GPSCoordinatesModal restyling (gps-modal-) ----------- */
.gps-modal-dialog .modal-content {
    border-radius: 20px;
    border: none;
    box-shadow: var(--shadow-md);
}

.gps-modal-dialog .modal-header {
    background: #edfaf7;
    border-radius: 20px 20px 0 0;
    border-bottom: 1px solid var(--color-border-light);
    padding: 16px 20px;
}

.gps-modal-dialog .modal-title {
    font-family: var(--font-sans);
    font-size: 18px;
    font-weight: 600;
    color: var(--color-nav-dark);
}

.gps-modal-dialog .modal-body {
    padding: 0;
}

.gps-modal-dialog .modal-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--color-border-light);
    gap: 12px;
    justify-content: center;
}

/* Workflow modal card */
.wf-modal-card .modal-content {
    border-radius: var(--radius-pill);
    border: none;
    box-shadow: var(--shadow-md);
    background: var(--color-surface);
}

.wf-modal-card .modal-header {
    border-bottom: 1px solid var(--color-border-light);
    padding: 1.25rem 1.5rem;
}

    .wf-modal-card .modal-header .modal-title {
        color: var(--color-nav-dark);
        font-family: var(--font-sans);
        font-weight: 700;
        font-size: 1.1rem;
    }

    .wf-modal-card .modal-header .close {
        color: var(--color-text-muted);
    }

.wf-modal-card .modal-body {
    padding: 1.5rem;
    color: var(--color-text-body);
    font-family: var(--font-body);
}

.wf-modal-card .modal-footer {
    border-top: 1px solid var(--color-border-light);
    padding: 1rem 1.5rem;
    justify-content: flex-end;
    gap: 12px;
}

/* Nav-shell centre pill dropdowns — restore position:relative so menus anchor under their toggle */
.nav-shell__centre-pill .dropdown { position: relative; }

/* ============================================================
   #13148-R3  Public / Player Views design system
   ============================================================ */

/* Player page */
.player-page {
    background: var(--color-surface);
    padding: 24px var(--nav-shell-padding);
}

/* Metadata section below player — #EDFAF7 tinted card */
.player-metadata {
    background: #EDFAF7;
    border-radius: var(--radius-md);
    padding: 20px 24px;
    margin-top: 16px;
}

.player-meta__row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--color-text-body);
}

.player-meta__label {
    font-weight: bold;
    color: var(--color-primary);
    white-space: nowrap;
}

.player-meta__value { flex: 1; }

/* Title row */
.player-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.player-title-row__title {
    font-family: var(--font-sans);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--color-primary);
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin: 0;
}

.player-title-row__info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    gap: 4px;
}

.player-title-row__info .player-title-row__title {
    flex: none;
}

.content-status-label {
    font-weight: 700;
    color: var(--color-primary);
}

.player-title-row > .button {
    width: 50px;
}

.galleria-theme-twelve .galleria-bar {
    background: var(--color-primary) !important;
}

.image-gallery-resolution-dropdown-content {
    background-color: var(--color-primary)!important;
}

    .image-gallery-resolution-dropdown-content a:hover {
        background-color: var(--color-primary-hover) !important;
    }

.video-js .vjs-control-bar {
    background-color: var(--color-primary) !important;
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    background-color: var(--color-primary) !important;
}

.galleria-theme-twelve .galleria-thumblink.open,
.galleria-theme-twelve.notouch .galleria-fullscreen:hover,
.galleria-theme-twelve.notouch .galleria-play:hover,
.galleria-theme-twelve.notouch .galleria-popout:hover,
.galleria-theme-twelve.notouch .galleria-thumblink:hover,
.galleria-theme-twelve.touch .galleria-fullscreen:active,
.galleria-theme-twelve.touch .galleria-play:active,
.galleria-theme-twelve.touch .galleria-popout:active,
.galleria-theme-twelve.touch .galleria-thumblink:active {
    background-color: var(--color-primary-hover) !important;
}

.player-title-row__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.player-title-row__actions a {
    color: var(--color-nav-dark);
    font-size: 1.1rem;
    line-height: 1;
    text-decoration: none;
}

.player-title-row__actions a:hover { color: var(--color-primary); text-decoration: none; }

.player-title-row__actions #copy-embedded-code {
    border: 1.5px solid var(--color-nav-dark);
    border-radius: 8px;
    padding: 6px 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.player-title-row__actions #copy-embedded-code:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.player-title-row__actions .button-playlist-add {
    color: var(--color-nav-dark);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.player-title-row__actions .button-playlist-add:hover {
    border-color: var(--color-primary);
}

.player-title-row__actions .button-playlist-add i {
    font-size: 20px;
    color: var(--color-nav-dark);
}

.player-title-row__actions .button-playlist-add:hover i {
    color: var(--color-primary);
}

.player-status-row {
    margin-top: 10px;
}

.player-status-row .content-status-comment,
.player-status-row .content-generativestatus-comment {
    position: static;
    right: auto;
    bottom: auto;
    margin: 0;
    display: block;
}

/* Player action row (download / back) */
.player-actions {
    display: flex;
    gap: 12px;
    padding: 12px 0;
}

/* Playlist right nav items */
.playlist-nav-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid var(--color-border-light);
    cursor: pointer;
}

.playlist-nav-item:hover { background: var(--color-surface-alt); }

.playlist-nav-item__num {
    min-width: 24px;
    font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--color-nav-dark);
}

.playlist-nav-item__thumb {
    width: 72px;
    height: 48px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.playlist-nav-item__title {
    font-family: var(--font-body);
    font-size: 0.875rem;
    color: var(--color-text-body);
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none;
}

.playlist-nav-item__title:hover { color: var(--color-primary); }

.playlist-nav-section-title {
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-text-heading);
    margin-bottom: 8px;
    margin-top: 16px;
}

/* Public list pages (Favorites, Playlists, Search) */
.public-list-page {
    background: var(--color-surface);
    padding: 32px var(--nav-shell-padding);
}

.public-list-page__title {
    font-family: var(--font-sans);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-nav-dark);
    margin-bottom: 20px;
}

.public-list-page__toolbar {
    margin-bottom: 16px;
}

.public-list-page__content {
    width: 100%;
}

.playlist-detail-buttons {
    gap: 0.5rem;
}

/* Responsive */
@media (max-width: 991px) {
    .player-page,
    .public-list-page {
        padding: 20px 16px;
    }
}

/* ============================================================
   WF-MODAL-CARD — Playlist create/edit modal pill inputs
   ============================================================ */

.wf-modal-card .form-control.form-input {
    border-radius: 30px;
    border: 1px solid var(--color-border-light);
    background: #ffffff;
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-dark);
    padding: 8px 14px;
    height: auto;
    box-shadow: none;
    transition: border-color 0.15s ease;
}

.wf-modal-card .form-control.form-input:focus {
    border-color: var(--color-nav-teal);
    outline: none;
    box-shadow: none;
}

.wf-modal-card textarea.form-control.form-input {
    border-radius: 20px;
    resize: vertical;
    min-height: 80px;
}

.ci-index-heading {
    text-align: center;
    margin-bottom: 24px;
}

.ci-index-heading h1 {
    font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #086565;
    text-transform: uppercase;
    margin: 0;
}

.ci-index-columns {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
}

.ci-index-columns--single {
    justify-content: center;
}

.ci-folder-card {
    flex: 0 0 calc((100% - 52px) * 0.25);
    max-width: calc((100% - 52px) * 0.25);
    min-width: 0;
    overflow-y: auto;
    min-height: 200px;
    background-color: #F5FCFB;
    margin-left: 20px;
}

.ci-centre-col {
    flex: 0 0 calc((100% - 52px) * 0.5);
    max-width: calc((100% - 52px) * 0.5);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ci-right-col {
    flex: 0 0 calc((100% - 52px) * 0.25);
    max-width: calc((100% - 52px) * 0.25);
    min-width: 0;
    margin-right: 20px;
}

.ci-search-bar {
    background-color: #E1F7F2;
    border-radius: 40px;
    padding: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}

.ci-search-bar.is-multiline {
    border-radius: 20px;
}

.ci-search-input-wrap {
    flex: 1 1 200px;
    min-width: 200px;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 300px;
    height: 40px;
    padding: 0 8px 0 16px;
}

.ci-search-input {
    flex: 1;
    border: none;
    background: transparent;
    height: 100%;
    font-family: Mulish, sans-serif;
    font-size: 14px;
    color: #231f20;
    outline: none;
    padding: 0;
    min-width: 0;
}

.ci-search-reset,
.ci-search-submit {
    background: transparent;
    border: none;
    padding: 4px 6px;
    cursor: pointer;
    color: #086565;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ci-search-checkbox {
    display: flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
}

.ci-search-checkbox input[type="checkbox"] {
    width: 15px;
    height: 15px;
    border: 1px solid #36caa9;
    border-radius: 4px;
    accent-color: #36caa9;
    flex-shrink: 0;
}

.ci-search-checkbox label {
    font-family: Mulish, sans-serif;
    font-size: 16px;
    color: #086565;
    margin: 0;
    cursor: pointer;
    text-wrap: auto;
}

.ci-sort-wrap {
    flex: 1 1 120px;
    min-width: 120px;
    position: relative;
    display: flex;
    align-items: center;
}

.ci-sort-wrap::after {
    content: '';
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background-color: #086565;
    border-radius: 50%;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 6px;
}

.ci-sort-wrap select {
    width: 100%;
    background-color: #ffffff;
    border: none;
    border-radius: 30px;
    padding: 6px 44px 6px 16px;
    font-family: Mulish, sans-serif;
    font-size: 14px;
    color: #231f20;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    height: 40px;
    outline: none;
    box-shadow: none;
    position: relative;
    z-index: 0;
}

.ci-sort-wrap select:focus {
    outline: none;
    box-shadow: none;
    border: none;
}

.ci-content-area {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
}

.ci-empty-state {
    font-family: Mulish, sans-serif;
    font-size: 14px;
    color: #086565;
    text-align: center;
    width: 100%;
}

@media (max-width: 600px) {
    .ci-index-columns {
        flex-direction: column;
    }

    .ci-folder-card,
    .ci-centre-col,
    .ci-right-col {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .ci-folder-card {
        margin-left: 0;
    }

    .ci-right-col {
        margin-right: 0;
    }
}
