/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

@font-face {
    font-family: 'icons';
    src: url('../fonts/icons/icons.eot?81317296');
    src: url('../fonts/icons/icons.eot?81317296#iefix') format('embedded-opentype'),
        url('../fonts/icons/icons.woff2?81317296') format('woff2'),
        url('../fonts/icons/icons.woff?81317296') format('woff'),
        url('../fonts/icons/icons.ttf?81317296') format('truetype'),
        url('../fonts/icons/icons.svg?81317296#icons') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; padding: 0; border: 0; border-radius: 0; margin: 0; background: none; text-align: inherit; text-decoration: none; font: inherit; color: inherit; list-style: none; outline: none;} input, button, select, textarea { -webkit-appearance: none; -moz-appearance: none;} input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none;} input[type=number] { -moz-appearance: textfield;} a, button { overflow: visible; cursor: pointer;}

:root {
    --viewport-height: 100vh;
    --vertical-margin: 50px;
    --horizontal-margin: 50px;

    --black: #06152B;
    --blue: #1E81BB;
    --azureish-white: #D4E4F4;
    --salmon: #EBA2C2;
    --av-green: #00d48d;
    --purple: #964DAF;
    --orange: #F6430E;
    --darkgrey: #6B7085;
    --grey: #B1B5C5;
    --lightgrey: #E2E4EA;
    --offwhite: #ECEEF3;
    --ghostwhite: #F5F8FE;
    --white: #FFF;
    --red: #F00;

    --error: var(--red);
    --success: var(--av-green);
}

.light-theme {
    color: black;
    --background: #F5F8FE;
    --wrapper-background: var(--white);
    --header-text-color: #6B7085;
    --account-background: #ECEEF3;
    --opacity-hover: rgba(0,0,0,.04);
    --section-border: #ECEEF3;
    --section-background: var(--wrapper-background);
    --text-color: var(--black);
    --table-hover: #F5F8FE;
    --input-border: #E2E4EA;
    --input-focus-border: var(--black);
    --select-arrow: url(../images/light-select-arrow.svg);

    --ck-color-toolbar-background: var(--background) !important;
}

.dark-theme {
    --background: #081425;
    --wrapper-background: #0a1b33;
    --header-text-color: #bdc4df;
    --account-background: var(--wrapper-background);
    --opacity-hover: rgba(255,255,255,.05);
    --section-border: #15294b;
    --section-background: #0e1e38;
    --text-color: var(--white);
    --table-hover: #12294b;
    --input-border: #274572;
    --input-focus-border: #496ea7;
    --select-arrow: url(../images/dark-select-arrow.svg);

    --ck-color-toolbar-background: var(--section-background) !important;
}

/* CK */
.app {
    --ck-color-toolbar-border: var(--input-border) !important;
    --ck-color-base-background: var(--wrapper-background) !important;
    --ck-color-base-border: var(--input-border) !important;
    --ck-border-radius: 7px !important;
    --ck-color-text: var(--text-color) !important;
    --ck-color-button-default-hover-background: var(--opacity-hover) !important;
    --ck-color-button-on-background: var(--opacity-hover) !important;
    --ck-color-button-on-hover-background: var(--opacity-hover) !important;
    --ck-color-focus-border: var(--input-focus-border) !important;
    --ck-inner-shadow: none !important;
    --ck-color-list-background: var(--wrapper-background) !important;
    --ck-color-dropdown-panel-background: var(--wrapper-background) !important;
    --ck-color-list-button-on-background: var(--blue) !important;
    --ck-color-list-button-hover-background: var(--opacity-hover) !important;
    --ck-color-dropdown-panel-border: var(--input-border) !important;
    --ck-color-input-background: var(--wrapper-background) !important;
    --ck-color-labeled-field-label-background: var(--wrapper-background) !important;
    --ck-color-input-border: var(--input-border) !important;
    --ck-focus-ring: 1px solid var(--input-focus-border) !important;
    --ck-focus-outer-shadow: none !important;
}

body {
    display: flex;
    width: 100%;
    min-height: var(--viewport-height);

    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;

    background-color: var(--background);

    font-family: 'Roboto', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--text-color);
}

.guest {
    padding: 40px;
}

