/* Global settings */

:root {
    --theme: #87c832;
    --theme-filter: brightness(0) saturate(100%) invert(78%) sepia(40%) saturate(807%) hue-rotate(34deg) brightness(90%) contrast(84%);
    --theme-selected: #88d91e;
    --theme-disabled: rgba(135, 200, 50, 0.6);
    --theme-hover: rgba(135, 200, 50, 0.6);

    --elem-dark-primary: #656565;
    --elem-dark-secondary: #4f4f4f;
    --elem-dark-third: #282828;
    --elem-dark-fourth: #313131;
    --elem-dark-border: #484848;
    --elem-dark-font: #b9b9b9;

    --elem-light-primary: #e1e1e1;
    --elem-light-secondary: #bdbdbd;
    --elem-light-secondary-filter: invert(98%) sepia(0%) saturate(1035%) hue-rotate(157deg) brightness(80%) contrast(84%);
    --elem-light-third: #a1a1a1;
    --elem-light-border: #b9b9b9;
    --elem-light-hover: rgba(60, 60, 60, 0.26);

    --validation-error-color: #ff3333;
    --error-color: #b50e0e;
    --warning-color: #e18800;
    --success-color: #20a36b;
    --info-color: #005dc1;
    --popup: #595959; /* #474747 */

    --facebook-color: #4267B2;
    --phone-color: #3a7c43;
    --mail-color: #ea4335;
    --location-color: #debb2e;
    --nip-color: #3a7c70;

    --bg: rgba(60, 60, 60, 0.48);

    --nav-height: 77px; /* 77    54 */
    --max-width: 1680px;
    --sidebar-width: 302px;
    --footer-height: 200px;
    --background: #3D3D3D;
    background: #3D3D3D;
    box-sizing: border-box;
}

@font-face {
    font-family: Lato-light;
    font-display: swap;
    src: url('fonts/Lato/Lato-Light.ttf')
}

@font-face {
    font-family: Lato;
    font-display: swap;
    src: url('fonts/Lato/Lato-Regular.ttf')
}

@font-face {
    font-family: Lato-medium;
    font-display: swap;
    src: url('fonts/Lato/Lato-Medium.ttf')
}

@font-face {
    font-family: Lato-bold;
    font-display: swap;
    src: url('fonts/Lato/Lato-Bold.ttf')
}

::selection {
    background: var(--theme);
    color: var(--elem-light-primary);
}

::placeholder {
    color: #999!important;
    font-weight: 400;
    font-size: 16px;
    font-family: Lato, sans-serif;
}

/* scrollbar */

::-webkit-scrollbar {
    width: 7px;
}

.scrollbar-thin {
    scrollbar-width: thin;
}

::-webkit-scrollbar-track {
    background: var(--elem-dark-border);
    border-radius:5px
}

::-webkit-scrollbar-thumb {
    background: var(--elem-dark-primary);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--elem-dark-primary);
}

body {
    padding: 0;
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    color: var(--elem-light-secondary);
    font-family: Lato, sans-serif;
}

a,
a:visited {
    color: var(--elem-light-secondary);
    vertical-align: middle;
    text-decoration: none;
    transition: 200ms background-color, 200ms border, 200ms color;
}

/* Inputs, Labels, Form rows, Submit buttons */

label {
    display: block;
    white-space: nowrap;
    text-align: left;
    width: max-content;
    font-family: Lato-bold, sans-serif;
    padding-bottom: 3px;
}

input:not(.input-icon),
button,
select,
textarea {
    margin: 0;
    border-radius: 5px;
    font-family: Lato, sans-serif;
    color: var(--elem-light-secondary);
    font-size: 16px;
    background-color: transparent;
    border: 1px solid var(--elem-dark-primary);
    box-sizing: border-box;
    padding: 10px;
    transition: 100ms;
    white-space: normal;
    -webkit-appearance: button;
    -moz-appearance: button;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--elem-light-border);
    outline: none;
}

input.primary,
input[type=submit],
button.primary,
button[type=submit] {
    color: var(--background);
    background: var(--elem-light-third);
    border: 1px solid var(--elem-light-third);
    font-family: Lato-bold, sans-serif;
}

input[type=button],
input.primary,
input[type=submit],
button.primary,
button[type=submit] {
    cursor: pointer;
    line-height: 1;
    padding-left: 30px;
    padding-right: 30px;
    transition: background-color 250ms ease-in-out, border-color 250ms ease-in-out, font-weight 250ms ease-in-out, color 250ms ease-in-out, fill 250ms ease-in-out!important;
}

