/* reset */
html, body, div, span, h1, h2, ul, li {margin:0; padding:0}
*, :after, :before {-webkit-box-sizing: border-box; box-sizing: border-box}
body {font-weight: normal; line-height: 20px; font: 16px Roboto, 'Helvetica CY', Verdana, sans-serif; color: #000;}
h1 {font-weight: normal; font-size: 24px;}
h2 {font-weight: normal; font-size: 20px;}
html { scroll-behavior: smooth;}
img { max-width: 100%; }
a { color: #0275d8; text-decoration: none; }
a:focus, a:hover { text-decoration: none; color: #014c8c; outline: none; }
p { margin: 15px; }
.none { display: none !important; }
/* reset */

/* content */

.container {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* Styles Header */

.header {
    background: url("./../img/header/header-bg.jpg") repeat no-repeat scroll 0% center/cover #51637E;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    color: #FFF;
    position: relative;
    z-index: 1;
}

/* Styles Snow */

.snowfall {
    position: fixed;
    inset: 0;
    z-index: 100000;
    mix-blend-mode: screen;
    pointer-events: none;
    background: url("https://static.tildacdn.com/tild3833-3139-4962-b231-356366633138/7dDt.gif") center/cover repeat;
    transition: opacity 3s ease;
}

/* Styles Menu */
.main-menu {overflow: hidden; width: 100%; height: 100px; box-shadow: 0px 0px 17px -1px rgba(0, 0, 0, 0.66);
background: #1E4776; position:fixed; left: 0; top: 0; z-index: 100; border-bottom: solid 1px #181818}
.main-menu__internal {width: 1024px; height: 94px; margin: 0 auto}
.main-menu__headline {height: 61px; padding-top:21px; border-bottom: solid 1px #fff; display: flex; Justify-content: space-between;}

    /* Сверкающий текст CSS для курсов */
    @-webkit-keyframes blink {
        10% { transform: scale(1, 1) rotate(80deg); }
        20% { transform: scale(0, 0) rotate(160deg); }
        100% { transform: scale(0, 0) rotate(0deg); }
    }
    @keyframes blink {
        10% { transform: scale(1, 1) rotate(80deg); }
        20% { transform: scale(0, 0) rotate(160deg); }
        100% { transform: scale(0, 0) rotate(0deg); }
    }
    #blink {
        position: relative;
        display: inline-block;
        color: #fff;
        text-shadow: 0 0 10px #3d7a97;
    }
    #blink:after, #blink:before {
        content: "";
        position: absolute; top: 0; left: 0;
        display: block;
        width: 100px;
        height: 100px;
        background-image: 
           radial-gradient(rgba(255,255,255,1), rgba(255,255,255,0) 30%),
           linear-gradient(45deg, rgba(0,0,0,0) 49%, rgba(255,255,255,.4) 50%, rgba(0,0,0,0) 51%),
           linear-gradient(135deg, rgba(0,0,0,0) 49%, rgba(255,255,255,.4) 50%, rgba(0,0,0,0) 51%);
        -webkit-animation: blink 10s linear infinite;
        animation: blink 10s linear infinite;
        transform: scale(0, 0) rotate(0deg);
    }
    #blink:before {
        top: -70%;
        right: 0; left: auto;
        -webkit-animation-delay: 5s;
        animation-delay: 5s;
    } /*
    #blink thead:before {
        content: '';
        background: url('../img/with-coming-year/m_santa-hat.png') repeat no-repeat scroll 0% 0% transparent;
        position: absolute;
        top: -10px;
        left: 208px;
        width: 50px;
        height: 50px;
        z-index: -1;
    } */
    .main-menu__items {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        height: 40px; 
    }
    .main-menu__items .main-menu__link {
        margin-right: 10px;
    }
    .main-menu__items .main-menu__link a {
        color: #BFE2FF;
        display: inline-flex;
        font-size: 10px;
        text-transform: uppercase;
        text-decoration: none;
        transition: all 0.3s ease;
        border-bottom: 2px solid transparent;
    }
    .main-menu__items .main-menu__link a:hover {
        color: #FFF;
    }
    .main-menu__items .main-menu__link a.active {
        border-bottom: 2px solid #FFF;
        padding-bottom: 6px;
        color: #FFF;
    }
    section#section-1, section#section-2, section#section-3, section#section-4 { padding: 15px 10px; }
    section.active {
        /* Стиль для активной секции */
        box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 16px 20px rgba(0,0,0,0.2);
        background: #f4f2f2;
    }

.header__title {
    font-weight: 700;
    font-size: 56px;
    line-height: 1.3;
    text-align: center;
    color: #FFF;
    margin: 0 0 25px;
}

.header__courses__title {
    font-weight: 700;
    font-size: 30px;
    line-height: 1.1;
    text-align: center;
    margin: 25px 15px;
}

.portfolio__header--title {
	font-size: 37px !important;
}

.header__subtitle {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #FFF;
    margin: 0;
}

.header__arrow {
    height: 48px;
    width: 48px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%, 0)
}

/* Style Portfolio */

.portfolio {
    padding-top: 80px;
    padding-bottom: 85px;
}

.portfolio__header {
    margin: 0 0 70px;
    font-weight: 700;
    font-size: 46px;
    line-height: 1.3;
    text-align: center;
    color: #000;
}

.portfolio__cards-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.card {
    margin-bottom: 30px;
    max-width: 540px;
    background-color: #FFF;
    box-shadow: 0px 10px 40px rgba(126, 155, 189, 0.35);
    transition: transform 0.2s ease-in;
}

.card:hover {
    transform: translateY(-15px);
}

.card__link {
    display: block;
    padding: 20px;
    color: #000;
    text-decoration: none;
    transition: color 0.2s ease-in;
}

.card__link:hover {
    color: rgb(39, 91, 236);
}

.card__img {
    margin-bottom: 20px;
}

.card__title {
    margin: 0;
    margin-bottom: 13px;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.3;
}

.card p {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
}

.card .sale {
    display: block;
    text-align: center;
    text-transform: uppercase; 
    font-weight: bold; 
    -webkit-animation: sale 3s linear infinite;
    animation: sale 3s linear infinite;
}

@-webkit-keyframes sale {
    0% { color: rgba(255, 34, 34, 1); }
    50% { color: rgba(255, 34, 34, 0); }
    100% { color: rgba(255, 34, 34, 1); }
  }
@keyframes sale {
    0% { color: rgba(255, 34, 34, 1); }
    50% { color: rgba(255, 34, 34, 0); }
    100% { color: rgba(255, 34, 34, 1); }
}

/* Project */

.project {
    padding: 80px 0 120px;
    text-align: center;
}

.project__header {
    margin: 0;
    margin-bottom: 40px;
    font-weight: 700;
    font-size: 46px;
    line-height: 1.3;
}

.project__img {
    margin-bottom: 70px;
}

.project__desctiption {
    margin: 0 auto 60px;
    min-width: 730px;
}

.project__desctiption p {
    margin-top: 0;
    margin-bottom: 15px;
    font-style: 16px;
    line-height: 1.5;
}

.project__btn-back {
    display: inline-block;
    height: 60px;
    padding-left: 30px;
    padding-right: 30px;
    border: 3px solid #275BEC;
    border-radius: 50px;
    color: #275BEC;
    font-weight: 700;
    font-size: 16px;
    line-height: 54px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.2s ease-in;
}

.project__btn-back:hover {
    background-color: #275BEC;
    color: white;
}

.recommended__courses {
    width: 100%;
	border: none;
	margin-bottom: 20px;
	border-collapse: separate;
    table-layout: fixed;
}

.recommended__courses__vnutryanka {
    text-align: center !important;
    padding: 10px 15px !important;
}

.recommended__courses__title {
    font-weight: 600;
    font-size: 24px;
    line-height: 1.3;
    margin: 0 15px;
}

.recommended__courses tr th:first-child, .recommended__courses tr td:first-child {
	border-left: 1px solid #ddd;
}

.recommended__courses tr th:last-child, .recommended__courses tr td:last-child {
	border-right: 1px solid #ddd;
}

.recommended__courses thead tr th:first-child {
	border-radius: 20px 0 0 0;
}

.recommended__courses thead tr th:last-child {
	border-radius: 0 20px 0 0;
}

.recommended__courses thead th {
    font-weight: bold;
	border: none;
	padding: 10px 15px;
	background: #EDEDED;
	font-size: 17px;
	border-top: 1px solid #ddd;
}

.recommended__courses tbody th {
    font-weight: bold;
	text-align: left;
	border: none;
	padding: 10px 15px;
	background: #EDEDED;
	font-size: 14px;
	border-top: 1px solid #ddd;
}

.recommended__courses tbody td {
    text-align: left;
	border: none;
    padding: 0;
	font-size: 14px; 
    vertical-align: top;
}

.recommended__courses tbody tr:nth-child(even) {
	background: #F8F8F8;
}

.recommended__courses tbody tr:last-child td {
	border-bottom: 1px solid #ddd;
}

.recommended__courses tbody tr:last-child td:first-child {
	border-radius: 0 0 0 20px;
}

.recommended__courses tbody tr:last-child td:last-child {
	border-radius: 0 0 20px 0;
}

/* Footer */

.footer {
    padding-top: 25px;
    padding-bottom: 130px;
    background-color: #1E4776;
    color: white;
}

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

.footer__col {
    max-width: 350px;
    flex-grow: 1;
}

.footer__copyright {
    color: #7E9EC9;
    line-height: 1.3;
}

.footer__copyright-name {
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 15px;
}

.footer__copyright p {
    margin: 0;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 16px;
}

.footer__icons p {
    font-weight: 600;
    font-size: 16px;
    line-height: 1.3;
}

.footer__icons-row {
    display: flex;
    align-items: center;
}

.footer__icons-row > * + * {
    margin-left: 30px;
}

.footer__button {
    display: inline-block;
    height: 50px;
    padding-left: 30px;
    padding-right: 30px;
    border: 3px solid #FFF;
    border-radius: 50px;
    color: #FFF;
    font-weight: 700;
    font-size: 16px;
    line-height: 44px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.2s ease-in;
}

.footer__button:hover {
    background-color: white;
    color: #1E4776;
}

.footer__contacts p {
    margin: 15px 0;
    font-size: 16px;
    line-height: 1.3;
    color: #7E9EC9;
}

.scrollup {
    width: 70px;
    height: 70px;
    position: fixed;
    bottom: 5px;
    right: 0;
    display: none;
    text-indent: -9999px;
    background: #1E4776;
    cursor: pointer;
    z-index: 9999;
    border-radius: 50%;
  }
  .scrollup:before,
  .scrollup:after {
    background: #fff;
    border-radius: 5px;
    content: '';
    display: block;
    height: 6px;
    position: absolute;
    transform-origin: 4px 4px;
    width: 25px;
    left: 12px;
    top: 32%;
    margin: auto;
  }
  .scrollup:before {
    transform: translate(21px, 1px) rotate(45deg);
  }
  .scrollup:after {
    transform: translate(18px, 0) rotate(135deg);
  }