#top {
    position:relative;
}
#top:after {
    position:absolute;
    content:'';
    width:600px;height:600px;
    top:600px;left:-300px;
    background:url('/images/sneg-big.png') 0 0 no-repeat;
}
.mx1366 {
    max-width:1366px;
    margin:0 auto;
}
.topmod {
    padding:40px 20px;
    position:relative;
    overflow:hidden;
}
.topmod:before {
    position:absolute;
    content:'';
    width:200px;height:200px;
    top:-100px;left:-25px;
    background:url('/images/sneg-small.png') 0 0 no-repeat;
}
.topmod:after {
    position:absolute;
    content:'';
    width:300px;height:300px;
    top:150px;right:-150px;
    background:url('/images/sneg-middle.png') 0 0 no-repeat;
    z-index:100008880;
}
.topmod-inner {
    text-align:center;
    margin:0 auto 100px;
    position:relative;
    padding:50px 0;
}
.topmod-inner:before {
    position:absolute;
    content:'';
    width:200px;height:200px;
    bottom:-100px;left:0;
    background:url('/images/corner-left.png') 0 0 no-repeat;
}
.topmod-inner:after {
    position:absolute;
    content:'';
    width:200px;height:200px;
    top:0;right:0;
    background:url('/images/corner-right.png') 0 0 no-repeat;
}
.topmod-inner p {
    font-size:24px;
    margin-bottom:50px;
    line-height:150%;
}
.topmod-inner p a {
    color:#C62A32;
}
p.description {
    text-align:center;
    max-width:968px;
    font-size:24px;
    line-height:150%;
}
.topmod-icon-end {
    display:block;
    margin:50px auto -20px;
    text-align:center;
}

@media screen and (max-width:768px) {
    .topmod h1 {font-size:50px;}
    .topmod-inner p {padding:0 20px;}
}
@media screen and (max-width:768px) {
    .topmod h1 {max-width:260px;display:block;margin:0 auto;}
}

/* ---------------------------------------
	programs
-----------------------------------------*/

.programs {
    margin:20px 0;
    background:url('/images/green-fon.jpg') 50% 0 no-repeat;
}
.programs-inner {
    padding:250px 0 50px;
}
.programs-inner > p {
    color:#fff;
    text-align:center;
    font-size:30px;
    max-width:968px;
    display:block;
    margin:0 auto;
    line-height:150%;
    font-family: "Finlandica-Medium";
}
.programs-list {
    justify-content:center;
}
.program {
    width:calc(100% / 3 - 10px);
}
.program p {
   text-align:center;
}
.programs-list {
    margin:75px 0 0;
}
.program b {
    display:block;
    font-family: "Finlandica-Bold";
    font-weight:normal;
    font-size:51px;
    line-height:100%;
    color:#C62A32;
    margin-bottom:20px;
}
.program span {
    font-size:24px;
    font-family: "Finlandica-Medium";
}
.program img {
    border:15px solid rgb(255 255 255 / 50%);
    border-radius:50%;
    max-width:340px;
    display:block;
    margin:0 auto;
}
@media screen and (max-width:1180px) {
    .program img {border:10px solid rgb(255 255 255 / 50%);max-width:280px;}
    .program b {font-size:40px;}
    .programs-inner > p {padding:0 20px;}
}
@media screen and (max-width:900px) {
    .program {width:calc(100% / 2 - 10px);}
}
@media screen and (max-width:680px) {
    .programs-inner {padding:150px 0 50px;}
    .program {width:100%;margin-top:30px;}
}

/* ---------------------------------------
   scenaryi
-----------------------------------------*/

.scenaryi {
    margin:20px 0;
    padding:20px;
    position:relative;
}
.scenaryi-inner {
    border:5px solid #C62A32;
    border-radius:20px;
    background:url('/images/elochkas.jpg') 120% 0 no-repeat, #fdfaf3;
    right:0;top:0;
    padding:40px;
}
.scenaryi h2 {
    text-align:left;
    color:#295D44;
    display:block;
    margin:25px 0 25px 55px;
    font-size:40px;
}
.scenaryi ul {
    margin:0 0 0 0;
    padding:0 0 0 0;
    
}
.scenaryi ul li {
    list-style:none;
    position:relative;
    font-family: "Finlandica-Medium";
    font-size:21px;
    background:url('/images/gift.png') 0 0 no-repeat;
    max-width:600px;
    padding:0 0 0 60px;
    min-height:50px;
    margin-bottom:15px;
}
.scenaryi ul li:nth-child(odd) {
    background:url('/images/star.png') 0 0 no-repeat;
}