input.primary:hover,
input.primary:hover svg,
input[type=submit]:hover,
input[type=submit]:hover svg,
button.primary:hover,
button.primary:hover svg path,
button[type=submit]:hover,
button[type=submit]:hover svg,
input[type=button]:hover {
    background: var(--theme);
    border-color: var(--theme);
    color: var(--background);
    font-family: Lato-bold, sans-serif;
    fill: var(--elem-light-primary);
}

input[type=searchbox] {
    height: 70px;
    line-height: 2;
    font-size: 30px;
    padding-left: 52px;
    border: none;
    background: var(--background)
}



input[type=searchbox]::placeholder {
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 25px
}

input.input-icon {
    color: transparent;
    border: none;
    cursor: pointer;
    z-index: -5;
}

input::-webkit-outer-spin-button, /* Chrome, Safari, Edge, Opera */
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] { /* Firefox */
  -moz-appearance: textfield;
}

button.button-icon {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%!important;
    padding: 5px 15px!important;
}

button.button-icon svg {
    height: 28px;
    width: 28px;
    fill: var(--elem-dark-primary)
}

.bootstrap-filestyle > input {
    padding-left: 100px!important;
}

.filedrag {
    width: auto!important;
}

.normal-height {
    height: fit-content!important;
}

.buttonText {
    color: var(--elem-light-primary);
    position: relative;
    background: var(--elem-dark-primary);
    bottom: 27px;
    padding: 10px;
    font-size: 95%;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    cursor: pointer;
    transition: 200ms;
}

.buttonText:hover {
    background-color: var(--theme);
    color: #fff;
}

label.btn.btn-secondary {
    position: absolute;
    width: 100px;
}

:focus-visible {
    outline: none
}

/* Checkbox */

.theme-checkbox {
    position: absolute;
    overflow: hidden;
    clip: rect(0 0 0 0);
    height: 1px;
    width: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
}

.theme-checkbox + label {
    position: relative;
    font-size: 15px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    height: 20px;
    color: var(--elem-light-secondary);
}

.theme-checkbox + label:before {
    content: " ";
    display: inline-block;
    vertical-align: middle;
    margin-right: 6px;
    width: 20px;
    height: 20px;
    background-color: var(--elem-light-secondary);
    border-radius: 5px;
}

.theme-checkbox:checked + label:after {
    background-color: var(--theme);
    content: " ";
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTczLjg5OCA0MzkuNDA0bC0xNjYuNC0xNjYuNGMtOS45OTctOS45OTctOS45OTctMjYuMjA2IDAtMzYuMjA0bDM2LjIwMy0zNi4yMDRjOS45OTctOS45OTggMjYuMjA3LTkuOTk4IDM2LjIwNCAwTDE5MiAzMTIuNjkgNDMyLjA5NSA3Mi41OTZjOS45OTctOS45OTcgMjYuMjA3LTkuOTk3IDM2LjIwNCAwbDM2LjIwMyAzNi4yMDRjOS45OTcgOS45OTcgOS45OTcgMjYuMjA2IDAgMzYuMjA0bC0yOTQuNCAyOTQuNDAxYy05Ljk5OCA5Ljk5Ny0yNi4yMDcgOS45OTctMzYuMjA0LS4wMDF6Ii8+PC9zdmc+");
    background-repeat: no-repeat;
    background-size: 14px 14px;
    background-position: center center;
    border-radius: 5px;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 0;
    left: 0;
    top: 0;
    text-align: center;
    font-size: 10px;
    height: 20px;
    width: 21px;
}

.theme-checkbox:disabled + label:before {
    cursor: not-allowed;
    background-color: var(--elem-dark-primary);
}

.theme-checkbox:disabled:checked + label:after {
    cursor: not-allowed;
    background-color: var(--theme-hover)
}

.theme-checkbox+label > span {
    padding-top: 3px;
}

/* Navbar and footer*/

nav,
nav > div > a,
nav > div > a:visited,
nav > div > div > a,
nav > div > div > a:visited,
nav > div > div > ul  a,
nav > div > div > ul a:visited,
footer,
footer a,
footer a:visited {
    color: var(--elem-dark-font);
}

#navbar {
    font-size: 15px;
    height: var(--nav-height);
    background: var(--elem-dark-third);
    margin: 0;
    left: 0;
    top: 0;
    z-index: 104;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-height: 100vh;
}


