/**
 * Common
 */

:root {
    --cs-orange-color: #ff9100;
    --cs-orange-color-rgb: 255, 145, 0;
    --cs-orange-hover-color: #b36600;
    --cs-orange-hover-color-rgb: 179, 102, 0;
    --cs-red-color: #ff0048;
    --cs-gradiant-color: linear-gradient(90deg, rgba(218, 44, 80, 1) 0%, rgba(255, 145, 0, 1) 100%);
    --cs-gradiant-reverse-color: linear-gradient(90deg, rgba(255, 145, 0, 1) 0%, rgba(218, 44, 80, 1) 100%);
    --bs-body-color: #707070;
    --bs-link-color: var(--cs-orange-color);
    --bs-link-color-rgb: var(--cs-orange-color-rgb);
    --bs-link-hover-color: var(--cs-orange-hover-color);
    --bs-link-hover-color-rgb: var(--cs-orange-hover-color-rgb);
    --bs-danger-rgb: 255, 0, 72;
    --bs-font-sans-serif: "Titillium Web", sans-serif;
    --bs-info: #17a2b8;
    --bs-info-rgb: 23, 162, 184;
    --bs-border-radius: 0;
    --bs-border-radius-lg: 0;
}

:last-child {
    margin-bottom: 0;
}

.bg-gradiant {
    background: var(--cs-gradiant-color);
}
.bg-gradiant-reverse {
    background: var(--cs-gradiant-reverse-color);
}

a.text-primary {
    color: var(--cs-orange-color) !important;
}
a.text-primary:hover {
    color: var(--cs-orange-hover-color) !important;
}

.text-cs-red {
    color: var(--cs-red-color) !important;
}
.bg-cs-red {
    background-color: var(--cs-red-color) !important;
    color: var(--bs-white) !important;
}
.btn-cs-red {
    background: var(--cs-red-color);
    color: #fff;
}
.btn-cs-red:active,
.btn-cs-red:focus,
.btn-cs-red:hover {
    border-color: #d9003d !important;
    background: #d9003d !important;
    color: #fff !important;
}

.text-cs-orange {
    color: var(--cs-orange-color) !important;
}
.btn-cs-orange {
    background: var(--cs-orange-color);
    color: #fff;
}
.btn-cs-orange:active,
.btn-cs-orange:focus,
.btn-cs-orange:hover {
    border-color: #d97b00 !important;
    background-color: #d97b00 !important;
    color: #fff !important;
}

.form-switch .form-check-input:checked {
    background-color: var(--cs-orange-color);
    border-color: var(--cs-orange-color);
}
.form-switch .form-check-input:focus{
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23b36600'/%3e%3c/svg%3e");
    border-color: var(--cs-orange-hover-color);
    box-shadow: 0 0 0 .25rem rgba(var(--cs-orange-color-rgb), .25);
}

form label.required:after,
form legend.required:after {
    content: '*';
    color: var(--cs-red-color);
    margin-left: 6px;
}
form [type="radio"] + label.required:after {
    content: none;
}
form .col-form-label {
    margin-bottom: .5rem;
    padding: 0;
}
form select.tom-select {
    height: 38px;
}
form select.tom-select.no-dropdown + .ts-wrapper.form-select {
    background: none;
}
form select.tom-select.no-dropdown + .ts-wrapper .ts-dropdown {
    display: none !important;
}

.mb-first-2:first-child {
    margin-top: .5rem !important;
}
.mb-last-4:last-child {
    margin-bottom: 1rem !important;
}

.table-row-margin {
    margin-left: -.5rem;
    margin-right: -.5rem;
}
.table-row-margin > .table > :not(caption) > * > * {
    border: none;
}

.pagination .page-link {
    --bs-pagination-border-radius: .375rem;;
    --bs-pagination-active-bg: var(--cs-orange-color);
    --bs-pagination-active-border-color: var(--bs-pagination-active-bg);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(255, 145, 0, .25);
}

/**
 * Header
 */

body > header:after {
    content: '';
    position: absolute;
    top: -245px;
    display: block;
    height: 314px;
    width: 100%;
    background: url("../images/bg-menu-QjWvU3L.svg") no-repeat 50% 50%;
    background-size: auto 100%;
    z-index: -99;
    /*
    border-radius: 25% 25% 40% 60% / 0% 0% 100% 100%;
    background: linear-gradient(90deg, rgba(218,44,80,1) 0%, rgba(255,145,0,1) 100%);
    */
}
@media (min-width: 992px) {
    body > header:after {
        top: -180px;
        transform: translateX(-50px);
    }
}

body > header .navbar {
    --bs-navbar-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-hover-color: rgba(255, 255, 255, .75);
    --bs-nav-link-font-size: 18px;
    --bs-navbar-toggler-border-color: transparent;
    --bs-navbar-toggler-focus-width: 0;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
body > header .navbar-nav .nav-item {
    position: relative;
}
body > header .navbar-nav .nav-item.active:before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translate(-5px, -50%);
    width: 50px;
    height: 50px;
    border: 1px solid var(--bs-navbar-color);
    border-radius: 50%;
    opacity: .75;
    z-index: -1;
}

