

/* Start:/local/templates/techfest/assets/fonts/font.css?1736838549652*/
@font-face {
    font-family: 'Montserrat';
    font-display: swap;
    src: url('https://fonts.googleapis.com/css2?family=Montserrat+Slab&display=swap');
    /* url('/local/templates/techfest/assets/fonts/geometria/geometria.woff') */
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: 'Montserrat';
    font-display: swap;
    src: url('https://fonts.googleapis.com/css2?family=Montserrat+Slab&display=swap');
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: 'Montserrat';
    font-display: swap;
    src: url('https://fonts.googleapis.com/css2?family=Montserrat+Slab&display=swap');
    font-style: normal;
    font-weight: 500;
}
/* End */


/* Start:/local/templates/techfest/assets/css/slider.css?17368385492785*/
/* Собственно сам слайдер */

.slider {
    max-width: 100%;
    position: relative;
    height: auto;
    margin-bottom: 130px;
    margin: auto;
}


/* Картинка масштабируется по отношению к родительскому элементу */

.slider .item img {
    object-fit: cover;
    width: 100%;
    height: 300px;
}


/* Кнопки вперед и назад */

.slider .prev,
.slider .next {
    cursor: pointer;
    position: absolute;
    top: 0;
    top: 110%;
    width: auto;
    margin-top: -50px;
    padding: 16px;
    color: #00B0A0;
    border-color: #00B0A0;
    font-weight: normal;
    font-size: 22px;
    transition: 0.5s ease;
    border-radius: 3px;
}

.slider .next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.slider .disabled {
    color: #E4E8F5;
    border-color: #E4E8F5;
    pointer-events: none;
}


/* При наведении на кнопки добавляем фон кнопок */

.slider .prev:hover,
.slider .next:hover {
    font-weight: bold;
}


/* Заголовок слайда */

.slideText {
    position: absolute;
    color: #fff;
    font-size: 35px;
    /* Выравнивание текста по горизонтали и по вертикали*/
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    /* Тень*/
    text-shadow: 1px 1px 1px #000, 0 0 1em #000;
}


/* Кружочки */

.slider-dots {
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.slider-dots_digit-first {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 23px;
    color: #00B0A0;
    margin-right: 2px;
    margin-top: -18px;
}

.slider-dots_digit-last {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #E4E8F5;
    margin-left: 6px;
    margin-top: -16px;
}

.slider-dots_item {
    cursor: pointer;
    height: 3px;
    width: 17px;
    margin: 0;
    background-color: #E4E8F5;
    border-radius: 5px;
    display: inline-block;
    transition: background-color 0.6s ease;
}

.arr-disabled {
    color: #EBEDF2;
    margin-top: -10px;
}

.slider .disabled>svg>path {
    stroke: #EBEDF2;
}

.active,
.slider-dots_item:hover {
    background-color: #00B0A0;
}


/* Анимация слайдов */

.slider .item {
    -webkit-animation-name: fade;
    -webkit-animation-duration: .9s;
    animation-name: fade;
    animation-duration: .9s;
}

@-webkit-keyframes fade {
    from {
        opacity: .4
    }

    to {
        opacity: 1
    }
}

@keyframes fade {
    from {
        opacity: .4
    }

    to {
        opacity: 1
    }
}
/* End */


/* Start:/local/templates/techfest/assets/css/main-style.css?173683854915702*/
/* CUSTOM SITE SCROLLBAR */
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: rgb(230, 230, 230);
}

::-webkit-scrollbar-thumb {
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: #00B0A0;
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

::-webkit-scrollbar-thumb:window-inactive {
    background: #00B0A0;
}

html,
body {
    padding: 0;
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
    /** не поддерживается в Safari, поведение продублировано в js {@see BX.Citrus.ScrollTo}  **/
}

body {
    background-color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 135%;
    letter-spacing: 0.5px;
    color: #0D4065;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
}

/* CUSTOM SITE SCROLLBAR */
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: rgb(230, 230, 230);
}

::-webkit-scrollbar-thumb {
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: #00B0A0;
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

::-webkit-scrollbar-thumb:window-inactive {
    background: #00B0A0;
}
/* END CUSTOM SITE SCROLLBAR */

main {
    display: flex;
    flex-direction: column;
    flex-basis: auto;
}

.container {
    width: 1120px;
    margin: 0 auto;
}

header,
footer {
    flex: 0 0 5em;
    background-color: transparent;
    z-index: 1;
}

@media screen and (min-width: 600px) {
    body {
        min-height: 100vh;
    }

    main {
        flex-direction: column;
        min-height: 100%;
        min-height: 700px;
        flex: 1 1 auto;
    }
}

p {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    color: #0D4065;
}

h2 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 38px;
    line-height: 150%;
}

h3 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 150%;
}

h4 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    line-height: 134%;
    color: #0D4065;
}

a {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    color: #0D4065;
    text-decoration: none;
}

.flex-row {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
}

.flex-col {
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

.button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 52px;
    min-height: 52px;
    vertical-align: middle;
    background: #00B0A0;
    border: none;
    border-radius: 48px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    padding: 14px 35px;
    box-shadow: 0px 15px 20px -15px #20A182;
    transition: ease-in-out box-shadow .3s;
}

.button:hover {
    box-shadow: 0px 0px 0px 0px #20A182;
}


/* HEADER */

header {
    height: 115px;
    max-height: 115px;
    padding: 32px 0;
    background-color: #ffffff;
    background-position: top center;
    position: fixed;
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 101;
}

html,
body {
    scroll-padding-top: 115px;
}

.page-404 #panel {
    display: none;
}

.page-404 header {
    position: fixed;
}

.page-404 .bx-context-toolbar-empty-area {
    display: none;
}

header .h-logo {
    width: auto;
    height: 74px;
}


/* search */

.search-menu {
    display: none;
    padding-top: 20px;
}

#search__toggle {
    opacity: 0;
}

#search__toggle:checked~.search__box {
    visibility: visible;
    top: 0;
    z-index: 102;
    opacity: 1;
}


/* #search__toggle:checked~.search__btn {
    outline: 20px solid #00AD9F;
    background-color: #00AD9F;
}

#search__toggle:checked~.search__btn>span {
    transform: rotate(45deg);
}

#search__toggle:checked~.search__btn>span::before {
    top: 0;
    transform: rotate(0);
    background-color: #ff0;
}

#search__toggle:checked~.search__btn>span::after {
    top: 0;
    transform: rotate(90deg);
    background-color: #ff0;
} */

.search__box {
    display: flex;
    flex-direction: row;
    justify-content: center;
    position: fixed;
    visibility: hidden;
    top: -120px;
    right: 0;
    width: 100%;
    height: 110px;
    margin: 0;
    padding: 40px 0;
    list-style: none;
    background: #fff left top no-repeat;
    transition-duration: .4s;
    opacity: 0;
}

.search__btn {
    display: flex;
    align-items: center;
    width: 19px;
    height: auto;
    cursor: pointer;
    z-index: 100;
}

.search__box>.search__btn {
    margin-left: 21px;
    margin-top: 12px;
}


/************* FORM-SEARCH ************/

header input {
    position: absolute;
    top: 0;
    right: 0;
    width: 90%;
    height: 42.5px;
    line-height: 30px;
    outline: 0;
    border: 1px solid #C8624F;
    display: none;
    font-size: 1em;
    border-radius: 20px;
    padding: 0 50px 0 25px;
}

.search {
    box-sizing: border-box;
    border: none;
    background: transparent;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 50%;
    color: #C8624F;
    text-align: center;
    font-size: 1.2em;
    transition: all .6s;
}

header form {
    position: relative;
    width: 880px;
    cursor: pointer;
    height: 50px;
    background: #ffffff;
    padding: 5px;
    border: none;
    outline: none;
}

header form input {
    display: block;
    caret-color: #C04C36;
}


/************* END FORM-SEARCH ************/


/* hamburger */

.hamburger-menu {
    display: none;
}

@media(max-width:1219px) {
    nav {
        display: none;
    }

    .hamburger-menu {
        display: block;
    }
}

#menu__toggle {
    opacity: 0;
}

#menu__toggle:checked~.menu__btn {
    outline: 20px solid #00AD9F;
    background-color: #00AD9F;
}

#menu__toggle:checked~.menu__btn>span {
    transform: rotate(45deg);
}

#menu__toggle:checked~.menu__btn>span::before {
    top: 0;
    transform: rotate(0);
    background-color: #ffffff;
}

#menu__toggle:checked~.menu__btn>span::after {
    top: 0;
    transform: rotate(90deg);
    background-color: #ffffff;
}

#menu__toggle:checked~.menu__box {
    visibility: visible;
    top: 0;
    z-index: 100;
}

.menu__btn {
    display: flex;
    align-items: center;
    position: fixed;
    top: 24px;
    right: 40px;
    width: 20px;
    height: 17px;
    cursor: pointer;
    z-index: 101;
}

.menu__btn>span,
.menu__btn>span::before,
.menu__btn>span::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #C04C36;
    transition-duration: .25s;
}

.menu__btn>span::before {
    content: '';
    top: -8px;
}

.menu__btn>span::after {
    content: '';
    top: 8px;
}

.desc-menu__box {
    list-style: none;
}

.desc-menu__item {
    margin-left: 44px;
    margin-right: 0;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 23px;
    color: #213B7A;
}

.desc-menu__item:hover {
    color: #00B0A0;
}

.menu__box {
    display: block;
    position: fixed;
    visibility: hidden;
    top: -450px;
    right: 0;
    width: 100%;
    height: 430px;
    margin: 0;
    padding: 60px 0;
    list-style: none;
    background: url(/local/templates/techfest/assets/css/../img/_bg-left-top.png) left top no-repeat, url(/local/templates/techfest/assets/css/../img/_bg-right-bottom.png) right bottom no-repeat, #236192;
    background-size: auto, auto;
    box-shadow: 0px 4px 51px -6px rgba(4, 41, 70, 0.91);
    transition-duration: .6s;
}

.menu__item {
    display: block;
    padding: 12px 36px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 180.3%;
    color: #FFFFFF;
    text-decoration: none;
    transition-duration: .25s;
}

.menu__item:hover {
    background-color: rgba(0, 173, 159, 0.75);
}

.photos h2 {
    margin-bottom: 74px;
}


/* footer */