#navbar > .navbar-block > div {
    margin: 0 15px 0 15px;
}

#foobar {
    background: var(--elem-dark-third);
    color: var(--elem-dark-font);
    z-index: 98;
    padding-top: 20px;
    padding-bottom: 20px;
    bottom: 0;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

#foobar p {
    margin: 5px 0;
}

#foobar svg {
    fill: var(--elem-dark-font)
}

/* Navbar - Logo */

#navbar-block_logo svg {
    top: 2px;
    position: relative;
}

#navbar-block_logo svg {
    fill: var(--elem-light-primary);
    transition: 200ms;
    height: 52px!important;
}

#navbar-block_logo path {
    transition: 200ms;
}

#navbar-block_logo svg:hover {
    fill: var(--theme)
}

#navbar-block_logo svg:hover > path {
    fill: var(--elem-light-primary)
}

/* Navbar - Items */

#navbar-block_items {
    font-size: 105%;
    display: flex;
    font-family: Lato-bold, sans-serif;;
}

#navbar-block_items a {
    padding: 5px 15px 5px 15px;
    transition: 400ms color;
}

#navbar-block_items a:hover {
    color: var(--theme)
}

/* Navbar - Menu */

#navbar-block_menu {
    position: relative;
}

#navbar-block_menu > svg {
    width: 42px;
    height: 42px;
    transition: fill 400ms;
    cursor: pointer;
    border-radius: 5px;
}

ul.navmenu svg,
ul.navmenu img {
    padding-right: 5px;
    height: 18px;
    width: 18px;
    position: relative;
    top: 2px;
}

ul.navmenu img {
    height: 32px;
    width: 32px;
    top: 0;
    border-radius: 100%!important;
}

ul.navmenu p {
    display: inline;
    margin: 0;
}

ul.navmenu {
    position: fixed;
    background: var(--elem-dark-third);
    border-radius: 6px;
    margin: 0;
    z-index: 104;
    list-style: none;
    top: calc(9px + var(--nav-height));
    right: 12px;
    padding: 0;
    transition: left 500ms ease-in-out
}

ul.navmenu li {
    border-bottom: 1px solid var(--elem-dark-border);
    padding: 10px 20px 10px 10px;
    display: flex;
    font-size: 105%;
    transition: 200ms;
    margin-left: 0;
}

ul.navmenu.mobile {
    position: fixed;
    height: 100vh;
    width: 75%;
    top: 0;
    left: -65%;
    opacity: 0.95;
}

ul.navmenu.mobile li {
    padding-left: 15px;
    font-weight: 500;
    font-size: 110%;
    line-height: 2
}

ul.navmenu.mobile li a {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0
}

ul.navmenu.desktop::after {
    content: "";
    position: absolute;
    top: -20px;
    right: 15px;
    border-width: 10px;
    border-style: solid;
    border-color: transparent transparent var(--elem-dark-third);
}

ul.navmenu li.navmenu-separator {
    border-bottom: none
}

ul.navmenu .navmenu_user p {
    line-height: 2.06;
    padding-left: 5px;
    font-weight: 500;
}

ul.navmenu .navmenu-lang {
    display: flex!important;
    gap: 5px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

ul.navmenu.desktop li:first-child {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

ul.navmenu.desktop li:nth-last-child(1) {
    border-bottom: none;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}



ul.navmenu li:hover:not(.navmenu-no-action):not(.navmenu-separator) {
    cursor: pointer;
    background: var(--elem-dark-secondary)
}

/* Navbar - Login */

#navbar-block_login > a {
    display: flex;
    align-items: center;
}

#navbar-block_login a:before {
    padding-right: 5px;
    content: '';
    width: 28px;
    height: 28px;
    background-repeat: no-repeat;
    background-image: url('../img/svg/log-in.svg');
}

/* Content page */

#content-page {
    flex: 1
}

.content-page_block {
    padding: 20px 40px 20px 40px;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
}

.horizontal-separator {
    height: 1px;
    background: var(--elem-light-border);
    display: block;
    margin: 15px auto 15px auto;
    max-width: var(--max-width);
}

.header-horizontal-separator {
    height: 2px;
}

#content-page_center-header {
    padding: 35px 40px 15px 40px;
}

#content-page_center-header > h1 {
    flex-basis: 100%;
    text-align: center;
    margin: 0
}