@media (max-width: 991px) {
    body > header .navbar-nav .nav-item .nav-link {
        text-align: center;
        color: #000;
    }
    body > header .navbar-nav .nav-item .nav-link:hover {
        color: rgba(0, 0, 0, .75);
    }
}

/**
 * Footer
 */

body > footer .navbar {
    --bs-navbar-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-hover-color: rgba(255, 255, 255, .75);
}

/**
 * Main
 */

h1 {
    margin: auto;
    margin-bottom: 2.5rem;
    text-align: center;
    background: var(--cs-gradiant-reverse-color);
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

h2, h3, h4 {
    margin-bottom: 1rem;
}
* + h2, * + h3, * + h4 {
    margin-top: 2rem;
}
* + h5, * + h6 {
    margin-top: 1.5rem;
}

svg.icon {
    height: 1em;
}

/**
 * Index
 */

#page-index > main {
    overflow: hidden;
    background: transparent url("../images/blob-ZwBpoNK.png") no-repeat 50% 850px;
}
@media (min-width: 1200px) {
    #page-index > main {
        background-size: 90%
    }
}
#page-index > main,
#page-index > main > div {
    position: relative;
}
#page-index > main:before {
    content: '';
    position: absolute;
    top: 360px;
    left: 55%;
    height: 1000px;
    width: 470px;
    background: transparent url("../images/lines-Rt3g2Wd.png") no-repeat 0 0;
    margin: 0 0 0 -235px;
    background-size: 90%;
    opacity: 0.8;
    transform: rotate(35deg);
    z-index: -5;
}
#page-index > main > div:before,
#page-index > main > div:after {
    content: '';
    position: absolute;
    top: -69px;
    height: 336px;
    width: 282px;
    background: transparent url("../images/pentagone-vvOXDhs.png") no-repeat 0 0;
    opacity: 0.2;
    z-index: -5;
}
#page-index > main > div:before {
    left: -20px;
}
#page-index > main > div:after {
    top: -105px;
    right: -20px;
    transform: rotate(200deg);
}
@media (min-width: 992px) {
    #page-index > main > div:before,
    #page-index > main > div:after {
        opacity: 1;
    }
}
@media (min-width: 1200px) {
    #page-index > main > div:before {
        left: 50px;
    }
    #page-index > main > div:after {
        right: 50px;
    }
}
@media (min-width: 1400px) {
    #page-index > main > div:before {
        left: 100px;
    }
    #page-index > main > div:after {
        right: 100px;
    }
}

#page-index > main h1 {
    max-width: 550px;
}

/**
 * Registration: curator
 */

#page-registration .logo-delete:not(:checked) ~ * .deleted {
    display: none;
}
#page-registration .logo-delete:checked ~ * .not-deleted {
    display: none;
}

/**
 * Contacts
 */

#page-contacts {
    background: transparent url("../images/blob-ZwBpoNK.png") no-repeat 50% 450px;
}

/**
 * Workshops
 */

#page-workshops a.workshop:hover {
    color: var(--bs-gray-900) !important;
    background-color: var(--bs-gray-200) !important;
}
#page-workshops a.workshop:hover svg.d-none {
    display: block !important;
    width: 24px;
}

/**
 * Workshop search form
 */

.form-highlight:not(.d-flex) {
    border-bottom: 4px solid var(--cs-red-color);
}
.form-highlight .form-control,
.form-highlight .input-group-text {
    border: none;
    box-shadow: none;
    background: var(--bs-body-bg);
}
.form-highlight .form-check {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    margin: 0;
    padding: 0;
    width: 0;
    border-bottom: 4px solid var(--cs-red-color);
    text-align: center;
}
.form-highlight .form-check .form-check-input {
    margin: 5px;
}
.form-highlight .form-check label {
    padding: 0.375rem;
    line-height: 1;
    font-size: 1.1em;
}
@media (min-width: 768px) {
    .form-highlight .form-check {
        flex-wrap: nowrap;
        line-height: 1.5rem;
    }
    .form-highlight .form-check label {
        white-space: nowrap;
        line-height: inherit;
    }
}

/**
 * Teacher
 */

#teacher-menu-collapse .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25em;
    white-space: nowrap;
    color: var(--bs-link-color);
}
@media (min-width: 992px) and (max-width: 1199px) {
    #teacher-menu-collapse .nav-link {
        flex-direction: column;
    }
}
@media (min-width: 992px) and (max-width: 1399px) {
    #teacher-menu-collapse .nav-link {
        font-size: 1.2em;
    }
}
@media (min-width: 1400px) {
    #teacher-menu-collapse .nav-link {
        font-size: 1.25em;
    }
}
#teacher-menu-collapse .nav-link:active,
#teacher-menu-collapse .nav-link:focus,
#teacher-menu-collapse .nav-link:hover {
    color: var(--bs-link-hover-color);
}
#teacher-menu-collapse .active .nav-link {
    color: var(--cs-red-color);
}
#teacher-menu-collapse .nav-link .icon {
    flex-shrink: 0;
    margin-right: .5rem;
}
