@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

body{margin:0;padding:0;font-family:"Open Sans", Helvetica, Arial, sans-serif;font-size:14px;background:#f8f9fa;color:#384045;}
p,li{padding:0;margin:0;line-height:1.6;}
p:not(:last-child){margin:0 0 20px 0;}
div{box-sizing:border-box;}
a{color:#1a5276;outline:none;text-decoration:underline;}
.table .tr{display:flex;flex-flow:row wrap;}

.bg01{background:#edf0f2;}
h1{color:#f1c40f;text-shadow:2px 2px 2px rgb(0,0,0,0.7);font-size:260%;}

.wrap{max-width:1200px;margin:0 auto;padding-bottom:30px;padding-left:20px;padding-right:20px;position:relative;}
.wrap h2{padding:50px 0 30px;text-align:center;font-size:200%;color:#1a5276;font-weight:700;}
.wrap h2:after{background:#f1c40f;content:'';width:120px;height:4px;display:block;margin:20px auto 0;border-radius:2px;}

.l2cols .col{width:100%;}
.l3cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}

.team-photo{max-width:100%;border-radius:10px;}
.team-grid{display:flex;flex-flow:wrap;justify-content:space-around;gap:20px;}
.team-item{width:48%;text-align:center;}
.team-item .attraction-text{padding:12px 8px 0;}

.top{background-color:rgba(26,82,118,0.95);position:fixed;top:0;left:0;width:100%;z-index:99;backdrop-filter:blur(5px);}
.top .wrap{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:center;padding:20px 10px;}
.top .logo{color:#fff;text-shadow:2px 2px 2px rgb(0,0,0,0.7);font-size:160%;font-weight:700;line-height:1;text-decoration:none;}
.top .menu{flex:1;display:none;flex-flow:row wrap;justify-content:flex-end;align-items:center;}
.top .menu a{text-decoration:none;color:#fff;margin:5px 15px;}
.top .menu a.archive-link{opacity:0.85;}

.regbtn{display:inline-block;background-color:#f1c40f;color:#2c3e50;font-weight:bold;padding:10px 20px;text-decoration:none;border-radius:8px;transition:all 0.3s ease;cursor:pointer;border:none;box-shadow:0 4px 15px rgba(0,0,0,0.2);text-transform:uppercase;animation:tilt 2s infinite ease-in-out;}
@keyframes tilt {
	0%{transform:rotate(-5deg);}
	50%{transform:rotate(5deg);}
	100%{transform:rotate(-5deg);}
}
.regbtn:hover{background-color:#e6b800;transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.3);}

.preview{background:linear-gradient(rgba(26,82,118,0.85),rgba(26,82,118,0.9)),var(--hero-bg,url("/images/ds-oka.jpg")) center center / cover;min-height:100vh;padding-top:80px;position:relative;overflow:hidden;}
.preview::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,0.05),rgba(255,255,255,0.15),rgba(255,255,255,0.05));background-size:200% 100%;animation:pulseWave 6s infinite;pointer-events:none;}
@keyframes pulseWave {
	0%{background-position:0% 50%;}
	50%{background-position:100% 50%;}
	100%{background-position:0% 50%;}
}
.preview .wrap{min-height:100%;display:flex;flex-flow:row wrap;justify-content:center;align-items:center;}
.preview .wrapmid{text-align:center;position:relative;z-index:1;}
.preview .venue{display:inline-block;margin:0 0 18px;padding:12px 28px;background:rgba(241,196,15,0.95);color:#1a1a1a;font-weight:800;font-size:120%;letter-spacing:0.02em;border-radius:10px;text-transform:uppercase;box-shadow:0 6px 20px rgba(0,0,0,0.35);}
.preview .name{color:#fff;font-size:110%;}
.preview .when{margin:20px 0;padding:20px 30px;background:rgb(0,0,0,0.45);border-radius:10px;color:#fff;font-weight:600;}
.preview .announce{margin:16px auto 8px;max-width:640px;padding:14px 24px;background:#c0392b;color:#fff;font-weight:800;font-size:105%;border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,0.35);letter-spacing:0.01em;}
.preview .regbtn{padding:20px 40px;}

.top .logo-sub{display:block;margin-top:6px;font-size:55%;font-weight:600;color:#f1c40f;text-shadow:none;letter-spacing:0.02em;}

.about .img{flex:1;min-width:300px;border-radius:10px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,0.1);}
.about .img img{width:100%;height:auto;display:block;transition:transform 0.5s ease;}
.about .img img:hover{transform:scale(1.1);}

.itwas{background:#d6e4ed;}
.gallery{width:100%;max-width:800px;margin:0 auto;}
.gallery img{width:100%;height:400px;object-fit:cover;display:block;}
.itwas__text{margin:20px auto;text-align:center;}
.itwas__text a{color:#196dff;}

.program .table{padding:20px;background:#fff;border-radius:10px;}
.program .tr{justify-content:space-between;align-items:stretch;padding:20px 0;}
.program .tr:not(:last-child){border-bottom:1px dashed #eee;}
.program .td:first-child{width:100px;font-weight:700;color:#1a5276;}
.program .td:last-child{flex:1;margin-left:20px;}

.groups p{color:#922b21;text-align:center;}
.groups .col{display:flex;flex-flow:row wrap;justify-content:stretch;align-items:stretch;}
.group{transition:transform 0.5s ease;display:flex;flex-flow:column;justify-content:stretch;align-items:stretch;width:100%;margin-bottom:30px;}
.group:hover{transform:translateY(-10px);}
.group .title{background:#1a5276;border-radius:10px 10px 0 0;padding:20px;color:#fff;}
.group .title span{display:block;text-align:center;font-size:110%;font-weight:600;}
.group .title span.comment{font-size:80%;padding:7px 0 0 0;font-weight:400;}
.group .body{background:#fff;border-radius:0 0 10px 10px;padding:30px;box-shadow:0 10px 25px rgba(0,0,0,0.1);flex:1;}
.group .body ul{list-style:none;margin:0;padding:0;font-size:90%;}
.group .body li{padding:10px 20px 10px 30px;position:relative;}
.group .body li:not(:last-child){border-bottom:1px solid #eee;}
.group .body li:before{content:"♟";color:#f1c40f;position:absolute;left:0;}

.footer{background:#2c3e50;}
.footer .wrap{padding:40px 10px;}
.footer .title{color:#f1c40f;font-weight:600;padding:10px 0 20px;font-size:120%;}
.footer .body{color:#eee;line-height:1.8;}

.cont{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;}
.cont .item{background:#fff;border-radius:10px;padding:20px;box-shadow:0 0 10px 0 rgb(0,0,0,0.1);transition:transform 0.5s ease;}
.cont .item:hover{transform:translateY(-10px);}
.cont .icon{font-size:60px;text-align:center;}
.cont .text span{text-align:center;display:block;}
.cont .text span:first-child{font-weight:600;padding:20px 0 20px;}

.badge{display:inline-block;background:#fff;border:1px solid #d6e4ed;border-radius:20px;padding:8px 14px;font-size:90%;box-shadow:0 2px 8px rgba(0,0,0,0.06);}
.note{margin-top:20px;padding:15px 20px;background:#fff;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,0.05);font-size:90%;}

.mainForm{max-width:600px;width:100%;margin:0 auto;}
.req{color:red;font-size:120%;}
.mainForm div.shadow{background:#fff;box-shadow:0 0 20px 0 #ddd;padding:20px;margin-bottom:40px;border-radius:10px;}
.mainForm .data-group{padding:0 0 20px;}
.mainForm .data-group label{display:block;font-weight:bold;padding:10px 0;color:#374756;}
.mainForm .data-group .iblock{display:block;padding:15px;border:1px solid #ddd;border-radius:8px;width:100%;box-sizing:border-box;transition:box-shadow 0.3s ease;font-size:100%;}
.mainForm .data-group .iblock:focus{outline:none;box-shadow:0 0 0 3px #ccd;}
.mainForm .data-group .hint{padding:10px 0;color:#aaa;font-size:90%;}
.mainForm .data-group .cb_flex{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;padding:0;}
.mainForm .data-group .cb_flex span{line-height:1.4;flex:1;padding-left:10px;font-size:80%;font-weight:400;}
.cta-button{display:inline-block;background-color:#f1c40f;color:#2c3e50;padding:18px 35px;font-size:1.3rem;font-weight:700;text-decoration:none;border-radius:8px;transition:all 0.3s ease;cursor:pointer;border:none;box-shadow:0 4px 15px rgba(0,0,0,0.2);}
.cta-button:hover{background-color:#e6b800;transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,0.3);}

.archive-page{padding-top:100px;min-height:70vh;}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding-top:20px;}
.archive-card{background:#fff;border-radius:10px;padding:24px;box-shadow:0 10px 25px rgba(0,0,0,0.1);transition:transform 0.3s;}
.archive-card:hover{transform:translateY(-6px);}
.archive-card .status{display:inline-block;font-size:75%;font-weight:700;padding:4px 10px;border-radius:6px;margin-bottom:10px;text-transform:uppercase;}
.archive-card .status-active{background:#d4edda;color:#155724;}
.archive-card .status-upcoming{background:#fff3cd;color:#856404;}
.archive-card .status-archive{background:#e2e3e5;color:#383d41;}
.archive-card h3{margin:0 0 10px;color:#1a5276;}
.archive-card a{color:#1a5276;font-weight:600;text-decoration:none;}
.archive-card a:hover{text-decoration:underline;}

@media screen and (min-width:800px){
	.preview .when{margin:40px 0;}
	.l2cols{display:flex;flex-flow:row wrap;justify-content:space-between;}
	.l2cols .col{width:49%;}
	.team-item{width:31%;}
	.group{margin-bottom:0;}
	.program .td:first-child{width:150px;}
	body{font-size:18px;}
	.top .menu{display:flex;padding-right:20px;font-size:90%;}
	.footer .wrap{font-size:80%;}
}