.sidebar-container {
    display: grid;
    gap: 20px;
    grid-template-columns: 100%;
}

.sidebar-container:has(input[type=checkbox]) {
    grid-template-columns: 26% 74%;
}

.sidebar-container > div:first-child {
    grid-column: 1/-1
}

#content-page > h1 {
    margin: 0 0 5px 0;
    font-size: 24px;
    padding-bottom: 7px;
}

#content-page_header {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    padding-bottom: 20px;
    align-items: center;
    gap: 25px;
    border-bottom: 2px solid var(--elem-light-border)
}

.category_header h1,
#content-page_header h1 {
    margin: 0;
    font-size: 20px;
    display: flex;
    gap: 5px;
    align-items: center
}

#content-page_header-block {
    display: flex;
    align-items: center;
}

#content-page_header-block:not(:first-child) {
    padding-left: 15px;
}

#content-page_main-content {
    flex: 1 0 65%
}

.content-page_main-block {
    padding: 20px;
    background-color: var(--elem-dark-border);
}

div.content-page_main-block:last-of-type {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-bottom: 10px
}

div.content-page_main-block:first-of-type {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.content-page_main-block:not(:first-child) {
    border-top: 1px solid var(--elem-dark-primary)
}

#content-page_sidebar {
    align-self: flex-start;
    border-radius: 10px;
    top: calc(var(--nav-height) + 20px);
}

#content-page_sidebar::-webkit-scrollbar {
    width: 5px;
}

.filter-block {
    background-color: var(--elem-dark-border);
    padding: 25px;
    border-radius: 10px;
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.filter-block .filter-fields {
    overflow-x: hidden;
    max-height: 60vh;
    overflow-y: scroll;
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    gap: 25px;
}

.content-page_sidebar-block h3 {
    margin-bottom: 15px;
    font-size: 19px
}

.content-page_main-block > h3 {
    margin: 0;
    font-size: 24px;
}

.content-page_sidebar-block h3:first-child {
    margin-top: 0
}

.content-page_sidebar-item {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 15px
}

#pagination-block {
    padding: 20px 20px 20px 20px!important;
    border-top: none!important;
    display: flex;
    justify-content: flex-end;
    gap: 5px
}

.pagination_item {
    text-align: center;
    border: 1px solid var(--elem-dark-primary);
    padding: 10px;
    border-radius: 5px;
    width: 15px;
    height: 15px;
    transition: background-color 300ms
}

div.pagination_item:hover {
    cursor: pointer;
    background-color: var(--elem-dark-primary)
}

div.pagination_item.current:hover {
    cursor: default;
}

.pagination_item.current {
    background-color: var(--elem-dark-primary);
    font-family: Lato-bold, sans-serif
}

.pagination_input {
    text-align: center;
    width: 37px;
    height: 37px
}

/* Messages, Communicates, Error, Success, Warning */

.message-container {
    top: 0;
    left: 50%;
    width: 450px;
    padding-left: 0;
    margin-left: -225px;
    position: fixed;
    z-index: 103;
    font-size: 15px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#old-messages {
    z-index: -1!important;
}

.message {
    padding: 20px 20px 15px 15px;
    color: var(--elem-light-primary);
    background: var(--popup);
    max-width: 450px;
    border-radius: 5px;
    display: flex;
    align-items: center;
    overflow: hidden;
    position: relative;
    top: 75px;
    min-height: 40px;
    animation: grow 0.4s ease-in-out;
    -webkit-box-shadow: 0 0 35px -9px rgba(30, 30, 30, 1);
    -moz-box-shadow: 0 0 35px -9px rgba(30, 30, 30, 1);
    box-shadow: 0 0 35px -9px rgba(30, 30, 30, 1);
}

h4.message-title {
    margin: 0;
    padding-bottom: 5px;
}

.message-items li {
    list-style-type: disc;
    margin-left: 15px;
}

@keyframes grow {
  0% {
    top: -250px;
  }
  100% {
    top: 75px;
  }
}

.message ul {
    list-style: none;
    padding-left: 5px
}

.message:before {
    content: '';
    margin-right: 10px;
    min-width: 30px;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
}

.message a {
    font-family: Lato-bold, sans-serif;
}

.message p {
    margin: 0
}

.error:before {
    background-image: url('../img/svg/error.svg');
}

.warning:before {
    background-image: url('../img/svg/warning.svg');
}

.success:before {
    background-image: url('../img/svg/success.svg');
}