@media screen and (max-width:1180px) {
    .scenaryi-inner {
        background:url('/images/elochkas.jpg') 160% 0 no-repeat, #fdfaf3;
    }
}
@media screen and (max-width:1024px) {
    .scenaryi-inner {
        background:url('/images/elochkas.jpg') 200% 0 no-repeat, #fdfaf3;
    }
}
@media screen and (max-width:968px) {
    .scenaryi-inner {
        background:url('/images/elochkas.jpg') 240% 0 no-repeat, #fdfaf3;
    }
}
@media screen and (max-width:900px) {
    .scenaryi-inner {
        background:none;
    }
}
@media screen and (max-width:480px) {
    .scenaryi ul li {
    padding:0 0 0 60px;}
    .scenaryi-inner {padding:40px 20px 40px 10px;}
    .scenaryi h2 {font-size:30px;}
    .scenaryi {padding:20px 5px;}
}



/* ---------------------------------------
	onin
-----------------------------------------*/

.onin {
    margin:0;
    padding:120px 20px;
    position:relative;
    overflow:hidden;
}
.onin:after {
    position:absolute;
    content:'';
    width:300px;height:300px;
    top:0;right:-50px;
    background:url('/images/sneg-middle.png') 0 0 no-repeat;
    z-index:100;
}
.onin:before {
    position:absolute;
    content:'';
    width:200px;height:200px;
    top:400px;left:-50px;
    background:url('/images/sneg-small.png') 0 0 no-repeat;
    z-index:100;
}
.onin-inner {
    border-radius:20px;
    background:#ae1a2a;
    right:0;top:0;
    padding:40px 0 100px 0;
    color:#fff;
    border:10px double #fff;
    position:relative;
    margin:0 auto;
    max-width:1180px;
    z-index:1000;
}
.onin-inner:before {
    position:absolute;
    content:'';
    width:235px;height:280px;
    top:-100px;left:-20px;
    background:url('/images/snegoviku.png') 0 0 no-repeat;
}
.onin h2 {
    text-align: center;
    margin-bottom:10px;
    color:#fff;
    font-size:40px;
    position: relative;
    font-family: "Finlandica-Bold";
    font-weight:normal;
}
.onin-flex {
    padding:50px 0;
    justify-content:center;
}
.onin-left {
    width:calc(100% / 2 - 80px);
}
.onin-right {
    width:calc(100% / 2 - 80px);
}
.onin-flex p b {
    display:block;
    margin-bottom:10px;
    color:#fff;
    font-size:20px;
    position: relative;
    font-family: "Finlandica-Bold";
    font-weight:normal;
    padding:0 0 0 40px;
}
.onin-flex ul {
    margin:0;
    padding:0 40px;
}
.onin-flex ul li {
    list-style:none;
    position:relative;
    padding:0 0 0 30px;
    font-size:20px;
    line-height:125%;
    margin-bottom:15px;
}
.onin-flex ul li:before {
    content:'';
    position:absolute;
    width:12px;height:12px;
    top:7px;left:0;
    background:#65AE8B;
    border-radius:50%;
}
.onin-place {
    background:url('/images/krugi.png') 0 0 no-repeat;
    height:400px;
    margin-top:20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#333;
    font-size:20px;
}
.onin-place p {
    position:relative;
    padding-left:120px;
    max-width:524px;
}
.onin-place p:before {
    content:'';
    position:absolute;
    width:100px;height:100px;
    top:-25px;left:0;
    background:#65AE8B;
    border-radius:50%;
    background:url('/images/sanki.png') 0 0 no-repeat;
}
.onin-place a {
    color:#0b512f;
    text-decoration:none;
    border-bottom:2px solid #0b512f;
    font-family: "Finlandica-Medium";
    font-weight:normal;
}
.onin-place a:hover {
    color:#ae1a2a;
    border-bottom:2px solid #ae1a2a;
}

@media (max-width: 900px) {
    .onin {padding:170px 20px 70px;}
    .onin-inner:before {top:-180px;left:calc(100% / 2 - 115px);}
    .onin-inner {padding:100px 0 100px 0;}
}
@media (max-width: 768px) {
    .onin-left, .onin-right {width:100%;}
    .onin h2 {font-size:30px;}
    .onin-flex {padding:20px 0;}
}
@media (max-width: 600px) {
    .onin {padding:170px 0 70px;}
    .onin-flex ul {padding:0 20px;}
    .onin-place {background:url('/images/krugi.png') 50% 0 no-repeat;}
    .onin-place p:before {top:-80px;left:calc(100% / 2 - 50px);}
    .onin-place p {padding:20px;}
    .onin-place p a {display:inline-block;}
}

/* ---------------------------------------
	bron
-----------------------------------------*/