.login {
    display: flex;
    width: 100%;

    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.login-logo {
    display: flex;

    margin: 0 0 40px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.login-logo-asset {
    display: block;

    margin: 0 15px 0 0;
}

.login-logo-name {
    display: block;

    margin: 15px 0 0 0;

    font-size: 1.25rem;
    font-weight: 700;
}

.login-form {
    display: block;
    width: 100%;

    padding: 40px;
    border-radius: 30px;

    background-color: var(--wrapper-background);
}

.app {
    padding: 20px 20px 20px 260px;
}

.wrapper {
    display: block;
    width: 100%;

    padding: 50px 50px;
    border-radius: 30px;

    flex: 1 1 auto;

    background-color: var(--wrapper-background);
}

.container {
    width: 100%;
    max-width: 1000px;

    margin: auto;
}

.container--medium {
    max-width: 800px;
}

.container--small {
    max-width: 500px;
}

.copyable {
    position: relative;

    cursor: pointer;
}

span.copyable::after {
    position: absolute;
    left: calc(100% + 5px);
    top: .1em;

    content: '\f24d';
    font-family: 'icons';
    font-size: .75rem;

    opacity: 0;
    transform: translateX(-5px) scale(.5);
    transform-origin: center left;
    transition: opacity .25s ease, transform .25s ease;
}

span.copyable:hover::after {
    opacity: 1;
    transform: translateX(0) scale(1);
}

.action-label {
    display: block;

    position: absolute;
    z-index: 100;

    padding: 7px 12px 6px 12px;
    border-radius: 7px;

    background-color: var(--success);

    font-size: .875rem;
    color: var(--white);

    pointer-events: none;
    transform-origin: 50% calc(100% + 6px);
    transform: translate(-50%, calc(-100% - 12px));
    animation: action-label .1s forwards;
}

.action-label::after {
    display: block;
    width: 0;
    height: 0;

    position: absolute;
    top: 100%;
    left: calc(50% - 8px);

    border-width: 6px 8px;
    border-style: solid;
    border-color: var(--success) transparent transparent transparent;

    content: '';
}

@keyframes action-label {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-100% - 12px)) scale(0);
    }

    to {
        opacity: 1;
        transform: translate(-50%, calc(-100% - 12px)) scale(1);
    }
}

/* Icons */
[class^="icon-"]:before,
[class*=" icon-"]:before {
    font-family: "icons";
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-edit:before { content: '\e800'; } /* '' */
.icon-right:before { content: '\e801'; } /* '' */
.icon-restore:before { content: '\e802'; } /* '' */
.icon-up:before { content: '\e803'; } /* '' */
.icon-user:before { content: '\f2c0'; } /* '' */
.icon-check:before { content: '\e806'; } /* '' */
.icon-search:before { content: '\e807'; } /* '' */
.icon-down:before { content: '\e808'; } /* '' */
.icon-left:before { content: '\e809'; } /* '' */
.icon-plus:before { content: '\e813'; } /* '' */
.icon-minus:before { content: '\e814'; } /* '' */
.icon-trash:before { content: '\e816'; } /* '' */
.icon-eye:before { content: '\e817'; } /* '' */
.icon-eye-off:before { content: '\e818'; } /* '' */
.icon-logout:before { content: '\e805'; } /* '' */
.icon-folder:before { content: '\f115'; } /* '' */
.icon-info:before { content: '\f097'; } /* '' */
.icon-server:before { content: '\e80d'; } /* '' */
.icon-dashboard:before { content: '\e804'; } /* '' */
.icon-lightbulb:before { content: '\e80c'; } /* '' */
.icon-moon:before { content: '\f186'; } /* '' */
.icon-sun:before { content: '\e80a'; } /* '' */
.icon-gear:before { content: '\e80b'; } /* '' */
.icon-clone:before { content: '\f24d'; } /* '' */
.icon-archive:before { content: '\e80e'; } /* '' */
.icon-generator:before { content: '\e80f'; } /* '' */
.icon-heart-empty:before { content: '\e810'; } /* '' */
.icon-heart:before { content: '\e811'; } /* '' */

/* Text */
strong,
b {
	font-weight: 700;
}

em,
i {
	font-style: italic;
}

u {
	text-decoration: underline;
}

sup,
sub {
    font-size: .5em;
    line-height: 1;
}

.h1,
.formatted h1 {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.2;
}

.h2,
.formatted h2 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
}