.info:before {
    background-image: url('../img/svg/info.svg');
}

.close-msg {
    position: absolute;
    right: 15px;
    top: 7px;
    width: 14px;
    height: 14px;
    opacity: 0.5;
}

.close-msg:hover {
    opacity: 1;
    cursor: pointer;
}

.close-msg:before,
.close-msg:after {
    position: absolute;
    left: 15px;
    content: ' ';
    height: 14px;
    width: 2px;
    border-radius: 25px;
    background-color: var(--elem-light-primary);
}

.close-msg:before {
    transform: rotate(45deg);
}

.close-msg:after {
    transform: rotate(-45deg);
}


/* Classes */

.non-scrollable {
  overflow: hidden;
}

div:has(> div.center:only-child) {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.full-width {
    width: 100vw;
    max-width: 100%;
    padding-left: 0!important;
    padding-right: 0!important;
    margin-left: 0!important;
    margin-right: 0!important
}

.no-padding {
    padding: 0!important;
}

.modal-blocks > div {
    position: fixed;
    padding: 30px 50px 50px 50px;
    background: var(--elem-light-primary);
    z-index: 102;
    display: none;
}

.modal-block {
    padding: 100px 0 100px 0;
}

.modal-block,
.modal-block > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 5px;
}

.http-modal-block_error {
    margin: 80px auto 80px auto;
    display: flex;
    flex-direction: column;
    align-items:center;
}

.http-modal-block_error h1 {
    font-size: 60px!important;
    margin: 0!important;
}
.http-modal-block_error p {
    padding-top: 10px;
    margin: 0;
    font-size: 40px
}

.http-modal-block_error p.description {
    font-size: 95%
}

.overflow-hidden {
    overflow-x: hidden!important;
    overflow-y: hidden!important;
}

.modal-block input[type=submit] {
    width: 100%;
}

.modal-block p.footer {
    text-align: center;
    font-size: 75%;
    margin-top: 35px;
    line-height: 2;
    color: var(--elem-dark-primary);
    border-top: 1px solid var(--elem-dark-primary);
    width: inherit;
}

.modal-block a.link {
    text-align: center;
    font-weight: 500;
    margin: 0 auto;
    width: max-content;
    border-radius: 5px;
    transition: 300ms background-color;
    padding: 10px 15px;
}

.modal-block a.link:hover {
    background-color: var(--elem-dark-primary);
    color: var(--elem-light-primary)
}

.modal-block h2 {
    border-bottom: 1px solid var(--elem-light-border);
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.icon {
    fill: var(--elem-light-primary);
    transition: 150ms;
}

.dark {
    fill: var(--elem-dark-primary);
}

.arrow-left:before {
    background-image: url('../img/svg/arrow-left.svg');
}

.arrow-right:before {
    background-image: url('../img/svg/arrow-right.svg');
}

.navbar-block {
    display: flex;
    align-items: center;
}

.foobar-block {
    text-align: center;
    flex: 1 1 0;
    padding: 5px 30px 5px 30px;
    display: flex;
    align-items: center;
    flex-direction: column;
}

#foobar > .foobar-block:nth-child(2) {
    width: 0;
    display: block;
    align-self: flex-end;
    flex: auto
}

.foobar-block p {
    padding: 5px 0 5px 0;
}

.foobar_privacy-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    padding-bottom: 10px;
}

.label-view {
    border-radius: 4px;
    font-size: 90%;
    color: var(--elem-light-primary);
    padding: 3px 6px 3px 6px;
    margin-right: 5px;
    display: initial;
    background: var(--elem-dark-primary);
}

.sticky {
    position: -webkit-sticky;
	position: -moz-sticky;
	position: -o-sticky;
	position: sticky;
}

.author {
    font-size: 90%;
}

.passed {
    margin-left: 0!important;
}

.sidebar-transition {
    transition: visibility 0.3s, margin 0.3s;
}

.passed-width {
    margin-left: calc(300px + 20px)!important;
}

.description {
    font-size: 80%;
    padding-top: 3px;
    color: var(--elem-light-secondary);
}

.form .description ul {
    list-style: none;
    margin-bottom: 0
}

.form-field {
    padding: 10px 0;
}

.form-field input,
.form-field textarea {
    transition: 300ms border-color, 300ms background-color;
}

.form-field input[invalid],
.form-field textarea[invalid] {
    border-color: var(--validation-error-color)!important
}