.bron {
    margin:0;
    padding:80px 120px;
    position:relative;
    overflow:hidden;
}
.bron:after {
    position:absolute;
    content:'';
    width:300px;height:300px;
    top:300px;right:-150px;
    background:url('/images/sneg-middle.png') 0 0 no-repeat;
    z-index:100;
}
.bron:before {
    position:absolute;
    content:'';
    width:200px;height:200px;
    top:50px;left:-100px;
    background:url('/images/sneg-small.png') 0 0 no-repeat;
    z-index:100;
}
.bron-inner {
    background:url('/images/elka-fon.png') -350px 50% no-repeat, #295D44;
    border-radius:20px;
    padding:20px 40px 0 40px;
    color:#fff;
    position:relative;
    margin:0 auto;
    max-width:900px;
    z-index:1000;
    height:520px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.bron-inner:before {
    position:absolute;
    content:'';
    width:250px;height:214px;
    top:-75px;right:-105px;
    background:url('/images/sshapo.png') 0 0 no-repeat;
    z-index:100;
}
.bron p {
    color:#fff;
    font-size:30px;
    font-family: "Finlandica-Medium";
    font-weight:normal;
    display:block;
    margin-bottom:30px;
}
.bron a {
    color:#fff;
    font-size:50px;
    font-family: "Finlandica-Medium";
    font-weight:normal;
    display:block;
    margin-bottom:20px;
    text-decoration:none;
}
.bron a:hover {
    color:#fff65d;
}
.bron-links {
    margin:50px 0 0;
}
.bron-links p {
    text-align:center;
}
.bron-links-inner {
    display:flex;
    justify-content:space-between;
}
.bron-links a {
    width:calc(100% / 3);
    font-size:16px !important;
    margin:0 10px;
    font-family: "Finlandica-Medium";
    font-weight:normal;
    text-align:center;
    min-width:220px;
    padding:10px 15px;
    background:#ae1a2a;
    border:3px solid #ccc;
    border-radius:50px;
}
.bron-links a b {
    font-size:18px !important;
    font-family: "Finlandica-Medium";
    font-weight:normal;
    display:block;
}
.bron-links a:hover {
    background:#f5a70f;
    color:#333;
    border:3px solid #333;
}

@media (max-width: 1180px) {
    .bron-inner {
        height:628px;
    }
    .bron-links-inner {
        flex-wrap:wrap;flex-direction:column;
        align-items:center;
    }
    .bron-links a {
        width:auto;max-width:220px;
        margin:0 0 20px;
    }
    .bron-links {
        margin:30px 0 0;
    }
}
@media (max-width: 768px) {
    .bron {padding:80px 105px 80px 30px;}
    .bron p {font-size:25px;}
    .bron a {font-size:40px;}
}
@media (max-width: 600px) {
    .bron {padding:45px 50px 80px 10px;}
    .bron p {font-size:20px;margin-bottom:20px;text-align:center;}
    .bron a {font-size:30px;}
    .bron-inner {
        background:url('/images/elka-fon.png') -350px 50% no-repeat, #295D44;
        padding:0 20px;height:580px;
    }
    .bron-inner:before {
        width:125px;height:107px;
        top:-40px;right:-50px;
        background:url('/images/sshapomini.png') 0 0 no-repeat;
        z-index:100;
    }
    .bron-links a {
        padding:10px 5px;min-width:200px;max-width:200px;
    }
}
@media (max-width: 480px) {
    .bron a {font-size:23px;}
}

/* ---------------------------------------
	video
-----------------------------------------*/
.topmod-video {
    margin:200px auto 50px;
    position:relative;
}
.topmod-video:before {
    content:'';
    position:absolute;
    width:221px;height:300px;
    top:-150px;left:calc(50% - 110px);
    background:url('/images/ded-moroz.png') 0 0 no-repeat;
    z-index:1000;
}
.video-container {
    position: relative;
    width: 100%;
    max-width:968px;
    margin: 0 auto;
    border-radius:3px;
    overflow: hidden;
    background: #000;
    border:5px solid #ec908f;
}
.video-player {
    width: 100%;
    height: auto;
    display: block;
    transition: filter 0.3s ease;
}
.video-player::-webkit-media-controls {
    display: none !important;
}
.video-player[controls]::-webkit-media-controls {
    display: flex !important;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.8) 100%
    );
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.5s ease;
    opacity: 1;
    visibility: visible;
}

.video-overlay:hover {
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.5) 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
}

.video-overlay.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.play-button {
    background: none;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
    opacity: 1;
    transform: scale(1);
}

.video-overlay.hidden .play-button {
    opacity: 0;
    transform: scale(0.8);
}

.play-button:hover {
    transform: scale(1.1);
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.7));
}

.play-button:active {
    transform: scale(0.95);
}

.video-player {
    cursor: pointer;
}

@media (max-width: 768px) {
    body {
        padding: 10px;
    }
    
    .video-container {
        border-radius: 8px;
    }
    
    .play-button svg {
        width: 60px;
        height: 60px;
    }
    .topmod-video {
        margin:270px auto 50px;
        position:relative;
    }
    .topmod-video:before {
        top:-210px;
    }
}

@media (max-width: 480px) {
    .play-button svg {
        width: 50px;
        height: 50px;
    }
    .topmod-video {
        margin:230px auto 50px;
        position:relative;
    }
    .topmod-video:before {
        top:-300px;
    }
}

.video-container {
    animation: fadeInUp 0.6s ease-out;
    overflow:hidden;
    z-index:100;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}