.main-footer {
    padding-top: 70px;
    padding-bottom: 54px;
}

.footer-col p {
    position: relative;
    margin-left: 30px;
}

.footer-col p::before {
    content: '';
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    left: -34px;
    top: 3px;
    background-repeat: no-repeat;
    background-size: contain;
}

.footer-col1 p::before {
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-map.svg);
}

.footer-col2 p::before {
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-tel.svg);
}

.footer-col2 p:last-child:before {
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-fax.svg);
}

.footer-col3 p::before {
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-mail.svg);
}

.footer-col3 p:last-child:before {
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-web.svg);
}

.footer-col1 img {
    width: 150px;
    height: auto;
    padding-bottom: 13px;
}

.footer-col2 img {
    width: 124px;
    height: auto;
    padding-bottom: 21px;
}

.footer-col3 {
    padding-top: 53px;
}

.mfooter {
    display: none;
}

@media(max-width: 1219px) {

    .dfooter {
        display: none;
    }

    .mfooter {
        display: flex;
        flex-direction: column;
        justify-content: left;
        padding: 50px 40px 31px 40px;
    }

    .mlogo {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-bottom: 34px;
    }

    .mlogo img {
        width: 126px;
        height: 34px;
    }

    .mlogo img:last-child {
        width: 85px;
        height: 22px;
        margin-right: 5px;
    }

    .mfooter p {
        font-family: 'Montserrat', sans-serif;
        font-style: normal;
        font-weight: normal;
        font-size: 12px;
        line-height: 15px;
        color: #0D4065;
    }

    .footer-col p {
        margin: 0 0 34px 36px;
    }

    .footer-col3 {
        padding-top: 0;
    }

    .footer-col p::before {
        top: -2px;
    }

    .fo-row {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .search-menu {
        position: absolute;
        top: 6px;
        right: 80px;
    }

    .search__box {
        width: 100%;
        padding: 25px 0;
    }

    .search__box a {
        display: none;
    }

    .search__box>form {
        width: 80%;
    }

    .search__box>.search__btn {
        margin-top: -15px;
    }
}

@media(min-width:568px) and (max-width:1219px) {
    .menu__item {
        padding: 12px 96px;
        font-size: 26px;
        line-height: 130%;
    }
}

@media(min-width:768px) and (max-width:1219px) {
    .container:not(.container-index) {
        width: 690px;
    }

    header {
        height: 65px;
        max-height: 65px;
        padding: 15px 0;
    }

    html,
    body {
        scroll-padding-top: 75px;
    }

    header .h-logo {
        width: auto;
        height: 40px;
    }

    .button {
        height: 42px;
        max-height: 42px;
        width: 200px;
        font-size: 14px;
        line-height: 150%;
        padding: 10px 32px;
    }

    .slider {
        height: 400px;
    }
}

@media(min-width:426px) and (max-width:767px) {
    .container {
        width: 400px;
        width: calc(100% - 40px)
    }

    header {
        padding: 15px 0;
    }

    .h-logo {
        width: 137px;
        height: 36px;
    }

    .fo-row {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }
}


/**************** 425px *********************/

@media(max-width:425px) {
    .container {
        width: 287px;
        width: calc(100% - 30px)
    }

    header .flex-row {
        flex-direction: column;
        align-items: flex-start;
    }

    header {
        height: 57px;
        max-height: 57px;
        padding: 12px 0;
    }

    header .h-logo {
        width: auto;
        height: 38px;
        align-self: flex-start;
    }

    .search__box>.search__btn {
        margin-top: -5px;
    }

    .menu__btn {
        top: 19px;
        right: 20px;
    }

    h2 {
        font-size: 22px;
        line-height: 33px;
    }

    .button {
        height: 35px;
        min-height: 35px;
        font-weight: 500;
        font-size: 12px;
        padding-top: 9px;
        width: 200px;
    }

    .slider {
        height: 368px;
    }

    .slider .prev,
    .slider .next {
        top: 103%;
        margin-top: -20px;
        padding: 16px 0;
    }

    .slider-dots_digit-first,
    .slider-dots_digit-last {
        font-size: 16px;
    }

    .fo-row {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .search-menu {
        position: absolute;
        top: 0;
        right: 65px;
    }

    .search__box {
        width: 100%;
        height: 90px;
        padding: 20px 0;
    }

    .mfooter {
        padding: 35px 15px 10px 15px;
    }
}

/* page contacts */
.contacts__title {
    color: #0D4065;
    font-family: Montserrat;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    letter-spacing: 0.5px;
    margin-bottom: 48px;
}
.contacts__section {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px;    
    justify-content: flex-start;
    margin-bottom: 86px;
}
.contacts__section-title {
    color: #0D4065;
    font-family: Montserrat;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; 
    width: 100%;
    margin: 0 0 10px;
    padding-bottom: 12px;
    border-bottom: 1px solid #EBEDF2;
}
.contact-card {
    width: 545px;
    display: flex;        
    flex-direction: row;
    gap: 24px;
    align-items: center;    
    min-height: 175px;
    padding: 32px;
    background-color: #fff;
    box-shadow: 0px 0px 28px 0px rgba(131, 131, 131, 0.21);    
    transition: box-shadow .2s linear;
}
.contact-card:hover {
    box-shadow: 0px 9.362px 28.085px 0px rgba(125, 135, 152, 0.35);
}
.contact-card__text {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.contact-card__photo {
    width: 96px;
    height: 96px;
    border-radius: 48px;
    object-fit: cover;
}
.contact-card__name {
    color: #0D4065;
    font-family: Montserrat;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    margin: 0;
}

.contact-card__position {
    color: #0D4065;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: 0.5px;
    margin: 0;
}
.contact-card__mail {
    color: #00AD9F;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; 
    letter-spacing: 0.5px;
}

@media screen and (max-width:475px) {
    .contacts__title {
        margin-bottom: 40px;
    }
    .contacts__section {
        gap: 32px;
        margin-bottom: 64px;
    }
    .contacts__section-title {
        margin-bottom: 0;
    }
    .contact-card {
        min-width: 290px;
        padding: 15px;
        flex-direction: column;
        align-items: start;
        gap: 15px;
    }
}
/* End */


/* Start:/local/templates/techfest/assets/css/anim.css?17368385496982*/
/********** ANIMATION BACKGROUND **********/

.animation__background {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.form-circle {
    position: absolute;
    top: 10%;
    left: 6%;
    animation: rotatedAll 30s infinite linear;
}

.form-square {
    position: absolute;
    bottom: 19%;
    right: 9%;
    animation: lineMove 10s infinite linear;
}

.animation__background .circle1 {
    display: inline-block;
    width: 12px;
    height: 12px;
    top: 20%;
    left: 28%;
    background: #ca4c37;
    border-radius: 50%;
    position: absolute;
    animation: animationOne 25s infinite linear;
}

.animation__background .circle2 {
    display: inline-block;
    width: 15px;
    height: 15px;
    top: 44%;
    left: 4%;
    background: #ef538a;
    border-radius: 50%;
    position: absolute;
    animation: animationOne 30s alternate infinite linear;
}

.animation__background .circle3 {
    display: inline-block;
    width: 15px;
    height: 15px;
    top: 49%;
    left: 51%;
    background: #00b0a0;
    position: absolute;
    border-radius: 50%;
    animation: animationTwo 35s infinite linear;
}

.animation__background .circle4 {
    display: inline-block;
    position: absolute;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    background: #006095;
    bottom: 20%;
    left: 33%;
    animation: animationOne 30s infinite linear;
}

.animation__background .circle5 {
    display: inline-block;
    width: 15px;
    height: 15px;
    top: 50px;
    right: 40%;
    border-radius: 50%;
    background: #ef538a;
    position: absolute;
    animation: animationOne 25s infinite linear;
}

.animation__background .circle6 {
    display: inline-block;
    width: 20px;
    height: 20px;
    top: 41%;
    right: 2%;
    position: absolute;
    border-radius: 50%;
    background-color: #ca4c37;
    animation: scale__two 5s infinite linear;
}

.animation__background .triangle {
    position: absolute;
    bottom: 47%;
    left: 12%;
    animation: rotatedHalf 50s infinite linear;
}

.animation__background .key {
    position: absolute;
    top: 12%;
    right: 30%;
    animation: animationOne 30s infinite linear;
}

.animation__background .circle-i1 {
    position: absolute;
    top: 19%;
    left: 29%;
    animation: rotatedAll 30s infinite linear;
}

.animation__background .circle-i2 {
    position: absolute;
    bottom: 60%;
    right: 10%;
    animation: rotatedHalf 40s infinite linear;
}

.animation__background .circle-center {
    position: absolute;
    top: 27%;
    right: 47%;
    animation: pulse 10s infinite linear;
}

.animation__background .linee {
    position: absolute;
    bottom: 10%;
    right: 29%;
    animation: lineMove 20s infinite linear;
}

.animation__background .lineM {
    position: absolute;
    top: 360px;
    left: 55%;
    width: auto;
    height: 250px;
    animation: lineM 2s ease-in-out;
}

.animation__background .lineP {
    position: absolute;
    top: 287px;
    right: 55%;
    width: auto;
    height: 258px;
    z-index: -1;
    animation: lineP 2s ease-in-out;
}

@keyframes pulse {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.5);
    }
}

@keyframes lineMove {
    0% {
        transform: translateX(-50px);
    }
    50% {
        transform: translateX(100px);
    }
    100% {
        transform: translateX(-50px);
    }
}

@keyframes lineM {
    0% {
        left: 50%;
    }
    100% {
        left: 55%;
    }
}

@keyframes lineP {
    0% {
        right: 47%;
    }
    100% {
        right: 55%;
    }
}

@keyframes gradientBG {
    0% {
        background-position: 0 0;
    }
    50% {
        background-position: 300% 0;
    }
    100% {
        background-position: 0 0;
    }
}

@keyframes rotatedHalf {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    50% {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
}

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

@keyframes animationOne {
    0% {
        transform: translate(0px, 0px) rotate(0deg);
    }
    20% {
        transform: translate(70px, -1px) rotate(35deg);
    }
    40% {
        transform: translate(140px, 70px) rotate(70deg);
    }
    60% {
        transform: translate(80px, 120px) rotate(110deg);
    }
    80% {
        transform: translate(-40px, 70px) rotate(145deg);
    }
    100% {
        transform: translate(0px, 0px) rotate(0deg);
    }
}

@keyframes animationTwo {
    0% {
        transform: translate(0px, 0px) rotate(0deg) scale(1);
    }
    20% {
        transform: translate(70px, -1px) rotate(35deg) scale(0.9);
    }
    40% {
        transform: translate(140px, 70px) rotate(70deg) scale(1);
    }
    60% {
        transform: translate(80px, 120px) rotate(110deg) scale(1.2);
    }
    80% {
        transform: translate(-40px, 70px) rotate(145deg) scale(1.1);
    }
    100% {
        transform: translate(0px, 0px) rotate(0deg) scale(1);
    }
}

@keyframes animationThree {
    0% {
        transform: translate(165px, -180px);
    }
    100% {
        transform: translate(-345px, 615px);
    }
}

@media(min-width:1921px) {
    .animation__background .lineM {
        display: none;
    }
    .animation__background .lineP {
        display: none;
    }
}

@media(min-width:1220px) and (max-width:1500px) {
    .animation__background .circle-center {
        right: 46%;
    }
    .animation__background .lineM {
        right: -320px;
    }
    .animation__background .lineP {
        /* left: -320px; */
    }
    /* @keyframes lineM {
        0% {
            right: -280px;
        }
        100% {
            right: -320px;
        }
    } */
    /* @keyframes lineP {
        0% {
            left: -280px;
        }
        100% {
            left: -320px;
        }
    } */
}

@media(min-width:768px) and (max-width:1219px) {
    .animation__background .circle-i1 {
        left: 3%;
    }
    .animation__background .circle-center {
        right: 42.5%;
    }
}

@media(max-width: 980px) {
    .form-circle,
    .form-square {
        display: none;
    }
    .animation__background .lineM {
        right: -720px;
        animation: lineM 2s ease-in-out;
    }
    .animation__background .lineP {
        left: -720px;
        animation: lineP 2s ease-in-out;
    }
    @keyframes lineM {
        0% {
            right: -680px;
        }
        100% {
            right: -720px;
        }
    }
    @keyframes lineP {
        0% {
            left: -680px;
        }
        100% {
            left: -720px;
        }
    }
}

/* End */


/* Start:/local/templates/techfest/assets/css/modal.css?17368385494650*/
/* свойства модального окна */

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 17, 50, 0.59);
    backdrop-filter: blur(4px);
    z-index: 1050;
    opacity: 1;
    -webkit-transition: opacity 200ms ease-in;
    -moz-transition: opacity 200ms ease-in;
    transition: opacity 200ms ease-in;
    pointer-events: none;
    margin: 0;
    padding: 0;
    display: none;
}


/* при отображении модального окно */

.modal:target,
.jquery-modal.current .modal {
    display: block;
    pointer-events: auto;
    overflow-y: auto;
}


/* ширина модального окна и его отступы от экрана */

.modal-dialog {
    position: relative;
    width: auto;
    margin: calc(50vh - 220px) 10px;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 596px;
        margin: calc(50vh - 224px) auto;
    }
}