.validation-info {
    display: flex;
    align-items: flex-start;
    text-align: left;
    padding-top: 5px;
    font-size: 90%;
    color: var(--validation-error-color);
}

.short-field input,
.short-field select,
.short-field textarea,
.short-short .django-quill-widget-container{
    width: 300px;
}

.medium-short-field input,
.medium-short-field select,
.medium-short-field textarea,
.medium-short .django-quill-widget-container {
    width: 450px;
}

.medium-field input,
.medium-field select,
.medium-field textarea,
.medium-field .django-quill-widget-container {
    width: 550px;
}

.long-field input,
.long-field select,
.long-field textarea,
.long-field .django-quill-widget-container {
    width: 750px
}

.very-long-field input,
.very-long-field select,
.very-long-field textarea,
.very-long-field .django-quill-widget-container {
    width: 850px;
}

.full-width-field,
.full-width-field input,
.full-width-field select,
.full-width-field textarea,
.full-width-field .django-quill-widget-container {
    width: 100%;
    box-sizing: border-box;
}

.form textarea {
    max-width: 100%!important;
    width: 100%!important;
    min-width: 60%!important;
    min-height: 34px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.form-field-group {
    display: flex;
    justify-content: space-between;
    gap: 10px
}

.required label:after {
    content: '*';
    padding-left: 1px;
    color: #e00000;
}

.select-option-icon {
    width: 20px;
    height: 20px;
    padding-right: 5px;
    position: relative;
    top: 4px;
}

.select-option-text {
    margin: 0;
    display: inline;
}

.field-full_transition {
    display: flex;
}

.bg {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    background-color: var(--bg)
}

#bg-page {
    top: var(--nav-height);
    z-index: 99;
}

#bg-full {
    top: 0;
    z-index: 105;
}

.vertical-separator:not(:last-child)  {
    width: 2px;
    border-radius: 80px;
    background: var(--elem-light-border);
}

.separator-horizontal {
    height: 4px;
    border-radius: 80px;
    background: var(--elem-light-border);
    width: 100%;
}

.separator-horizontal-thin {
    height: 1px;
    background: var(--elem-light-border);
    width: 100%;
    margin-top: 15px;
    margin-bottom: 15px;
}

.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip > .icon {
    width: 30px;
    height: 30px;
    fill: var(--elem-dark-primary);
    cursor: pointer;
}

.tooltip > .icon:hover {
    fill: var(--theme);
}

.tooltip > .tooltip-text {
    visibility: hidden;
    width: 180px;
    max-height: 250px;
    font-size: 13px;
    background-color: var(--elem-dark-primary);
    color: var(--elem-light-primary);
    text-align: center;
    border-radius: 5px;
    position: absolute;
    z-index: 101;
    right: -199%;
    top: 45px;
    padding: 5px;
    opacity: 0;
    transition: opacity 0.3s;
}

.tooltip > .tooltip-text:after {
    content: "";
    position: absolute;
    top: -10px;
    right: 87px;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color:  transparent  transparent   var(--elem-dark-primary) transparent
}

.tooltip:hover > .tooltip-text {
    visibility: visible;
    opacity: 0.8;
}

.arrow {
    float:right;
    margin-top: 3px;
    border-style: solid;
}

i.down {
    border-width: 10px 7.5px 0 7.5px;
    border-color: var(--elem-dark-primary) transparent transparent transparent;
}

i.up {
    border-width: 0 7.5px 10px 7.5px;
    border-color: transparent transparent var(--elem-dark-primary) transparent;
}

.img-text_field {
    display: flex;
    align-items: center;
    gap: 5px
}

.img-text_field img,
.img-text_field svg {
    padding-bottom: 2.5px;
}

.border-link {
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 150px;
    border-radius: 5px;
    line-height: 1.55;
    cursor: pointer;
    padding: 15px 10px 15px 10px;
    border: 1px solid var(--elem-light-third);
    transition: 250ms background-color ease-in-out, 250ms border-color ease-in-out, 250ms color ease-in-out;
}

.border-link circle,
.border-link path {
    transition: 250ms stroke ease-in-out;
}

.border-link:hover {
    background-color: var(--theme);
    border-color: var(--theme);
    color: var(--elem-dark-third);
    font-weight: 600;
}

.border-link:hover * {
    stroke: var(--elem-dark-third)
}

.default-hover {
    border-radius: 5px;
    transition: 200ms background-color;
    cursor: pointer;
}