.h3,
.formatted h3 {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.h4,
.formatted h4 {
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
}

.h5,
.formatted h5 {
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1.2;
}

.formatted h2:not(:first-child),
.formatted h3:not(:first-child),
.formatted h4:not(:first-child) {
    margin-top: 1.875rem;
}

.formatted p:not(:first-child) {
    margin-top: 1rem;
}

.formatted a:not([class]) {
    text-decoration: underline;
    color: var(--salmon);
}

/* Images */
.media--contain,
.media--cover {
    position: relative;

    overflow: hidden;
}

.media--contain img,
.media--cover img,
.media--contain video,
.media--cover video {
    display: block;
    width: auto;
    height: auto;

    position: absolute;
    top: -10000%;
    left: -10000%;
    bottom: -10000%;
    right: -10000%;

    margin: auto;
}

.media--contain img,
.media--contain video {
    max-width: 100%;
    max-height: 100%;
}

.media--cover img,
.media--cover video {
    min-width: 1000%;
    min-height: 1000%;

	transform: scale(.1);
}

/* Sliders */
.slick-list,
.slick-track {
    display: flex;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.slick-list {
    width: 100%;

    overflow: hidden;
}

/* Buttons */
.button {
    display: inline-flex;

    position: relative;
    z-index: 1;

    padding: 13px 29px;
    border: 1px solid var(--primary);
    border-radius: 7px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;

    background-color: var(--wrapper-background);

    text-align: center;
    font-weight: 700;
    white-space: nowrap;
    color: var(--primary);

    transition: color .25s ease;
}

.button::before {
    display: block;
    width: calc(100% + 2px);
    height: calc(100% + 2px);

    position: absolute;
    top: -1px;
    left: -1px;
    z-index: -1;

    border-radius: 7px;

    background-color: var(--primary);

    content: '';

    opacity: 0;
    clip-path: circle(0% at 50% 50%);
    transition: opacity .25s ease, clip-path .25s ease;
}

.button:hover {
    color: var(--secondary);
}

.button:hover::before {
    opacity: 1;
    clip-path: circle(100% at 50% 50%);
}

.button--fullwidth {
    width: 100%;
}

.button--filled {
    background-color: var(--primary);
    color: var(--secondary);
}

.button--filled::before {
    opacity: 1;
    background-color: rgba(0,0,0,.15);
}

.button--white {
    --primary: var(--white);
    --secondary: var(--black);
}

.button--white-alt {
    --primary: var(--white);
    --secondary: var(--salmon);
}

.button--black {
    --primary: var(--black);
    --secondary: var(--white);
}

.button--orange {
    --primary: var(--salmon);
    --secondary: var(--white);
}

.button--red {
    --primary: var(--red);
    --secondary: var(--white);
}

.button--blue {
    --primary: var(--blue);
    --secondary: var(--white);
}

.button--green {
    --primary: var(--av-green);
    --secondary: var(--white);
}

.button--crimson {
    --primary: var(--av-green);
    --secondary: var(--white);
}

.button:disabled {
    opacity: .5;
    cursor: default;
}

.button-label,
.button-icon {
    display: block;
}

.button-label:not(:first-child),
.button-icon:not(:first-child) {
    margin-left: 5px;
}

.button-label:not(:last-child),
.button-icon:not(:last-child) {
    margin-right: 5px;
}

.button-icon.icon-right {
    font-size: .65em;
}

/* Header */
.header {
    display: flex;
    width: 260px;
    height: var(--viewport-height);

    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;

    padding: 40px;

    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;

    color: var(--header-text-color);
}

.header-logo {
    display: flex;

    margin: 15px 0 40px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;

    color: var(--text-color);
}

.header-logo-asset {
    display: block;

    margin: 0 15px 0 0;
}

.header-logo-name {
    display: block;

    margin: 15px 0 0 0;

    font-size: 1.25rem;
    font-weight: 700;
}

.header-nav {
    display: block;
    width: 100%;
}

.header-nav-list {
    display: block;
    width: 100%;
}

.header-nav-item {
    display: block;
    width: 100%;
}

.header-nav-item:not(:last-child) {
    margin-bottom: 5px;
}

.header-nav-link {
    display: inline-flex;
    width: calc(100% + 40px);

    padding: 15px 20px;
    border-radius: 7px;
    margin: 0 -20px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;

    transition: background-color .25s ease;
}

.header-nav-link:not(.header-nav-link--current):hover {
    background-color: var(--opacity-hover);
}

.header-nav-link--current {
    background-color: var(--av-green);

    color: var(--white);
}

.header-nav-icon {
    display: block;
    width: 1em;

    margin: 0 15px 0 0;

    text-align: center;
}

.header-nav-label {
    display: block;
}

.header-account {
    display: block;
    width: calc(100% + 40px);

    position: relative;

    padding: 5px;
    border-radius: 7px;
    margin: auto -20px -20px -20px;

    background-color: var(--account-background);
}

.header-account-wrapper {
    display: flex;
    width: 100%;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.header-account-link,
.header-account-toggle,
.header-account-theme-wrapper {
    display: flex;

    border-radius: 3px;

    flex-direction: row;
    align-items: center;

    transition: background-color .25s ease;
}

.header-account-link,
.header-account-theme-wrapper {
    width: 100%;

    padding: 10px 15px;

    justify-content: space-between;
    flex: 1 1 auto;
}

.header-account-toggle {
    min-width: calc(1.5em + 20px);
    height: calc(1.5em + 20px);

    margin: 0 0 0 5px;

    justify-content: center;
}

.header-account-toggle-icon {
    transition: transform .25s ease;
}

.header-account--opened .header-account-toggle-icon {
    transform: rotate(60deg);
}

.header-account-link:hover,
.header-account-toggle:hover,
.header-account--opened .header-account-toggle,
.header-account-theme-wrapper:hover {
    background-color: var(--opacity-hover);
}

.header-account-nav {
    display: block;
    width: 100%;

    position: absolute;
    bottom: calc(100% + 10px);
    right: 1000px;

    padding: 5px;
    border-radius: 7px;

    background-color: var(--account-background);

    opacity: 0;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, right .1ms linear .25s;
}

.header-account--opened .header-account-nav {
    right: 0;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .25s ease, transform .25s ease;
}

.header-account-nav-item {
    display: block;
    width: 100%;
}

.header-account-nav-item:not(:last-child) {
    margin-bottom: 5px;
}

.header-account-theme {
    display: block;
    width: 100%;

    position: relative;

    border-radius: 5px;

    overflow: hidden;
    cursor: pointer;
}

.header-account-theme-input {
    display: block;
    width: 0;
    height: 0;

    position: absolute;
    top: 0;
    left: 0;

    opacity: 0;
}

.header-account-theme-icon {
    display: flex;
    width: 1em;
    height: 1em;

    flex-direction: column;
    justify-content: flex-start;
    align-items: center;

    text-align: center;
    line-height: 1;

    transform-origin: 50% calc(100% + 5px);
    transition: transform .25s ease;
}

.dark-theme .header-account-theme-icon {
    transform: rotate(180deg);
}

.header-account-theme-icon::before,
.header-account-theme-icon::after {
    display: block;

    font-family: 'icons';
    font-style: normal;

    transition: opacity .25s ease;
}

.header-account-theme-icon::before {
    margin: 0 0 10px 0;

    content: '\e80a';
}

.header-account-theme-icon::after {
    content: '\f186';

    transform: rotate(180deg);
}

.dark-theme .header-account-theme-icon::before,
.light-theme .header-account-theme-icon::after {
    opacity: 0;
}

.header-account-logout {
    color: var(--red);
}

.header-nav-logout {
    display: block;
    width: 100%;
}

/* Page */
.page {
    display: block;
    width: 100%;
}

.page-header {
    display: flex;
    width: calc(100% + 100px);

    position: sticky;
    top: -1px;
    z-index: 100;

    padding: 31px 50px 30px 50px;
    margin: -31px -50px 20px -50px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;

    overflow: hidden;
}

.page-header::before {
    display: block;
    width: 100%;
    height: calc(100% + 19px);

    border-radius: 30px 30px 0 0;

    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;

    background-color: var(--wrapper-background);

    content: '';

    opacity: 0;
}

.page-header--scrolled {
    box-shadow: 0 1px 0 0 var(--section-border);
}

.page-header--scrolled::before {
    opacity: 1;
}

.page-back {
    display: flex;
    min-width: calc(1.5rem + 28px);
    height: calc(1.5rem + 28px);

    border-radius: 7px;
    margin: -14px 15px -14px -14px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    font-size: 1.25rem;
    line-height: 1;

    transition: background-color .25s ease;
}

.page-back:hover {
    background-color: var(--opacity-hover);
}

.page-actions {
    display: flex;

    margin: -15px -10px -20px auto;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.page-actions-item {
    display: block;

    margin: 0 10px 5px 0;
}

.page-actions-favorite {
    display: block;

    position: relative;
}

.page-actions-favorite-input {
    width: 0;
    height: 0;

    position: absolute;
    top: 0;
    left: 0;

    opacity: 0;
}

.page-actions-favorite-label {
    display: flex;
    min-width: calc(1.5em + 28px);
    height: calc(1.5em + 28px);

    position: relative;

    border: 1px solid var(--input-border);
    border-radius: 7px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    background-color: var(--section-background);

    cursor: pointer;
    transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}

.page-actions-favorite-label:hover {
    background-color: var(--input-border);
}

.page-actions-favorite-input:checked + .page-actions-favorite-label {
    border-color: var(--blue);
    background-color: var(--blue);
    color: var(--white);
}

.page-actions-favorite-label {
    position: relative;
}

.page-actions-favorite-label::before,
.page-actions-favorite-label::after {
    display: flex;
    width: 100%;
    height: 100%;

    position: absolute;
    top: 0;
    left: 0;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    font-family: 'icons';
    font-style: normal;
}

.page-actions-favorite-label::before {
    content: '\e810';
}

.page-actions-favorite-label::after {
    content: '\e811';

    opacity: 0;
    transform: scale(0);
    transition: opacity .25s ease, transform .1ms linear .25s;
}

.page-actions-favorite-input:checked + .page-actions-favorite-label::after {
    opacity: 1;
    transform: scale(1);
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.page-section {
    display: block;
    width: 100%;

    padding: 30px;
    border: 1px solid var(--section-border);
    border-radius: 20px;

    background-color: var(--section-background);
}

.page-section:not(:first-child) {
    margin-top: 50px;
}

.page-section:not(:last-child) {
    margin-bottom: 50px;
}

.page-section-header {
    display: flex;
    width: 100%;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.page-section-header:not(:last-child) {
    margin-bottom: 30px;
}

.page-section-subtitle {
    display: block;
    width: 100%;

    margin: 0 0 20px 0;
}

.page-section-separator {
    display: block;
    width: 100%;

    border-top: 1px solid var(--section-border);

    margin: 30px 0;
}

/* Modal */
.modal {
    display: flex;
    width: 100%;
    height: var(--viewport-height);

    position: fixed;
    top: 0;
    left: -100%;
    z-index: 1000;

    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;

    background-color: rgba(0,0,0,.5);

    opacity: 0;
    transition: opacity .5s ease, left .1ms linear .5s;
}

.modal--opened {
    left: 0;

    opacity: 1;
    transition: opacity .5s ease;
}

.modal-inner {
    display: block;
    width: 100%;
    max-width: 1000px;

    padding: 50px 40px;
    border: 1px solid var(--section-border);
    border-radius: 20px;
    margin: auto;

    background-color: var(--wrapper-background);
}

.modal-inner--small {
    max-width: 500px;
}

.modal-title {
    display: block;
    width: 100%;

    margin: 0 0 20px 0;
}

.modal-body {
    display: block;
    width: 100%;
}

.modal-footer {
    display: block;
    width: calc(100% + 80px);

    padding: 20px;
    border-radius: 0 0 20px 20px;
    margin: 30px -40px -50px -40px;

    background-color: var(--background);
}

.modal-actions {
    display: flex;

    margin: 0 -10px -5px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.modal-actions-item {
    display: block;

    margin: 0 10px 5px 0;
}

/* Floating card */
.floating-card {
    --width: 100%;
    --x: 0;
    --y: 0;

    display: block;
    width: var(--width);
    max-width: 500px;

    position: absolute;
    top: var(--y);
    left: -100%;
    z-index: 100;

    padding: 30px;
    border: 1px solid var(--section-border);
    border-radius: 20px;

    background-color: var(--section-background);

    opacity: 0;
    transform: translateY(20px);
    transition: opacity .25s ease, transform .25s ease, left .1ms linear .25s;
}

.floating-card--opened {
    left: var(--x);

    opacity: 1;
    transform: translateY(0);
    transition: opacity .25s ease, transform .25s ease;
}

/* Tables */
.table {
    display: block;
    width: 100%;

    padding: 30px;
    border: 1px solid var(--section-border);
    border-radius: 20px;

    background-color: var(--section-background);

    font-size: 1rem;
}

.table:not(:last-child) {
    margin-bottom: 40px;
}

.table-header {
    display: flex;
    width: 100%;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.table-length {
    display: flex;

    margin: 0 auto 0 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.table-length-select {
    padding: 9px 21px 9px 7px;
    border: 1px solid var(--input-border);
    border-radius: 7px;
    margin: 0 10px;

    background-image: var(--select-arrow);
    background-repeat: no-repeat;
    background-size: auto .5rem;
    background-position: calc(100% - 9px) center;

    cursor: pointer;
}

.table-length-select:focus {
    border-color: var(--input-focus-border);
}

.table-search {
    display: block;

    position: relative;
    z-index: 1;

    font-size: 0;
}

.table-search::after {
    display: block;

    position: absolute;
    top: 10px;
    right: 20px;

    content: '\e807';
    font-family: 'icons';
    font-size: 1rem;
    color: var(--grey);

    pointer-events: none;
}

.table-search-input {
    display: block;
    width: 300px;

    padding: 9px calc(1em + 38px) 9px 19px;
    border: 1px solid var(--input-border);
    border-radius: 7px;

    font-size: 1rem;
}

.table-search-input:focus {
    border-color: var(--input-focus-border);
}

.table-tabs {
    display: flex;

    padding: 3px 0 0 3px;
    border: 1px solid var(--input-border);
    border-radius: 7px;
    margin: 0 0 0 20px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: stretch;
}

.table-tabs-item {
    display: flex;

    margin: 0 3px 3px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}

.table-tabs-link {
    display: flex;

    padding: 6px 16px;
    border-radius: 5px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    transition: background-color .25s ease;
}

.table-tabs-link:not(.table-tabs-link--current):hover {
    background-color: var(--opacity-hover);
}

.table-tabs-link--current {
    background-color: var(--blue);

    color: var(--white);
}

.table-body {
    width: calc(100% + 30px);

    border-spacing: 0;
    margin: 0 -15px;
}

.table-body:not(:first-child) {
    margin-top: 10px;
}

.table-body:not(:last-child) {
    margin-bottom: 10px;
}

.table-body th,
.table-body td {
    padding: 10px 15px;

    vertical-align: middle;
}

.table-body th {
    border-radius: 7px;

    white-space: nowrap;
    font-weight: 700;
    color: var(--grey);
}

.table-body th.sorting:hover {
    background-color: var(--table-hover);
}

.table-body th:empty {
    visibility: hidden;
}

.table-body td {
    height: calc(1.5em + 16px + 20px);
}

.table-body tbody td:first-child {
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
}

.table-body tbody td:last-child {
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
}

.table-body tbody tr:hover td {
    background-color: var(--table-hover);
}

.table-min {
    width: 1% !important;
}

.table-body .table-checkbox {
    max-width: calc(1.25rem + 15px);
    padding-right: 0;

    text-align: center;
}

.table-body a:not([class]):hover {
    text-decoration-line: underline;
}

.table-actions {
    display: flex;
    width: calc(100% + 10px);

    margin: -2px -8px -7px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.table-actions-item {
    display: block;
    margin: 0 8px 5px 0;
}

.table-actions-button,
.table-actions-favorite-label {
    display: flex;
    min-width: calc(1.5em + 20px);
    height: calc(1.5em + 20px);

    border: 1px solid var(--input-border);
    border-radius: 7px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    background-color: var(--section-background);

    opacity: 0;
    cursor: pointer;
    transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}

.table-actions-button:hover,
.table-actions-favorite-label:hover {
    background-color: var(--input-border);
}

.table-actions-favorite-input:checked + .table-actions-favorite-label {
    border-color: var(--blue);
    background-color: var(--blue);
    color: var(--white);
}

tr:hover .table-actions-button,
tr:hover .table-actions-favorite-label,
.table-actions-favorite-input:checked + .table-actions-favorite-label {
    opacity: 1;
}

.table-actions-favorite {
    display: block;

    position: relative;
}

.table-actions-favorite-input {
    width: 0;
    height: 0;

    position: absolute;
    top: 0;
    left: 0;

    opacity: 0;
}

.table-actions-favorite-label {
    position: relative;
}

.table-actions-favorite-label::before,
.table-actions-favorite-label::after {
    display: flex;
    width: 100%;
    height: 100%;

    position: absolute;
    top: 0;
    left: 0;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    font-family: 'icons';
    font-style: normal;
}

.table-actions-favorite-label::before {
    content: '\e810';
}

.table-actions-favorite-label::after {
    content: '\e811';

    opacity: 0;
    transform: scale(0);
    transition: opacity .25s ease, transform .1ms linear .25s;
}

.table-actions-favorite-input:checked + .table-actions-favorite-label::after {
    opacity: 1;
    transform: scale(1);
    transition: transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Datatables */
.dataTables_wrapper {
    display: flex;

    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.dataTables_length {
    display: none;
}

.dataTables_length label {
    display: flex;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
}

.dataTables_length select {
    padding: 9px 21px 9px 7px;
    border: 1px solid var(--input-border);
    border-radius: 7px;
    margin: 0 10px;

    background-image: var(--select-arrow);
    background-repeat: no-repeat;
    background-size: auto .5rem;
    background-position: calc(100% - 9px) center;
}

.dataTables_filter {
    display: none;
}

.dataTables_filter label {
    display: block;

    position: relative;
    z-index: 1;

    font-size: 0;
}

.dataTables_filter label::after {
    display: block;

    position: absolute;
    top: 10px;
    right: 20px;

    content: '\e802';
    font-family: 'icons';
    font-size: 1rem;
    color: var(--grey);

    pointer-events: none;
}

.dataTables_filter input {
    display: block;
    width: 300px;

    padding: 9px calc(1em + 38px) 9px 19px;
    border: 1px solid var(--input-border);
    border-radius: 7px;

    font-size: 1rem;
}

.table .sorting {
    padding-right: 27px;
    background-repeat: no-repeat;
    background-size: 7px auto;
    background-position: right 10px top 50%;

    cursor: pointer;
}

.table .sorting_asc {
    background-image: url(../images/sorting-asc.svg);
}

.table .sorting_desc {
    background-image: url(../images/sorting-desc.svg);
}

.dataTables_paginate {
    display: flex;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.dataTables_paginate > span {
    display: flex;

    margin: 0 20px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.dataTables_paginate .ellipsis {
    display: inline-flex;
    min-width: calc(1.5em + 20px);

    padding: 9px 14px;
    border: 1px solid var(--input-border);
    margin-left: -1px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.paginate_button {
    display: inline-flex;
    min-width: calc(1.5em + 20px);

    padding: 9px 14px;
    border: 1px solid var(--input-border);
    border-radius: 7px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    transition: background-color .25s ease, color .25s ease;
}

.paginate_button.disabled {
    opacity: .5;
    cursor: default;
}

.paginate_button.current {
    position: relative;
    z-index: 1;

    border-color: transparent;

    background-color: var(--blue);
    color: var(--white);
}

.paginate_button:not(.current):not(.disabled):hover {
    background-color: var(--opacity-hover);
}

.dataTables_paginate span .paginate_button:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left: -1px;
}

.dataTables_paginate span .paginate_button:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Forms */
.form {
    display: block;
    width: 100%;

    font-size: .875rem;
}

.form:not(:last-child) {
    margin-bottom: var(--vertical-margin);
}

/* .form--medium {
    max-width: 1000px;
} */

.form--small {
    max-width: 600px;
}

.form-header:not(:first-child),
.form-title:not(:first-child),
.form-text:not(:first-child) {
    margin-top: 20px;
}

.form-header:not(:last-child),
.form-title:not(:last-child),
.form-text:not(:last-child) {
    margin-bottom: 20px;
}

.form-header {
    display: flex;
    width: 100%;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

.form-title {
    display: block;
    width: 100%;
}

.form-title + .form-text {
    margin-top: -10px;
}

.form-section {
    display: block;
    width: 100%;
}

.form-section:not(:first-child) {
    margin-top: 50px;
}

.form-section:not(:last-child) {
    margin-bottom: 50px;
}

.form-group {
    --width: 100%;

    display: flex;
    width: calc(100% + 40px);

    margin: 0 -40px -20px 0;

    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.form-group + .form-group {
    margin-top: 20px;
}

.form-group--line {
    flex-wrap: nowrap;
}

.form-item {
    display: block;
    width: calc(var(--width) - 40px);

    position: relative;

    margin: 0 40px 20px 0;
}

.form-item--6 {
    --width: 50%;
}

.form-item--4 {
    --width: calc(100% / 3);
}

.form-item--3 {
    --width: 25%;
}

.form-item--auto {
    --width: auto;
}

.form-label {
    display: block;

    font-weight: 500;
}

.form-info {
    display: block;
    width: 100%;

    color: var(--grey);
}

.form-label + .form-info {
    margin-top: -10px;
}

.form-value {
    display: block;

    font-weight: 700;
}

.form-value--empty {
    font-weight: 500;
    color: var(--grey);
}

.form-optional {
    font-size: .75rem;
    color: var(--salmon);
}

.form-input,
.form-select,
.form-file,
.form-textarea {
    display: flex;
    width: 100%;
    min-height: calc(1.5em + 30px);

    padding: 14px 19px;
    border: 1px solid var(--input-border);
    border-radius: 7px;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;

    font-weight: 600;
}

.form-input:disabled,
.form-select:disabled,
.form-textarea:disabled {
    color: var(--grey);
}

.form-input::-webkit-input-placeholder,
.form-textarea::-webkit-input-placeholder {
    font-weight: 400;
    color: var(--grey);
}

.form-input::-moz-placeholder,
.form-textarea::-moz-placeholder {
    font-weight: 400;
    color: var(--grey);
}

.form-input:-ms-input-placeholder,
.form-textarea:-ms-input-placeholder {
    font-weight: 400;
    color: var(--grey);
}

.form-input:-moz-placeholder,
.form-textarea:-moz-placeholder {
    font-weight: 400;
    color: var(--grey);
}

.form-select {
    background-image: var(--select-arrow);
    background-repeat: no-repeat;
    background-size: auto .75rem;
    background-position: calc(100% - 20px) center;

    cursor: pointer;
}

.form-select[multiple] {
    max-height: calc(1.5em + 20px);
}

.form-textarea {
    height: calc((1.5em * 7) + 32px);

    resize: vertical;
}

.form-label:not(:first-child),
.form-input:not(:first-child),
.form-select:not(:first-child),
.form-file:not(:first-child),
.form-textarea:not(:first-child) {
    margin-top: 10px;
}

.form-label:not(:last-child),
.form-input:not(:last-child),
.form-select:not(:last-child),
.form-file:not(:last-child),
.form-textarea:not(:last-child) {
    margin-bottom: 10px;
}

.form-input:not(:read-only):focus,
.form-select:focus,
.form-checkbox-input:focus,
.form-radio-input:focus {
    border-color: var(--input-focus-border);
}

.form-checkbox,
.form-radio {
    display: inline-flex;
    max-width: 100%;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.form-checkbox-input,
.form-radio-input {
    display: flex;
    width: 1.25rem;
    min-width: 1.25rem;
    height: 1.25rem;

    border: 1px solid var(--input-border);
    border-radius: 5px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    /* background-color: var(--wrapper-background); */

    cursor: pointer;
}

.form-checkbox-input:not(:last-child),
.form-radio-input:not(:last-child) {
    margin: 0 .625rem 0 0;
}

.form-checkbox-input::before {
    content: '\e806';
    text-indent: .05rem;
    font-family: 'icons';
    font-size: .75rem;
    line-height: 1;
    color: transparent;
}

.form-checkbox-input:checked::before {
    color: inherit;
}

.form-radio-input {
    border-radius: 100%;
}

.form-radio-input:checked {
    background-color: var(--blue);
    box-shadow: inset 0 0 0 3px var(--white);
}

.form-file {
    position: relative;
}

.form-file-name {
    display: block;
}

.form-file-name:empty::before {
    content: attr(data-placeholder);
}

.form-file-input {
    display: block;
    width: 100%;
    height: 100%;

    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    opacity: 0;
}

.form-submit {
    width: 100%;
}

.form-separator {
    display: block;
    width: 100%;

    border-top: 1px solid var(--section-border);
    margin: 30px 0;
}

.form-link {
    text-decoration: underline;
    color: var(--blue);
}

.form-footer {
    display: flex;
    width: 100%;

    margin: 40px 0 0 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.form-alert {
    display: block;
    width: 100%;

    padding: 15px 25px;
    border-radius: 7px;
}

.form-alert:not(:first-child) {
    margin-top: 20px;
}

.form-alert:not(:last-child) {
    margin-bottom: 20px;
}

.form-alert--error {
    background-color: var(--error);
    color: var(--white);
}

.form-alert--success {
    background-color: var(--success);
    color: var(--white);
}

.form-item-wrapper {
    display: block;
    width: 100%;

    position: relative;
}

.form-input--has-actions:not(:last-child) {
    margin-bottom: 0;
}

.form-input--has-actions:nth-last-child(2) {
    padding-right: calc((1.5em + 20px) + 9px);
}

.form-input--has-actions:nth-last-child(3) {
    padding-right: calc(2 * (1.5em + 20px) + 14px);
}

.form-action {
    display: flex;
    width: calc(1.5em + 20px);
    height: calc(1.5em + 20px);

    position: absolute;
    top: 5px;
    z-index: 1;

    border-radius: 5px;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    transition: background-color .25s ease;
}

.form-action:hover {
    background-color: var(--opacity-hover);
}

.form-action:nth-last-child(1) {
    right: 6px;
}

.form-action:nth-last-child(2) {
    right: calc(1.5em + 20px + 11px);
}

.form-action[data-action="toggle-password"]::before {
    font-family: 'icons';
}

[type="password"] ~ .form-action[data-action="toggle-password"]::before {
    content: '\e817';
}

[type="text"] ~ .form-action[data-action="toggle-password"]::before {
    content: '\e818';
}

.repeatable {
    display: block;
    width: 100%;
}

.repeatable-body {
    display: block;
    width: 100%;
}

.repeatable-body:not(:empty) {
    margin-top: 30px;
}

.repeatable-footer {
    display: flex;

    margin: 30px 0 0 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
}

.repeatable-section {
    display: block;
    width: 100%;

    padding: 30px;
    border: 1px solid var(--section-border);
    border-radius: 20px;

    background-color: var(--section-background);
}

.repeatable-section:not(:last-child) {
    margin-bottom: 20px;
}

.repeatable-section-header {
    display: flex;
    width: 100%;
    min-height: calc(1.5em + 10px);

    margin: 0 0 20px 0;

    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

.repeatable-section-remove {
    display: flex;
    width: calc(1.5em + 20px);
    height: calc(1.5em + 20px);

    border-radius: 7px;
    margin: -10px 0;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    background-color: var(--red);

    color: var(--white);
}

.repeatable--min .repeatable-section-remove {
    display: none;
}

/* Dashboard */
.dashboard {
    display: flex;
    width: calc(100% + 40px);

    margin: 0 -40px -40px 0;

    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.dashboard-section {
    display: flex;
    width: calc(25% - 40px);

    padding: 30px;
    border-radius: 20px;
    margin: 0 40px 40px 0;

    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;

    background-color: var(--primary);

    color: var(--black);

    transition: box-shadow .25s ease;
}

.dashboard-section--blue {
    --primary: var(--blue);
}

.dashboard-section--crimson {
    --primary: var(--av-green);
}

.dashboard-section--orange {
    --primary: var(--salmon);
}

.dashboard-section--purple {
    --primary: var(--azureish-white);
}

.dashboard-section:hover {
    box-shadow: 0 5px 30px var(--primary);
}

.dashboard-section-icon {
    display: flex;
    width: calc(1.5em + 25px);
    height: calc(1.5em + 25px);

    border-radius: 100%;
    margin: 0 0 10px auto;

    flex-direction: row;
    justify-content: center;
    align-items: center;

    font-size: 1.25rem;
    line-height: 1;

    background-color: rgba(255,255,255,.5);
}

.dashboard-section-icon.icon-folder {
    text-indent: .2em;
}

.dashboard-section-number {
    display: block;
    width: 100%;

    font-size: 60px;
    font-weight: 700;
    line-height: 1;
}

.dashboard-section-title {
    display: block;
    width: 100%;

    font-size: 1.5rem;
}

.grecaptcha-badge{
	visibility: collapse !important;
}