/* свойства для блока, содержащего контент модального окна */

.modal-content {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .2);
    border-radius: .3rem;
    outline: 0;
    padding: 70px 65px;
    width: 596px;
    background: linear-gradient(222.57deg, #89C9ED 0.66%, #6A73C8 76.06%);
}

#efatal .modal-content,
#resend .modal-content {
    background: linear-gradient(222.57deg, #b689ed 0.66%, #a66ac8 76.06%);
}

@media (min-width: 768px) {
    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
        box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
    }
}

.modal-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 15px;
}

.modal-title {
    margin-top: 0;
    margin-bottom: 0;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: 36px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.5px;
    color: #FFFFFF;
}

.close {
    display: block;
    width: 250px;
    height: 52px;
    margin: 0 auto;
    padding: 14px 35px;
    background: #00B0A0;
    border-radius: 48px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    float: right;
    text-decoration: none;
}

.close:focus,
.close:hover {
    text-decoration: none;
    cursor: pointer;
    opacity: .75;
}

.modal-body {
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding-bottom: 28px;
    overflow: auto;
}

.modal-body p {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    margin: 0;
}

@media (max-width: 568px) {
    .modal-content {
        width: 298px;
        margin: 0 auto;
        padding: 50px 40px;
    }

    .modal-title {
        font-size: 28px;
        line-height: 150%;
        margin-top: 20px;
    }

    .modal-body p {
        font-size: 18px;
        line-height: 150%;
    }

    .close {
        width: 210px;
        height: 35px;
        padding: 9px 35px;
        font-size: 12px;
        line-height: 150%;
    }
}

@media screen and (min-width: 321px) and (max-width: 813px) and (orientation:landscape) {

    /* .modal-dialog {
        margin: calc(50vh - 160px) 10px;
    } */
    .modal-content {
        height: 300px;
    }

    .modal {
        flex-direction: column;
        justify-content: center;
    }

    .modal:target {
        display: flex;
    }

    .modal-content {
        padding: 30px;
    }

    .modal-header {
        padding-top: 0;
    }

    .modal-title {
        margin-top: 10px;
        font-size: 24px;
    }

    .modal-body {
        padding-bottom: 10px;
    }

    .modal-body p {
        font-size: 14px;
    }
}
/* End */


/* Start:/local/templates/techfest/assets/css/breadcrumbs.css?17368385491993*/
    .breadcrumbs {
        margin-top: 0;
        padding-left: 0;
        display: flex;
        flex-direction: row;
        justify-content: left;
        list-style: none;
        font-family: 'Montserrat', sans-serif;
        font-style: normal;
        font-weight: normal;
        font-size: 14px;
        line-height: 18px;
        display: flex;
        align-items: start;
        color: #96B2C9;
    }

    .breadcrumbs a {
        font-family: 'Montserrat', sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 18px;
        color: #96B2C9;
    }

    .breadcrumbs li {
        margin-right: 40px;
        position: relative;
    }

    .breadcrumbs li::after {
        content: '';
        position: absolute;
        display: block;
        width: 10px;
        height: 16px;
        background-image: url(/local/templates/techfest/assets/css/../img/_breadcrumbs-arrow-right.svg);
        background-repeat: no-repeat;
        top: 5px;
        right: -25px;
    }

    .breadcrumbs li:last-child {
        margin-right: 0;
    }

    .breadcrumbs li:last-child a {
        color: #236192;
    }

    .breadcrumbs li:last-child:after {
        content: '';
        display: none;
    }

    /**************** 768px *********************/

    @media(max-width:1024px) {
        .breadcrumbs {
            margin-top: 11px;
        }

        .breadcrumbs a {
            font-size: 12px;
        }
    }

    /**************** 425px *********************/

    @media(max-width:425px) {
        .breadcrumbs {
            margin-top: 0;
            margin-bottom: 30px;
            font-size: 10px;
        }

        .breadcrumbs li {
            margin-right: 13px;
        }

        .breadcrumbs a {
            font-size: 10px;
            line-height: 13px;
        }

        .breadcrumbs li::after {
            height: 6px;
            width: 4px;
            right: -7px;
            top: 6px;
            background-size: contain;
        }
    }
/* End */