.default-hover:hover {
    background-color: var(--elem-light-hover);
}

.dark-hover {
    cursor: pointer;
    transition: 300ms background-color
}

.dark-hover:hover {
    background-color: var(--elem-dark-primary)
}

.theme-text-hover {
    cursor: pointer;
    transition: 300ms color;
}

.theme-text-hover:hover {
    color: var(--theme)
}

.theme-hover {
    cursor: pointer;
    transition: 300ms background-color;
}

.theme-hover:hover {
    background-color: var(--theme);
}

.theme-fill-hover,
.theme-stroke-hover {
    cursor: pointer;
}

.theme-fill-hover:hover path {
    fill: var(--theme);
}

.theme-stroke-hover svg,
.theme-stroke-hover path,
.theme-stroke-hover circle,
.theme-fill-hover svg,
.theme-fill-hover path,
.theme-fill-hover circle {
    transition: 250ms stroke ease-in-out, 250ms fill ease-in-out;
}

.theme-stroke-hover:hover path,
.theme-stroke-hover:hover circle {
    stroke: var(--theme);
}

.no-margin {
    margin: 0!important
}

.file {
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
}

.file:before {
    background-image: url('../img/svg/file.svg');
    content:'';
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
}

[file-type="application/pdf"]:before {
    background-image: url('../img/svg/file-pdf.svg')!important;
}

[file-type="application/vnd.openxmlformats-officedocument.wordprocessingml.document"]:before,
[file-type="application/msword"]:before,
[file-type="text/plain"]:before,
[file-type="text/html"]:before {
    background-image: url('../img/svg/file-doc.svg')!important;
}
[file-type="text/csv"]:before,
[file-type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]:before,
[file-type="application/vnd.ms-excel"],
[file-type="application/vnd.ms-excel"]{
    background-image: url('../img/svg/file-sheet.svg')!important;
}

[file-type="application/zip"]:before,
[file-type="application/vnd.rar"]:before,
[file-type="application/x-tar"]:before,
[file-type="application/gzip"]:before {
    background-image: url('../img/svg/file-zip.svg')!important;
}

[file-type="image/jpeg"]:before,
[file-type="image/gif"]:before,
[file-type="image/bmp"]:before,
[file-type="iamge/png"]:before,
[file-type="image/webp"]:before {
    background-image: url('../img/svg/file-img.svg')!important;
}

/* Custom */

.theme-header {
    color: var(--theme);
    text-align: center;
    font-size: 28px;
    letter-spacing: 2px;
}

.theme-bg {
    background-color: var(--theme);
    color: var(--elem-dark-third);
    font-size: 125%;
    font-weight: 400;
}

.theme-bg div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.small {
    font-size: 95%!important
}

.small-text {
    font-style: italic;
    font-size: 90%;
    color: var(--elem-dark-primary)
}

.extra-small-text {
    font-style: italic;
    font-size: 80%;
    color: var(--elem-dark-primary)
}

.init-section-loader {
    visibility: visible!important;
    padding-top: 25px;
    padding-bottom: 25px;
    display: flex!important;
    flex-direction: row;
    justify-content: center;
}

.init-section-loader .loader {
    z-index: 1
}

#section-loader {
    position: relative;
    width: 120px;
    height: 120px;
}

#page-loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -80%);
    width: 160px;
    height: 160px;
}

.loader {
    z-index: 105;
    stroke: var(--theme);
    visibility: visible!important;
}

.loader:before {
    content: '';
    display: block;
    padding-top: 100%;
}

.loader > .circular {
    width: 100%;
    height: 100%;
}

.circular {
    -webkit-animation: rotate 2s linear infinite;
    animation: rotate 2s linear infinite;
    height: 100%;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.path {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
    -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    stroke-linecap: round;
}

@-webkit-keyframes
rotate {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes
rotate {
    100% {
         -webkit-transform: rotate(360deg);
         transform: rotate(360deg);
    }
}

@-webkit-keyframes
dash {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
    }
}

@keyframes
dash {
    0% {
        stroke-dasharray: 1, 200;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -35;
    }
    100% {
        stroke-dasharray: 89, 200;
        stroke-dashoffset: -124;
    }
}

.dialog {
    background: var(--background);
    max-height: 900px;
    border-radius: 8px;
    display: none;
    height: 80vh;
    z-index: 102;
    overflow-x: hidden;
    overflow-y: hidden;
    min-width: 700px;
    max-width: 900px;
    width: calc(100% - 50px);
    position: fixed;
    top: calc(var(--nav-height) + 20px);
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%);
    flex-direction: column;
    -webkit-box-shadow: 0px 0px 40px 5px rgba(40, 40, 40, 0.65);
    -moz-box-shadow: 0px 0px 40px 5px rgba(40, 40, 40, 0.65);
    box-shadow: 0px 0px 40px 5px rgba(40, 40, 40, 0.65);
}

