

/* 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?177200693414053*/
/* 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;
}

@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;
}

ul {
    padding: 0;
    margin: 0;
}

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

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

.button {
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 44px;
    min-height: 44px;
    vertical-align: middle;
    background: #E46251;
    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: 20px 32px;
    transition: ease-in-out background .15s;
}

.button:hover {
    background: #C04C36;
}

.button:active {
    background: #B4432D;
}


/* HEADER */

header {
    min-height: 114px;
    display: flex;
    align-items: center;
    padding: 32px 0;
    border-bottom: 1px solid #E5E6EF;
    background-color: #ffffff;
    background-position: top center;
    position: sticky;
    inset: 0;
    z-index: 102;
}

header a {
    display: flex;
    align-items: center;
}

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

@media (max-width: 767px) {
    header {
        min-height: auto;
        height: 64px;
        flex: none;
    }

    header .h-logo {
        height: 15px;
    }
}


header .container {
    align-items: center;
}

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;
}



/* 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>span {
    transform: rotate(45deg);
}

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

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

#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;
}

@media(min-width:767px) and (max-width:1219px) {
    .menu__btn {
        top: 45px;
        right: 150px;
    }
}

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

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

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

.desc-menu__box {
    gap: 40px;
    list-style: none;
}

.desc-menu__item {
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.5;
    color: #204572;
}

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

.menu__box {
    display: block;
    position: absolute;
    visibility: hidden;
    top: -450px;
    right: 0;
    width: 100%;
    margin: 0;
    padding-top: 60px;
    list-style: none;
    background-color:  #F9F9FA;
    transition-duration: .6s;
}

.menu__item {
    display: block;
    padding: 16px;
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #243254;
    text-decoration: none;
    transition-duration: .25s;
    border-bottom: 1px solid #DAE0E8;
}

@media(min-width:767px) and (max-width:1219px) {
    .menu__box {
        padding-top: 20px;
    }
}

.menu__item:hover {
    background-color: #f2f2f2;
}

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


/* footer */
.footer {
    padding-bottom: 80px;
}

.footer img {
    margin-top: 50px;
    margin-bottom: 64px;
    height: 22px;
}

.main-footer {
    display: flex;
    justify-content: space-between;
}

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

.footer-col p::before {
    content: '';
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    left: -30px;
    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;
}

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


@media(max-width: 1219px) {
    .main-footer {
        flex-direction: column;
    }

    .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:768px) and (max-width:1219px) {
    .container:not(.container-index) {
        width: 690px;
    }

    html,
    body {
        scroll-padding-top: 75px;
    }
    .slider {
        height: 400px;
    }
}

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

    .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;
    }

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

    .menu__btn {
        right: 20px;
    }

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

    .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;
    }
}

/* 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?17720069341999*/
    .breadcrumbs {
        margin-top: 50px;
        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: 20px;
            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 */
/* /local/templates/techfest/assets/fonts/font.css?1736838549652 */
/* /local/templates/techfest/assets/css/slider.css?17368385492785 */
/* /local/templates/techfest/assets/css/main-style.css?177200693414053 */
/* /local/templates/techfest/assets/css/anim.css?17368385496982 */
/* /local/templates/techfest/assets/css/modal.css?17368385494650 */
/* /local/templates/techfest/assets/css/breadcrumbs.css?17720069341999 */
/* /local/templates/techfest/assets/css/variables.css?17368385492375 */