/* Start:/local/templates/techfest/assets/css/variables.css?17368385492375*/
:root {
/** project UI colors **/
/* Typography associated "-color" variables */

/* main */
--main-color: #0D4065;

/* main 2 */
--main2-color: #213B7A;

/* gray 2 */
--gray2-color: #326693;

/* gray 3 */
--gray3-color: #5A82A3;

/* gray 4 */
--gray4-color: #96B2C9;

/* green main */
--green-color: #00B0A0;

/* Error */
--error-color: #FF528D;

/* light */
--light-color: #EBEDF2;

/* white */
--white-color: #FFFFFF;

/* End of Typography */
/* Elements associated "-e-color" variables */

/* violet */
--violet-e-color: #6E3FA3;

/* blue */
--blue-e-color: #236192;

/* green */
--green-e-color: #00AD9F;

/* dark orange */
--dark-orange-e-color: #C04C36;

/* pink */
--pink-e-color: #E0457B;

/* orange */
--orange-e-color: #EC5943;

/* gray */
--gray-e-color: #CCD5DC;

/* sky */
--sky-e-color: #CCE6FF;

/* End of Elements */

/* Gradient associated "-g-color" variables */

/* blue gradient */
--blue-g-color: linear-gradient(222.57deg, #89C9ED 0.66%, #6A73C8 76.06%);

/* green gradient */
--green-g-color: linear-gradient(23.93deg, #00B0A0 23.12%, rgba(0, 176, 160, 0.77) 90.41%), #D9D9D9;

/* gradient */
--g-color: linear-gradient(199.07deg, rgba(137, 201, 237, 0.1) 35.55%, #6A73C8 82.2%);

/* orange gradient */
--orange-g-color: linear-gradient(233.96deg, #F9644F -0.8%, #E5523D 74.23%);

/* violet gradient */
--violet-g-color: linear-gradient(42.74deg, #6546A1 -4.34%, #A084D6 99.93%);

/* blue gradient light */
--blue-light-g-color: linear-gradient(45deg, #006095 0%, rgba(52, 147, 200, 0.59) 99.11%);

/* pink gradient light */
--pink-light-g-color: linear-gradient(45deg, #FF528D 0%, #F76798 100%);

/* gradient light */
--light-g-color: linear-gradient(69.68deg, #E1E4EC 25.09%, rgba(255, 255, 255, 0.62) 97.25%);

/* violet gradient light */
--violet-light-g-color: linear-gradient(222.57deg, #86BBDD 0.66%, #9096D2 76.06%);

/* End of Gradient */

/* Slider variables */
--swiper-navigation-size: .75rem;
--swiper-theme-color: var(--green-e-color);

/* Typography variables */
/* body text */
--text-base: 1rem;

--text-xl: 1.25rem;
--text-lg: 1.125rem;
--text-sm: 0.875rem;
--text-xs: 0.75rem;
--text-xxs: 0.625rem;

/* headings */
--title-1: 4rem;
--title-2: 2.375rem;
--title-3: 1.75rem;
--title-4: 1.625rem;

--title-1-mob: 2rem;
--title-2-mob: 1.5rem;
--title-3-mob: 1.25rem;  /* ? same as --text-xl
/* ? --title-4-mob 
/* End of Typography */
}
/* End */


/* Start:/local/templates/techfest/assets/css/style.css?175620666853401*/
/* CUSTOM SITE SCROLLBAR */
::-webkit-scrollbar {
    width: 5px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: rgb(230, 230, 230);
}

::-webkit-scrollbar-thumb {
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: #00B0A0;
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0);
}

::-webkit-scrollbar-thumb:window-inactive {
    background: #00B0A0;
}


.hidden {
	display: none;
}

/* SECTION 1 */

.section1 {
    background-image: url(/local/templates/techfest/assets/css/../img/_bg-1-left.png), url(/local/templates/techfest/assets/css/../img/_bg-1-right.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center, right center;
    flex: 2 2 12em;
    padding: 143px 0 15px;
}

.section1 h1 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 64px;
    line-height: 81px;
    width: 40%;
    margin: 0;
    margin-bottom: 40px;
    text-shadow: -5px 0px 40px #fff;
}

.section1 h2 {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 24px;
    line-height: 150%;
    letter-spacing: 0.5px;
    color: #0D4065;
    margin: 0;
    margin-bottom: 20px;
    text-shadow: -5px 0px 15px #fff;
}

.section1 .but-block {
    min-height: 52px;
    margin-bottom: 140px;
}


/* ROADMAP */

.roadmap {
    margin-top: 2.8125rem;
    padding-top: 0;
    margin-bottom: 3.75rem;
    position: relative;
}

.roadmap__title {
    margin: 0;
    margin-bottom: .3125rem;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: bold;
    font-size: var(--title-4);
    line-height: 1.25;
    letter-spacing: 0.5px;
    color: var(--main-color);
    position: absolute;
    top: -5.625rem;
}

.roadmap__cards-block {
    justify-content: start;
    gap: 1.875rem;
    max-width: 100%;
    flex-wrap: wrap;
}

.rm-card {
    position: relative;
    z-index: 1;

    display: flex;
    padding: 0 1.5rem 0 1.8125rem;
    align-items: center;
    gap: 1.5rem;
    width: 21.875rem;
    min-width: 21.875rem;
    height: 9.25rem;
    background: #FFFFFF;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    border-radius: 90px;
    overflow: hidden;
    cursor: pointer;
    outline: 0 solid transparent;
    transition: outline-color 0.3s ease;
    will-change: outline-color;
}

.rm-card:focus-visible {
    outline: 0;
  }

.rm-card::before {
    content: "";
    position: absolute;
    z-index: -1;

    background-color: #F0F9F8; 
    background-position: center;

    transition: transform 0.3s ease;
    will-change: transform;

    top: 80%;
    left: calc(50% - 190px / 2);

    width: 11.875rem;
    height: 11.875rem;
    border-radius: 50%;

    transform: scale(1);
    transform-origin: bottom;
    }


.rm-card:hover::before {
  transform: scale(2.5);
}
.rm-card:visited::before {
    transform: scale(2.5);
  }
  .rm-card:active::before {
    background-color: #E3F6F4;
}
/* .rm-card:focus-visible::before {
  transform: scale(3);
} */

.rm-card--active {
    outline: 2px solid var(--green-e-color);
}

.rm-card--disabled {
    opacity: .7;
    background-color: #F1F3F4;
    outline: 2px solid #FFFFFF;
    pointer-events: none;
}

.rm-card--disabled {
    content: none;
}

.roadmap .rm-card__image {
    width: 5.9375rem;
    min-width: 5.9375rem;
    height: 5.9375rem;
    border-radius: 50%;
}


.rm-card__text {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--text-lg);
    line-height: 1.22;
    letter-spacing: 0.5px;
    color: var(--main-color);

    margin: 0;
    padding: 0;
}

.rm-card__text--time {
    font-size: var(--text-lg);
    font-weight: 500;
}

.rm-card__text--last {
    background: none;
}

.rm-card__text--first, 
.rm-card__text--last {
    display: block;
}

@media (max-width: 1219px) {    
    .rm-card {
        padding: 0 1.5rem 0 1.875rem;
        width: 20.625rem;
        min-width: 20.625rem;
        height: 8.75rem;
    }
    .rm-card__image {
        width: 5rem;
        min-width: 5rem;
        height: 5rem;
    }
    .rm-card::before {
        width: 11.25rem;
        height: 11.25rem;
        left: calc(50% - 11.25rem / 2);
    }
    .rm-card__text {
        font-size: var(--text-base);
    }
}
@media (max-width: 767px) {
    .roadmap__cards-block {
        gap: 1.5rem;
    }
    .rm-card {
        padding: 1.25rem;
        width: 18.125rem;
        min-width: 18.125rem;
        height: 7.5rem;
        gap: 1.5rem;
    }
    .rm-card__text {
        font-size: var(--text-sm);
    }    
}


.reg-end,
.on-air {
    position: absolute;
    top: 0;
    right: 10px;
    min-width: 12.75rem;
    height: 1.875rem;
    background: var(--dark-orange-e-color);
    border-radius: 25px;
    color: var(--white-color);
    display: none;
    justify-content: center;
    align-items: center;
    padding: .25rem .75rem;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: var(--text-base);
    line-height: 1.35;
    letter-spacing: 0.5px;
    color: var(--white-color);
}

.on-air {
    top: calc(50% - 17px);
    right: 100px;
    min-width: 7.1875rem;
    -webkit-animation: blinker 1.5s linear infinite;
    animation: blinker 1.5s ease-in-out infinite;
}

@media (min-width: 426px) and (max-width: 1185px) {
    .on-air {
        right: 20px;
    }
}

.card:first-child>.reg-end,
.card:first-child>.on-air {
    display: none;
}

.rm-text {
    width: calc(100% - 118px);
    margin-left: 7.375rem;
    padding-left: .875rem;
    margin-top: -4.125rem;
    padding-top: .875rem;
    background-image: url(/local/templates/techfest/assets/css/../img/_dash.png);
    background-repeat: repeat-x;
    background-position: top left;
}

.rm-text-last {
    background: none;
}

.rm-text-first.rm-text-last {
    padding-top: 0;
    margin-top: -5.625rem;
    padding-bottom: 3.75rem;
    padding-left: 1.875rem;
}

/***********show on-air*************
.card:first-child>.rm-text-first {
    display: none;
}
.card:first-child>.on-air {
    display: block;
}
***********end show on-air*************/

@media (max-width: 1185px) {
    .rm-text-first.rm-text-last {
        margin-top: -5rem;
    }
}

@media (max-width: 568px) {
    .reg-end {
        height: 1.5625rem;
        min-width: 10.375rem;
        padding: 0 .4375rem;
        font-size: .8125rem;
        line-height: 1.35;
        font-weight: 300;
        letter-spacing: 0.2px;
    }
    .on-air {
        height: 1.875rem;
        min-width: 7.1875rem;
        padding: .25rem .75rem;
    }
}

@media (max-width: 425px) {
    .rm-text-first.rm-text-last {
        margin-top: -5.9375rem;
    }
}


.rm-card__text {
    margin: .625rem 0;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: var(--text-lg);
    line-height: 1.4;
}

.rm-card__text--time {
    font-size: var(--text-lg);
    font-weight: 500;
}

.rm-card.single {
	cursor: auto;
}

/* ABOUT */

.about {
    margin-top: 20px;
    margin-bottom: 50px;
}

.about .left-block {
    width: 527px;
    min-width: 527px;
    height: auto;
    margin-right: 50px;
}

.about-icons {
    margin-top: 50px;
    display: none;
    flex-direction: row;
    flex-wrap: wrap;
}

.about-icons .block {
    width: 255px;
}

.about .right-block {
    margin-top: 30px;
}

.button {
    cursor: pointer;
}

.about .button {
    cursor: pointer;
    margin-top: 35px;
    width: 180px;
    height: 45px;
    min-height: 45px;
    padding: 10px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.all-txt {
    display: none;
}


/* FEATURES */

.features {
    display: block;
    margin-top: 50px;
    margin-bottom: 55px;
}

.features .block {
    width: 220px;
    height: 200px;
}

.features img {
    margin-bottom: 12px;
}


/* PROGRAM */

.programs {
    margin-top: 3.4375rem;
    margin-bottom: 4.375rem;
}

.programs__title-block {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.programs__title {
    margin-bottom: 4.375rem;
}

.programs__city,
.programs__city--select-city {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: var(--text-xl);
    line-height: 1.34;
    margin-top: 3rem;
    padding-right: 2rem;
    position: relative;
}

.programs__city::after,
.programs__city--select-city::after {
    content: '';
    position: absolute;
    display: block;
    width: 1rem;
    height: .625rem;
    top: 8px;
    right: 0;
    background-image: url(/local/templates/techfest/assets/css/../img/_arrow-down_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.programs__city.open::after,
.programs__city--select-city.open::after {
    transform: rotate(180deg);
}

.programs__city--one-city {
    padding-right: 0;
}

.programs__city--one-city::after {
    display: none;
}

.programs__cards-block {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.876rem;
    align-content: stretch;
}

.programs .program {
    flex: 0 0 calc(50% - 0.968rem);
    padding: 3.4375rem 3.75rem 4.0625rem 2.5rem;
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;

    cursor: pointer;
}

.programs .program .program__wrap-link {
    content: '';
    position: absolute;
    display:block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    cursor: pointer;
}

.programs .program:hover {
    box-shadow: none;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}

.programs .program1 {    
    background-color: var(--orange-g-color), #E5523D;
    background-image: url(/local/templates/techfest/assets/css/../img/_program_bg-1.jpg);
    box-shadow: 0 10px 35px rgba(123, 65, 47, 0.3);
}

.programs .program2 {
    background-color: linear-gradient(69.68deg, #065886 25.09%, #2F82AF 97.25%), #213B7A;
    background-image: url(/local/templates/techfest/assets/css/../img/_program_bg-2.jpg);
    box-shadow: 0 10px 30px rgba(9, 107, 162, 0.3);
}

.programs .program3 {
    background-color: linear-gradient(69.68deg, #CED4E2 25.09%, rgba(255, 255, 255, 0.62) 97.25%), #EEEEEE;
    background-image: url(/local/templates/techfest/assets/css/../img/_program_bg-3.jpg);
    box-shadow: 0 10px 30px rgba(125, 135, 152, 0.35);
}

.programs .program4 {
    background-color: linear-gradient(69.68deg, #065886 25.09%, #2F82AF 97.25%), #213B7A;
    background-image: url(/local/templates/techfest/assets/css/../img/_program_bg-4.jpg);
    box-shadow: 0 10px 30px rgba(164, 22, 248, 0.3);
}

.programs .program1:hover {
    box-shadow: 0 10px 35px rgba(123, 65, 47, 0.9);
}
.programs .program2:hover {
    box-shadow: 0 10px 35px rgba(9, 107, 162, 0.9);
}

.programs .program3:hover {
    box-shadow: 0 10px 35px rgba(125, 135, 152, 0.9);
}
.programs .program4:hover {
    box-shadow: 0 10px 35px rgba(164, 22, 248, 0.9);
}

.program__title {
    font-weight: 700;
    font-size: 2.25rem;
    line-height: 1.5;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.programs .program1 h3,
.programs .program2 h3,
.programs .program4 h3,
.programs .program1 p,
.programs .program2 p,
.programs .program4 p,
.programs .program1 a,
.programs .program2 a,
.programs .program4 a {
    color: var(--white-color);
}

.programs .program3 h3,
.programs .program3 p,
.programs .program3 a {
    color: var(--main-color);
}

.program__description {
    max-height: 8.25rem;
    overflow: hidden;
    -webkit-line-clamp: 6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.program__word-link {
    position: relative;
    display: flex;
    justify-content: flex-start;
    width: fit-content;
    height: auto;
    font-weight: 500;
    color: var(--white-color);
    padding-top: 0;
    padding-right: 1.25rem;
    line-height: 1;
    text-align: right;
    cursor: pointer;
}

.program__word-link::after {
    position: absolute;
    content: '';
    display: block;
    width: .625rem;
    height: .875rem;
    top: 1px;
    right: 0;
    background-image: url(/local/templates/techfest/assets/css/../img/_arrow-right_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.program3 .program__word-link::after {
    background-image: url(/local/templates/techfest/assets/css/../img/_arrow-right_blue.svg);
}

a.menu-button::after {
    display: none;
}

.programs .program3 a::after {
    position: absolute;
    content: none;
    display: block;
    width: .625rem;
    height: .875rem;
    top: 2px;
    right: -20px;
    background-image: url(/local/templates/techfest/assets/css/../img/_arrow-right_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

/* program block - choice city popup */
.popup-window {
    background: transparent; 
    box-shadow: none;    
}

.popup-window-content {
    border-radius: 20px;
    background-color: #CCE7FF;
    padding: 10px!important;
}
.menu-popup {
    padding: 0;
}
.menu-popup .menu-popup-item {
    height: 40px;
}
.menu-popup-item-text {
    font-size: 20px;
}
.menu-popup-no-icon .menu-popup-item-text {
    padding: 0 10px;
}
.menu-popup-item:hover, .menu-popup-item.menu-popup-item-open {
    background-color: #00AD9F;
    border-radius: 10px;
}
.menu-popup-item:hover .menu-popup-item-text {
    color: #ffffff;
}
@media screen and (max-width: 1185px) {
    .menu-popup-item-text {
        font-size: 16px;
    }
}
/* SPEAKERS */

.speakers {
    margin-top: 70px;
    margin-bottom: 70px;
}

.speakers .flex-row {
    flex-wrap: wrap;
    justify-content: center;
    align-items: start;
    gap: 30px;
    margin-bottom: 50px;
}

.button-block {
    width: 100%;
    text-align: center;
    margin-top: 22px;
}

.speaker {
    width: 255px;
    text-align: center;
    margin: 0;
}
.speaker__image {
    display: block;
    width: 255px;
    height: 255px;
    background-size: cover;
    position: relative;
    overflow: hidden;
    z-index: 1;
}
.speaker__image::before {
    content: '';
    position: absolute;
    top: 33%;
    left: 6%;
    display: block;
    width: 90%;
    height: 90%;
    background-color: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    transition: transform 0.3s ease;
  will-change: transform;
    transform: scale(1);
    transform-origin: center;
    z-index: -1;
}
.speaker__image:hover::before {
  transform: scale(2.1);
}
.speaker__image:focus-visible::before {
  transform: scale(2);
}
.speaker:nth-child(5n) .speaker__image {
    background-image: url(/local/templates/techfest/assets/css/../img/photo-bg/photo-bg-0.svg);
}
.speaker:nth-child(5n+1) .speaker__image {
    background-image: url(/local/templates/techfest/assets/css/../img/photo-bg/photo-bg-1.svg);
}
.speaker:nth-child(5n+2) .speaker__image {
    background-image: url(/local/templates/techfest/assets/css/../img/photo-bg/photo-bg-2.svg);
}
.speaker:nth-child(5n+3) .speaker__image {
    background-image: url(/local/templates/techfest/assets/css/../img/photo-bg/photo-bg-3.svg);
}
.speaker:nth-child(5n+4) .speaker__image {
    background-image: url(/local/templates/techfest/assets/css/../img/photo-bg/photo-bg-4.svg);
}

.speaker img {
    width: 100%;
    height: auto;

}

.speaker h3 {
    margin-top: 22px;
    margin-bottom: 4px;
    position: relative;
}

/* .speaker h3::after {
    position: absolute;
    content: '';
    display: block;
    width: 54px;
    height: 4px;
    left: calc(50% - 54px / 2);
    bottom: -16px;
    background: #00B0A0;
    border: 1px solid #00B0A0;
    box-sizing: border-box;
    border-radius: 4px;
} */

.speaker p {
    margin: 0;
}

.speakers button {
    margin: 0 auto;
    cursor: pointer;
}

.all-speakers {
    display: none;
}


/* FEEDS */

.feeds {
    margin-top: 40px;
    margin-bottom: 50px;
}

.feeds-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 46px;
}

.feeds-header__title {
    margin-top: 0;    
    margin-bottom: 0;
}
.feeds-header__link {
    min-width: 90px;
}

.feeds a {
    position: relative;
    font-size: 16px;
    line-height: 150%;
    color: #00AD9F;
    padding-right: 25px;
}

.feeds .allfeeds::after {
    position: absolute;
    content: '';
    display: block;
    width: 10px;
    height: 16px;
    top: 4px;
    right: 0;
    background-image: url(/local/templates/techfest/assets/css/../img/_arrow-right_green.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.feeds .flex-row {
    overflow-x: hidden;
}

.feeds .flex-row+.flex-row {
    margin-top: 40px;
}

.r-card {
    display: block;
    width: 560px;
    height: 460px;
    padding: 35px 30px 0 25px;
    background-image: url(/local/templates/techfest/assets/css/../img/_bg-rounds-grey.png);
    background-size: contain;
    background-position: top -34px right -56px;
    background-repeat: no-repeat;
}

.r-card__text-block {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    height: auto;    
    background-color: #ffffff;
    box-shadow: 0px 10px 35px rgba(131, 131, 131, 0.25);
    padding: 35px 24px 24px 35px;
    position: relative;
    margin-bottom: 43px;
}
.r-card__text-block::after {
    content: '';
    display: block;
    left: 35px;
    bottom: -13px;
    background-color: #ffffff;
    width: 27px;
    height: 27px;
    transform: rotate(45deg);
    position: absolute;
}

.r-card__quote {
    display: block;
    width: 59px;
    height: 41px;
    min-height: 41px;
    background-image: url(/local/templates/techfest/assets/css/../img/_quotes.svg);
    background-size: cover;
    background-repeat: no-repeat;    
}
.r-card__text {
    position: relative;
    display: block;
    height: 156px;
    overflow-y: auto;    
    overflow-y: auto; 
    margin: 0;
    padding: 0;  
    padding-right: 20px;
}

.r-card__text::after {   
    content: '';
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 60px;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 90%);
}

/* .r-card__text:hover {
    background: none;
    -webkit-text-fill-color: rgba(13, 64, 101, 1);
} */


/* CUSTOM SCROLL-BAR */

.r-card__text::-webkit-scrollbar {
    width: 5px;
}

.r-card__text::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.05);
    -webkit-border-radius: 15px;
    border-radius: 15px;
}

.r-card__text::-webkit-scrollbar-thumb {
    -webkit-border-radius: 15px;
    border-radius: 15px;
    background: #00B0A0;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0);
}

.r-card__text::-webkit-scrollbar-thumb:window-inactive {
    background: #00B0A0;
}

.r-card__author-name {
    font-weight: 700;
    padding-left: 35px;
    margin-top: 0;
}

.r-card__author-position {
    font-size: 14px;
    line-height: 18px;
    padding: 0 265px 0 35px;
    margin: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/* PHOTOS */

.photos {
    margin-top: 50px;
    margin-bottom: 115px;
}

.photo {
    display: block;
    width: 254px;
    height: 254px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    padding: 174px 22px 22px;
    z-index: -3;
}

.photos p {
    color: #ffffff;
    font-weight: 500;
    font-size: 20px;
    line-height: 150%;
    margin: 10px 0;
    z-index: 10;
    position: relative;
}

.photos time {
    color: #ffffff;
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 16px;
    line-height: 150%;
    padding-left: 30px;
    z-index: 10;
    position: relative;
}

.photos time::after {
    content: '';
    position: absolute;
    display: block;
    width: 19px;
    height: 19px;
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-calendar.svg);
    background-repeat: no-repeat;
    background-size: contain;
    top: 0;
    left: 0;
}

.overlay0 {
    background-image: linear-gradient(199.07deg, rgba(137, 201, 237, 0.1) 33.9%, #6A73C8 74.65%);
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -2;
    pointer-events: none;
    -webkit-transition-duration: 0.7s;
    -moz-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    transition-duration: 0.7s;
}

.overlay {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
    pointer-events: none;
}

.overlay1 {
    background-image: url(/local/templates/techfest/assets/css/../img/_fotoalbum-hover.png);
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
    pointer-events: none;
    -webkit-transition-duration: 0.7s;
    -moz-transition-duration: 0.7s;
    -o-transition-duration: 0.7s;
    transition-duration: 0.7s;
    opacity: 0;
}

.photos a:hover {
    box-shadow: 0px 4px 35px rgba(0, 0, 0, 0.25);
}

.photos a:hover .overlay0 {
    opacity: 0;
}

.photos a:hover .overlay1 {
    background-image: url(/local/templates/techfest/assets/css/../img/_fotoalbum-hover.png);
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    overflow: hidden;
    opacity: 1;
}


/* PARTNERS */

.partners {
    margin-top: 50px;
    margin-bottom: 30px;
}

.partners__title {
    margin: -20px 0 60px;
}

.partners__block {
    margin-bottom: 60px;
    justify-content: flex-start;
    gap: 130px;
}

.partners__partner {
    width: 180px;
}

.partners__partner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* FEEDBACK FORM */

.feedback {
    position: relative;
    width: 100%;
    margin-top: 80px;
    padding-top: 38px;
    padding-bottom: 41px;
    background-image: url(/local/templates/techfest/assets/css/../img/_bg-form-left.png), url(/local/templates/techfest/assets/css/../img/_bg-form-right.png), url(/local/templates/techfest/assets/css/../img/_bg-form-all.png);
    background-size: auto, auto, cover;
    background-position: bottom left, top right, center center;
    background-repeat: no-repeat;
}

.feedback h2 {
    color: #ffffff;
    text-align: center;
    margin: 31px 0 8px;
    font-size: 36px;
}

.feedback form {
    width: 730px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    z-index: 100;
}

.feedback input,
.feedback select,
.feedback textarea {
    background: #CCE7FF;
    border: 2px solid transparent;
    outline: none;
    border-radius: 55px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.5px;
    color: #0D4065;
    padding: 10px 27px;
    margin-bottom: 25px;
}

.feedback input,
.feedback select {
    height: 45px;
}

.feedback textarea {
    height: auto;
}

.feedback input.valid,
.feedback select.valid,
.feedback textarea.valid,
.feedback input:hover,
.feedback select:hover,
.feedback textarea:hover,
.feedback input:active,
.feedback select:active,
.feedback textarea:active {
    border: 2px solid #00AD9F;
}

.feedback input {
    width: 350px;
}

.feedback .select {
    position: relative;
}

.feedback select {
    /*width: 100%;*/
    width: 350px;
    /*margin-top: 20px;*/
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.feedback .full-width select {
    width: 100%;
}

.feedback .select::after {
    position: absolute;
    content: '';
    display: block;
    width: 8px;
    height: 4px;
    background-image: url(/local/templates/techfest/assets/css/../img/_icon-select.svg);
    background-repeat: no-repeat;
    background-position: center center;
    pointer-events: none;
    top: 68px;
    right: 20px;
}

.feedback textarea {
    width: 100%;
    height: 110px;
    border: 2px solid #CCE7FF;
    border-radius: 23px;
    /* margin-bottom: 12px; */
}

.feedback label {
    color: #ffffff;
    margin-bottom: 20px;
}

.feedback label a {
    color: #ffffff;
    padding-left: 5px;
}

.feedback label span {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 150%;
    color: #FF528D;
}

.feedback .lowtext {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 15px;
    align-items: center;
    text-align: center;
    letter-spacing: 0.5px;
    color: #DBE7FE;
}

.feedback .lowtext a {
    color: #DBE7FE;
    text-decoration: underline;
}

.feedback .submit {
    text-align: center;
}

.feedback .button {
    width: 250px;
    height: 52px;
    background: #00B0A0;
    border-radius: 48px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.5px;
    color: #FFFFFF;
    border: 2px solid #00AD9F;
    box-shadow: 0px 15px 20px -15px #20A182;
    transition: ease-in-out box-shadow .3s;
}

.feedback .button:hover {
    box-shadow: 0px 0px 0px 0px #20A182;
}

.errortxt {
    display: none;
    position: absolute;
    content: '';
    top: 82%;
    left: 0;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 150%;
    letter-spacing: 0.5px;
    color: var(--error-color);
}


/* footer */

.slider .prev,
.slider .next {
    margin-top: -190px;
}

.popup-window-content {
    margin-top: -70px;
}

@media (min-width: 1220px) {
    .feeds .item {
        margin-left: -30px;
    }
}

@media (max-width: 1700px) and (min-width: 1186px) {
    .section1 {
        background-image: url(/local/templates/techfest/assets/css/../img/_bg-section1.png);
        background-size: cover;
        background-position-x: -130px;
        padding: 65px 0 15px;
    }
}

@media (min-width: 426px) and (max-width: 1185px) {
    .container {
        width: 690px;
    }

    header {
        height: 65px;
        max-height: 65px;
        padding: 15px 0;
    }

    header .h-logo {
        width: auto;
        height: 40px;
    }

    .section1 {
        background-image: url(/local/templates/techfest/assets/css/../img/_bg-section1.png);
        background-size: cover;
        background-position-x: -330px;
        padding: 65px 0 15px;
    }

    .section1 h1 {
        font-size: 48px;
        line-height: 60px;        
        width: 50%;
        text-shadow: 30px 0px 40px #fff;
    }

    .roadmap h2 {
        font-size: 20px;
        line-height: 25px;
        top: -60px;
    }

    .section1 h3 {
        font-size: 18px;
        line-height: 150%;
    }

    .button {
        height: 42px;
        min-height: 42px;
        width: 200px;
        font-size: 14px;
        line-height: 150%;
        padding: 10px 22px;
    }

    .roadmap {
        width: 100%;
    }

    .roadmap .card {
        width: 235px;
    }

    .roadmap .card img {
        width: 89px;
        height: 89px;
    }

    .rm-text {
        width: calc(100% - 8px);
        margin-left: 90px;
        margin-top: -50px;
        padding-top: 10px;
    }

    .rm-text-last {
        width: 130px;
    }

    .roadmap time,
    .roadmap p {
        font-size: 14px;
        line-height: 18px;
    }

    .about .left-block {
        width: 318px;
        min-width: 318px;
        height: auto;
        margin-right: 40px;
    }

    .about .left-block img {
        width: 318px;
        height: 277px;
    }

    .about .right-block {
        margin-top: 0;
    }

    .about h2 {
        font-size: 28px;
        line-height: 1.5;
        margin: 16px 0;
    }

    .about p,
    .about .preview-txt,
    .about .all-txt {
        font-size: 14px;
        line-height: 135%;
    }

    .about-icons .block {
        width: 155px;
    }

    .about-icons .block img {
        width: 105px;
        height: auto;
    }

    .about-icons h4 {
        font-size: 16px;
        width: 110px;
    }

    .features {
        margin-top: 20px;
        margin-bottom: 37px;
    }

    .features img {
        width: 76px;
        height: 76px;
        margin-bottom: 8px;
    }

    .features h4 {
        font-size: 16px;
        margin: 12px 30px 12px 0;
    }

    .programs {
        margin-top: 3rem;
        margin-bottom: 2.625rem;
    }

    .programs__title {
        font-size: var(--title-3);
        margin-bottom: 2.8125rem;
    }

    .programs__city,
    .programs__city--select-city {
        font-size: var(--text-base);
        margin-top: 2.1875rem;
    }
    .programs__city--one-city {
        padding-right: 0;
    }

    .program {
        min-width: 20.625rem;
        padding: 2.1875rem 1.875rem 1.9375rem;
    }

    .program__title {
        font-size: var(--title-2-mob);
    }

    .program__description {
        font-size: var(--text-sm);
        margin-bottom: 2.25rem;
        line-height: 1.25;
    }

    .speakers {
        margin-top: 42px;
        margin-bottom: 30px;
    }

    .speakers h2 {
        font-size: 28px;
    }

    .speaker {
        width: 137px;        
    }

    .speaker__image {
        width: 137px;
        height: 137px;
    }

    .speaker img {
        width: 100%;
        height: auto;
    }

    .speaker h3 {
        font-size: 14px;
        margin: 10px 18px 4px;
    }

    .speaker p {
        font-size: 12px;
        line-height: 18px;
    }

    /* .speaker h3::after {
        width: 31px;
        height: 3px;
        left: calc(50% - 31px / 2);
        bottom: -10px;
    } */

    .feeds {
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .slider {
        height: auto;
    }

    .feeds h2 {
        font-size: 26px;
    }

    .feeds .allfeeds::after {
        top: 5px;
        height: 12px;
    }

    .feeds .flex-row+.flex-row {
        margin-bottom: 40px;
    }

    /* .r-card__text-block {
        width: 350px;
        height: 305px;
        background-image: url(/local/templates/techfest/assets/css/../img/_feedback_bg-p.png);
        padding: 95px 32px 17px 32px;
    }

    .r-card__text-block::before {
        content: '';
        position: absolute;
        display: block;
        width: 38px;
        height: 26px;
        top: 48px;
        left: 32px;
    }

    .r-card__text {
        font-size: 14px;
    }

    .r-card__author-name {
        font-size: 14px;
        padding-left: 32px;
        margin-bottom: 0;
    }

    .r-card__author-position {
        font-size: 12px;
        padding: 0 32px;
        margin: 10px 0;
    } */

    .photos {
        margin-top: 30px;
        margin-bottom: 83px;
    }

    .photos h2 {
        font-size: 28px;
        margin-bottom: 45px;
    }

    .photo {
        width: 160px;
        height: 160px;
        padding: 106px 14px 14px;
    }

    .photos time {
        font-size: 12px;
        padding-left: 20px;
    }

    .photos time::after {
        width: 13px;
        height: 13px;
    }

    .photos p {
        font-size: 14px;
        margin: 5px 0;
    }

    .partners {
        margin-top: 30px;
        margin-bottom: 10px;
    }

    .partners__title {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .partners__partner {
        width: 112px;
    }

    .feedback {
        margin-top: 0;
        padding-top: 33px;
        background-size: 30%, 30%, cover;
        background-position: bottom left -45px, top -90px right -43px, center center;
    }

    .feedback h2 {
        font-size: 28px;
        margin: 31px 0 30px;
    }

    .feeds a {
        font-size: 14px;
    }

    .feedback form {
        width: 450px;
    }

    .feedback .flex-row {
        flex-direction: column;
    }

    .feedback input,
    .feedback select {
        height: 40px;
    }

    .feedback input,
    .feedback select,
    .feedback textarea {
        width: 100%;
        padding: 7px 21px;
        margin-bottom: 22px;
        font-size: 14px;
        line-height: 150%;
    }

    .feedback textarea {
        height: auto;
    }

    .errortxt {
        font-size: 12px;
    }

    #eula-error.errortxt {
        bottom: -20px;
    }

    .feedback .lowtext {
        margin-top: 5px;
    }

    .popup-window-content {
        margin-top: -45px;
    }
}

@media (min-width: 491px) and (max-width: 767px) {
    .prog-row {
        flex-wrap: wrap;
    }
    .partners__block {
        flex-direction: row;
        flex-wrap: wrap;
        /* justify-content: center; */
        gap: 70px 130px;
        margin-left: -5px;
        margin-right: -5px;
    }
}

@media (min-width: 426px) and (max-width: 1120px) {
    .programs__cards-block {
        flex-wrap: wrap;
    }
    .partners__block {
        flex-direction: row;
        flex-wrap: wrap;
        /* justify-content: center; */
        gap: 4.375rem 8.125rem;
        margin-left: -.3125rem;
        margin-right: -.3125rem;
    }
}

@media (min-width: 426px) and (max-width: 490px) {
    .prog-row {
        flex-wrap: wrap;
    }
    .partners__block {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 40px 80px;
        margin-left: 0;
        margin-right: 0;
    }

    .partners__partner {
        width: 112px;
    }
}

@media (min-width: 426px) and (max-width: 767px) {
    .container {
        width: 400px;
        width: calc(100% - 40px)
    }

    header {
        height: 65px;
        max-height: 65px;
        padding: 15px 0;
    }

    header .h-logo {
        width: auto;
        height: 40px;
    }

    .fo-row {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .section1 {
        background-position-x: -400px;
    }

    .feedback .lowtext {
        margin-top: 5px;
    }        
}


.posrel {
    position: relative;
}

.chkbx {
    margin: 0 auto 0 40px;    
}

.custom-checkbox {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.custom-checkbox+label {
    display: inline-flex;
    align-items: center;
    user-select: none;
    flex-wrap: wrap;
}

.custom-checkbox+label::before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    flex-grow: 0;
    background: #CCE7FF;
    border: 1px solid transparent;
    box-sizing: border-box;
    border-radius: 3px;
    margin-right: 1rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 50% 50%;
}

.custom-checkbox:checked+label::before {
    border-color: #0b76ef;
    background-color: #0b76ef;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

.custom-checkbox:not(:disabled):not(:checked)+label:hover::before {
    border-color: #b3d7ff;
}

.custom-checkbox:not(:disabled):active+label::before {
    background-color: #b3d7ff;
    border-color: #b3d7ff;
}

.custom-checkbox:focus+label::before {
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.custom-checkbox:focus:not(:checked)+label::before {
    border-color: #80bdff;
}

.custom-checkbox:disabled+label::before {
    background-color: #e9ecef;
}

.error,
.error+label::before {
    border: 2px solid #FF3C7E !important;
}

#eula-error {
	top: 20px;
}

@media (max-width: 1219px) {
    .slider .prev,
    .slider .next {
        margin-top: -170px;
    }

    .section1 h2 {
        font-size: 18px;
        line-height: 27px;
        text-shadow: 2px 0px 5px #fff;
    }

    .programs .program {
        min-width: 330px;
        height: 290px;
        padding: 35px 30px 23px;
    }

    .custom-checkbox+label {
        font-size: 12px;
        line-height: 18px;
    }

    .eragrt {
        bottom: -20px;
    }

    .slider .item {
        margin: 0 -16px;
    }

    .r-card {
        width: 384px;
        min-width: 304px;
        height: auto;
        padding-top: 16px;
        padding-right: 16px;
        background-position: top -25px right -53px;
    }

    .r-card__text-block {
        gap: 23px;
        height: 290px;
        margin-bottom: 33px;
        padding: 30px 24px 14px 18px;
    }
    .r-card__quote {
        width: 39px;
        height: 27px;
        min-height: 27px;
    }
    .r-card__text {        
        height: 180px;
        font-size: 14px;
        line-height: 17px;
    }
    .r-card__author-name {        
        padding-left: 18px;
        margin-bottom: 10px;
    }
    
    .r-card__author-position {
        font-size: 12px;
        line-height: 14px;
        padding: 0 0 0 18px;
    }    
}

/* ******************** 767px ******************** */
@media (max-width: 767px) {
    .slider .item {margin: 0;}
    /* .r-card {
        width: 304px;
    } */

}
@media (max-width: 646px) {
    .feeds .flex-row {flex-wrap: wrap;}
}
/* ******************** 568px ******************** */
@media (max-width: 568px) {
    .custom-checkbox+label {
        font-size: 12px;
        line-height: 15px;

        display: inline-block;
        position: relative;
        padding-left: 30px;
    }
    .custom-checkbox+label::before {
        position: absolute;
        top: 0;
        left: 0;
    }
    .eragrt {
        bottom: -20px;
        line-height: 15px;
    }

    .errortxt {
        font-size: 12px;
    }

    #eula-error.errortxt {
        bottom: -20px;
        max-width: 300px;
    }
}
@media (max-width: 425px) {
    #eula-error.errortxt {
        top: 40px;
    }
}


/* reviews*/

.reviewSwiper {
    position: relative;
    padding-bottom: 72px;
}

.reviewSwiper-pagination {
    font-weight: 400;
    font-size: 16px;
    letter-spacing: 0.5px;
    color: #96B2C9;
    font-family: 'Montserrat', sans-serif;
    width: 100px;
    left: 50%;
    transform: translate(-50%, 0);
}

.reviewSwiper-pagination span {
    font-size: 18px;
}

.reviewSwiper-pagination .swiper-pagination-current {
    color: #00B0A0;
    font-weight: 500;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    display: none;
}

.reviewSwiper-btn-next svg {
    transform: rotate(180deg);
}

.reviewSwiper-btn {
    stroke: #00B0A0;
    top: auto;
    bottom: 0;
}

.reviewSwiper-btn svg {
    width: 9px;
    height: 18px;
}

.swiper-button-next {
    right: -7px;
}

.swiper-button-prev {
    left: -7px;
}

.reviewSwiper-btn-next.swiper-button-next.swiper-button-disabled,
.reviewSwiper-btn-prev.swiper-button-prev.swiper-button-disabled {
    stroke: #EBEDF2;
    opacity: 1;
}

@media (max-width: 768px) {
    .reviewSwiper-pagination {
        font-size: 14px;
    }
}

.review-card-wrap {
    position: relative;
    padding: 40px 70px 0 70px;
    background: #fff;
}

.reviewSwiper-slider {
    margin-left: -20px;
    margin-right: -20px;
}

.review-card-wrap:after {
    content: '';
    width: 76%;
    max-width: 475px;
    height: 75%;
    max-height: 280px;
    position: absolute;
    display: block;
    background: url(/local/templates/techfest/assets/css/../img/points.png) no-repeat center center;
    top: -5px;
    right: 20px;
}

.reviewSwiper .swiper-slide {
    padding: 0;
}

.review-card:after {
    content: '';
    width: 25px;
    height: 25px;
    position: absolute;
    display: block;
    background: #fff;
    left: 30px;
    transform: rotate(45deg);
    z-index: 10;
    bottom: -13px;
}

.review-card {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 90px 25px 26px 35px;
    max-height: 296px;
    box-shadow: 0 15px 61px rgba(131, 131, 131, 0.2);
}

.review-card:before {
    content: '';
    width: 59px;
    height: 41px;
    position: absolute;
    display: block;
    background: url(/local/templates/techfest/assets/css/../img/quotes.png) no-repeat center center;
    background-size: contain;
    top: 38px;
    left: 35px;
}

.review-signature {
    padding: 40px 35px 5px;
}

.review-author {
    font-weight: 700;
    margin-bottom: 10px;
}

.review-author-position {
    font-size: 14px;
    line-height: 1.5;
    max-width: 220px;
}

@media (max-width: 1185px) {    
    .reviewSwiper-slider {
        margin-left: -45px;
        margin-right: -45px;
    }

    .review-card-wrap:after {
        right: 30px;
        width: 75%;
    }

    .reviewSwiper .swiper-slide {
        padding: 0;
    }
}

@media (max-width: 768px) {
    .review-card {
        padding: 60px 15px 5px 30px;
    }

    .review-card:before {
        width: 38px;
        height: 27px;
        top: 30px;
    }

    .review-card-wrap:after {
        height: 59%;
        top: -9px;
        right: 37px;
        width: 60%;
    }

    .review-signature {
        padding: 30px 15px 5px 30px;
    }

    .review-author {
        margin-bottom: 5px;
        font-size: 14px;
    }

    .review-author-position {
        font-size: 12px;
    }

    .reviewSwiper-pagination span {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .reviewSwiper-slider {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 560px) {
    .reviewSwiper-slider {
        margin-left: -15px;
        margin-right: -15px;
    }

    .reviewSwiper .swiper-slide {
        padding: 0;
    }

    .review-card-wrap {
        padding-left: 0;
        padding-right: 0;
    }

    .review-card-wrap:after {
        right: -36px;
        width: 100%;
    }
}

@media (max-width: 360px) {
    .review-card {
        padding: 60px 15px 5px 20px;
    }

    .review-signature {
        padding: 30px 15px 5px 20px;
    }

    .review-card:before {
        top: 25px;
        left: 20px;
    }

    .review-author {
        font-size: 12px;
    }

    .review-author-position {
        font-size: 10px;
        max-width: 180px;
    }
}

.photos .photo {
    padding: 0;
}

.photos .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.photos .photo .overlay0 {
    z-index: 1;
}

.photos .photo-signature {
    padding: 20px 20px 10px 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.photos .photo-signature p {
    line-height: 1.3;
}

.photo-location {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

@media (max-width: 1185px) {
    .photos .photo-signature {
        padding: 10px 10px 5px;
    }
}

@media (min-width: 426px) and (max-width: 767px) {
    .photos .flex-row {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-left: -5px;
        margin-right: -5px;
    }
}
/********** qr-images *********/
.apps__links_qr {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.apps__links_qr .apps__qr-image {
        width: 150px;
        height: 150px;
    }
@media (max-width: 550px) {    
    .apps__qr-image {
        display: none;        
    }  
    .apps__links_qr {
        align-items: flex-start;
        gap: 5px;
        margin-bottom: 40px;
    }
}
/****************************/
@media (max-width: 1219px) {
	.butt-block.streaming {
		width: 100%;
        justify-content: space-around;
	}
	.butt-block.streaming .stream-button {
        width: calc(50% - 10px);
		margin-right: 0;
	}
}
@media (max-width: 600px) {
	.butt-block.streaming .stream-button {
        width: 100%;
	}
}
/**************** 425px *********************/

@media (max-width: 425px) {
    .container {        
        width: 100%;
        padding: 0 15px;
    }

    .flex-row,
    .roadmap .flex-row {
        flex-direction: column;
        align-items: center;
    }

    .roadmap .flex-row {
        align-items: flex-start !important;
    }

    h2 {
        font-size: 22px;
        line-height: 33px;
    }

    .photos h2 {
        margin-bottom: 37px;
    }

    .feedback h2 {
        font-size: 24px;
    }

    .section1 {
        background-image: url(/local/templates/techfest/assets/css/../img/_bg-section1-m.png);
        background-position: top center;
        background-size: contain;
        padding-top: 95px;
    }

    .section1 h1 {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 28px;
        width: 75%;
    }

    .section1 h2 {
        font-size: 16px;
        line-height: 20px;
        width: 150px;
    }

    .section1 h3 {
        font-size: 16px;
        line-height: 20px;
        margin-bottom: 12px;
        width: 50%;
    }

    .button {
        height: 35px;
        min-height: 35px;
        font-weight: 500;
        font-size: 12px;
        padding: 9px;
        width: 200px;
    }

    .section1 .but-block {
        margin-bottom: 62px;
    }

    .roadmap {
        margin-top: 15px;
        margin-bottom: 5px;
    }

    .roadmap h2 {
        margin-bottom: 5px;
        font-size: 18px;
        line-height: 22px;
        top: -60px;
    }

    .roadmap time,
    .roadmap p {
        font-size: 14px;
        line-height: 17px;
    }

    .feedback .flex-row {
        display: block;
    }

    .roadmap .card {
        width: 288px;
        position: relative;
    }

    .roadmap .card img {
        width: 98px;
        height: 98px;
    }

    .roadmap .card::after {
        content: '';
        position: absolute;
        display: block;
        width: 2px;
        height: 208px;
        background-image: url(/local/templates/techfest/assets/css/../img/_dash-v.png);
        background-repeat: repeat-y;
        background-position: top left;
        background-size: auto;
        top: 98px;
        left: 48px;
        z-index: -1;
    }

    .roadmap .card:last-child::after {
        display: none;
    }

    .reg-end {
        height: 25px;
        min-width: 166px;
        top: 78px;
        right: 8px;
        padding: 0 7px;
        font-size: 13px;
        line-height: 135%;
        font-weight: 300;
        letter-spacing: 0.2px;
    }
    .on-air {
        height: 25px;                                
        font-size: 13px;
        line-height: 135%;
        font-weight: 300;
        letter-spacing: 0.2px;
        min-width: 90px;
        right: 80px;
        padding: 3px 8px
    }
    .rm-text {
        background-image: none;
        margin-top: -90px;
        margin-left: 115px;
        padding-top: 0;
        padding-left: 0;
        margin-bottom: 70px;
    }

    .about {
        margin-top: 42px;
        margin-bottom: 0;
    }

    .about-icons {
        display: none !important;
    }

    .about .left-block {
        width: 100%;
        min-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    .about .left-block img {
        width: 100%;
        height: auto;
    }

    .about .right-block {
        margin-top: 11px;
    }

    .about h2 {
        font-size: 24px;
        line-height: 30px;
    }

    .about p,
    .about .preview-txt,
    .about .all-txt {
        font-size: 12px;
        line-height: 135%;
    }

    .about p {
        margin-bottom: 16px;
    }

    .about .preview-txt,
    .about .all-txt {
        line-height: 16px;
    }

    .about .wrapper {
        display: flex;
        justify-content: center;
        margin: 32px auto;
    }

    .about .button {
        margin-top: 0;
        width: 220px;
        height: 35px;
        padding: 8px;
    }

    .features {
        display: block !important;
        margin-top: 24px;
        margin-bottom: 25px;
    }

    .features .flex-row {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .features .block {
        width: 130px;
        height: 168px;
        padding-right: 20px;
    }

    .features img {
        width: 66px;
        height: 66px;
        margin-bottom: 8px;
    }

    .features h4 {
        font-size: 12px;
        margin-top: 8px;
    }

    .programs {
        margin-top: 1.5rem;
        margin-bottom: 0;
    }

    .programs__title {
        font-size: var(--title-2-mob);
        margin-top: 0;
        margin-bottom: 2rem;
    }

    .programs__city,
    .programs__city--select-city {
        font-size: var(--text-base);
        line-height: 1.34;
        margin-top: .375rem;
        margin-bottom: 2rem;        
        padding-right: 1.5rem;
    }
    
    .programs__city::after,
    .programs__city--select-city::after {
        width: .625rem;
    }

    .programs__city--one-city {
        margin-left: 1.5rem;
        padding-right: 0;
        min-width: 7.625rem;
        overflow-x: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .programs__cards-block {
        flex-flow: column;
        gap: 0;
        align-items: center;
    }

    .program {
        min-width: 17rem;
        height: 15rem;
        margin-bottom: 2rem;
        padding: 2.25rem 1.5625rem;
    }

    .program__title {
        font-size: var(--title-2-mob);
        line-height: 1.375;
    }

    .program__description {
        font-size: var(--text-xs);
        line-height: 1.25;
        margin-bottom: 1.5625rem;
        max-height: 5.625rem;
    }

    .program__word-link::after {
        height: .625rem;
    }

    .speakers {
        margin-top: 46px;
        margin-bottom: 40px;
    }

    .speakers h2 {
        font-size: 22px;
        line-height: 33px;
        margin-top: 0;
        margin-bottom: 10px;
    }

    .speakers .flex-row {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

    .speaker {
        width: 137px;                
    }

    .speaker__image {
        width: 137px;
        height: 137px;
        object-fit: cover;
    }

    .speaker img {
        width: 100%;
        height: auto;
    }

    .speaker h3 {
        font-size: 14px;
        margin: 10px 18px;
    }

    .speaker p {
        font-size: 12px;
        line-height: 18px;
    }

    /* .speaker h3::after {
        width: 29px;
        height: 2px;
        left: calc(50% - 29px / 2);
        bottom: -12px;
    } */

    .feeds {
        margin-top: 22px;
        margin-bottom: 20px;
    }

    .feeds .flex-row {
        flex-direction: column;
    }
    .feeds .flex-row+.flex-row{
        margin-top: 0;
        margin-bottom: 0;
    }
    .feeds h2 {
        margin-bottom: 28px;
        width: 100%;
        text-align: left;    
    }

    .feeds .slider {
        margin: 0 -15px;
        min-width: 320px;
        width: 100%;
        max-width: 425px;
    }

    .feeds a {
        font-size: 12px;
        margin-top: 10px;
        padding-right: 12px;
        margin-bottom: 28px;
    }

    .feeds .allfeeds::after {
        width: 5px;
        height: 10px;
        top: 6px;
    }
    .slider .item {
        margin-right: 16px;
    }
    .feeds-header {
        margin-bottom: 28px;
    }
    .r-card {      
        width: 100%;
        min-width: 304px;
        margin-bottom: 35px;
        background-position: top -28px right -50px;
    }
    .r-card__text-block {
        margin-bottom: 23px;
    }
    .r-card__text-block::after {
        bottom: -10px;
    }
    .r-card__text {
        height: 180px;
        font-size: 12px;
        line-height: 14px;
    }
    .r-card__author-name {
        font-size: 12px;
        line-height: 18px;
        margin-bottom: 8px;
    }
    .r-card__author-position {
        font-size: 10px;
        line-height: 12px;
    }

    .slider {
        height: auto;
    }

    .slider .prev,
    .slider .next {
        top: 100.7%;
        margin-top: -20px;
        padding: 16px 0;
    }

    .slider-dots_digit-first,
    .slider-dots_digit-last {
        font-size: 16px;
    }

    .photos {
        margin-top: 20px;
        margin-bottom: 66px;
    }

    .photos .flex-row {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin-left: -5px;
        margin-right: -5px;
    }

    .photo {
        width: 141px;
        min-width: 160px;
        height: 141px;
        min-height: 160px;
        padding: 84px 10px 12px;
        margin: 2px;
        margin-bottom: 0;
    }

    .photos time {
        font-size: 10px;
        line-height: 150%;
        padding-left: 18px;
    }

    .photos time::after {
        width: 12px;
        height: 12px;
    }

    .photos p {
        font-size: 12px;
        line-height: 150%;
        margin: 4px 0;
    }

    .partners {
        margin-top: 20px;
        margin-bottom: 0;
    }

    .partners__title {
        width: 130px;
        margin: -5px 0 22px;
    }

    .partners__block {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 40px 80px;
        margin-left: 0;
        margin-right: 0;
    }

    .partners__partner {
        width: 112px;
        margin: 2px;
    }

    .feedback {
        margin-top: 10px;
        padding-top: 17px;
        padding-bottom: 42px;
        background: linear-gradient(222.57deg, #89C9ED 0.66%, #6A73C8 76.06%) #002E64;
    }

    .feedback form {
        width: 100%;
    }

    .feedback label {
        font-size: 14px;
        line-height: 150%;
        margin-bottom: 12px;
    }

    .feedback input,
    .feedback select,
    .feedback textarea {
        width: 100%;
        padding: 5px 21px;
        margin-bottom: 22px;
        font-size: 12px;
        line-height: 150%;
    }

    .feedback input,
    .feedback select {
        height: 35px;
    }

    .feedback textarea {
        height: 138px;
    }

    .feedback .lowtext {
        font-size: 10px;
        line-height: 13px;
        margin-top: 5px;
    }

    .fo-row {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .feedback .select::after {
        top: 56px;
    }

    .mfooter {
        padding: 45px 15px 28px;
    }

    .popup-window-content {
        margin-top: -25px;
    }
}
/* End */
/* /local/templates/techfest/assets/fonts/font.css?1736838549652 */
/* /local/templates/techfest/assets/css/slider.css?17368385492785 */
/* /local/templates/techfest/assets/css/main-style.css?173683854915702 */
/* /local/templates/techfest/assets/css/anim.css?17368385496982 */
/* /local/templates/techfest/assets/css/modal.css?17368385494650 */
/* /local/templates/techfest/assets/css/breadcrumbs.css?17368385491993 */
/* /local/templates/techfest/assets/css/variables.css?17368385492375 */
/* /local/templates/techfest/assets/css/style.css?175620666853401 */