.dialog ::-webkit-scrollbar-thumb {
    border-radius: 0
}

.dialog-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: var(--theme);
    color: var(--elem-dark-third);
    padding-bottom: 15px;
    -webkit-box-shadow: 0 0 36px 0 rgba(40, 40, 40, 1);
    -moz-box-shadow: 0 0 36px 0 rgba(40, 40, 40, 1);
    box-shadow: 0 0 36px 0 rgba(40, 40, 40, 1);
}

.dialog-header h3 {
    font-size: 26px;
    margin: 0 0 25px 0;
}

.dialog-header_content {
    padding: 25px 15px 0 25px
}

.dialog-header_close {
    cursor: pointer;
	position: relative;
	right: 5px;
	top: 5px;
    padding: 0 2px 0 2px;
	border-radius: 50px;
    transition: background 300ms;
}

.dialog-header_close:hover {
    background: var(--elem-light-hover)
}

.dialog-header_close svg,
.dialog-header_close path {
    position: relative;
    top: 3px;
    fill: var(--elem-dark-third)
}

.dialog-content {
    overflow-y: scroll;
    padding: 25px 25px 125px 25px
}

.dialog-content::-webkit-scrollbar {
    width: 0
}

.dialog-footer {
    position: fixed;
    z-index: 98;
    bottom: 0;
    width: 100%;
    left: 50%;
    transform: translate(-50%);
    padding-top: 15px;
    padding-bottom: 10px;
    background: var(--background);
}

.dialog-footer .form-field-group {
    margin: 0 25px 0 25px
}

.separator-top {
    border-top: 1px solid var(--elem-dark-primary);
    margin-top: 10px!important;
    padding-top: 25px!important;
}

.responsive-small-mobile {
    display: none!important
}

.responsive-mobile-smaller {
    display: none!important;
}

#cookie-consent {
    display: none;
    position: fixed;
    bottom: 0;
    background: #474747;
    border-top: 1px solid var(--elem-light-border);
    z-index: 101;
    width: 100%;
}

.cookie-consent_content {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--max-width);
    padding: 25px 15px 25px 15px;
    min-height: 300px;
    font-size: 18px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.cookie-consent_content form {
    padding-top: 15px;
    display: flex;
    gap: 10px;
}

table.aui-table {
    width: 100%;
    border-spacing: 0;
    border-collapse: separate;
}

table.aui-table thead tr {
    white-space: nowrap;
    font-weight: 600;
    padding: 10px 20px 10px 0;
}

table.aui-table thead td {
    padding: 15px;
    text-align: center;
}

table.aui-table thead td:first-child {
    border-top-left-radius: 6px;
    border-left: none
}

table.aui-table thead td:last-child {
    border-top-right-radius: 6px;
}

table.aui-table thead td {
    background: var(--elem-dark-third);
}

table.aui-table td {
    padding: 15px 15px 15px 5px;
    border-bottom: 1px solid var(--elem-dark-primary);
    background: var(--elem-dark-border)
}

table.aui-table td.main-data {
    padding: 15px;
    background: var(--elem-dark-third);
    font-weight: 600
}

table.aui-table tr:last-child td {
    border-bottom: none
}

table.aui-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 6px;
}

table.aui-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 6px;
}

.table-container {
    overflow-x: scroll;
}

.table-container::-webkit-scrollbar {
    height: 0
}

td.long-row {
    min-width: 250px
}

.about-page_block {
    text-align: justify;
}

.about-page_block:last-child {
    border-bottom: none
}

.about-page_block p {
    font-size: 20px;
}

.theme-bg.about-page_block {
    padding: 75px 0 75px 0;
    font-weight: 600;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    margin-left: auto!important;
    margin-right: auto!important;
}

.theme-bg.about-page_block p {
    max-width: var(--max-width);
    font-size: 24px;
    text-align: center;
    padding: 0 20px 0 20px;
}

.grecaptcha-badge {
    visibility: hidden!important;
}

.google-policy {
    font-size: 14px;
}