@font-face{font-family:Inter;src:url(/static/fonts/Inter-Light.woff2) format("woff2");font-weight:300;font-display:swap}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:15px;scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;line-height:1.6;color:#333;background-color:#fff}
:root{--primary-color:#1c3a57;--secondary-color:#0a0a0a;--success-color:#28a745;--danger-color:#dc3545;--warning-color:#ff8a42;--light-color:#f5f3f3;--dark-color:#343a40;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--shadow-sm:0 1px 3px #0000001f 0 1px 2px #0000003d;--shadow-md:0 4px 6px #0000001a 0 1px 3px #00000014;--shadow-lg:0 10px 15px #0000001a 0 4px 6px #0000000d}
.m-0{margin:0}
.m-1{margin:var(--space-xs)}
.m-2{margin:var(--space-sm)}
.m-3{margin:var(--space-md)}
.m-4{margin:var(--space-lg)}
.m-5{margin:var(--space-xl)}
.mt-0{margin-top:0}
.mt-1{margin-top:var(--space-xs)}
.mt-2{margin-top:var(--space-sm)}
.mt-3{margin-top:var(--space-md)}
.mt-4{margin-top:var(--space-lg)}
.mt-5{margin-top:var(--space-xl)}
.mb-0{margin-bottom:0}
.mb-1{margin-bottom:var(--space-xs)}
.mb-2{margin-bottom:var(--space-sm)}
.mb-3{margin-bottom:var(--space-md)}
.mb-4{margin-bottom:var(--space-lg)}
.mb-5{margin-bottom:var(--space-xl)}
.ml-0{margin-left:0}
.ml-1{margin-left:var(--space-xs)}
.ml-2{margin-left:var(--space-sm)}
.ml-3{margin-left:var(--space-md)}
.ml-4{margin-left:var(--space-lg)}
.ml-5{margin-left:var(--space-xl)}
.mr-0{margin-right:0}
.mr-1{margin-right:var(--space-xs)}
.mr-2{margin-right:var(--space-sm)}
.mr-3{margin-right:var(--space-md)}
.mr-4{margin-right:var(--space-lg)}
.mr-5{margin-right:var(--space-xl)}
.mx-0{margin-left:0;margin-right:0}
.mx-1{margin-left:var(--space-xs);margin-right:var(--space-xs)}
.mx-2{margin-left:var(--space-sm);margin-right:var(--space-sm)}
.mx-3{margin-left:var(--space-md);margin-right:var(--space-md)}
.mx-4{margin-left:var(--space-lg);margin-right:var(--space-lg)}
.mx-5{margin-left:var(--space-xl);margin-right:var(--space-xl)}
.my-0{margin-top:0;margin-bottom:0}
.my-1{margin-top:var(--space-xs);margin-bottom:var(--space-xs)}
.my-2{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}
.my-3{margin-top:var(--space-md);margin-bottom:var(--space-md)}
.my-4{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}
.my-5{margin-top:var(--space-xl);margin-bottom:var(--space-xl)}
.p-0{padding:0}
.p-1{padding:var(--space-xs)}
.p-2{padding:var(--space-sm)}
.p-3{padding:var(--space-md)}
.p-4{padding:var(--space-lg)}
.p-5{padding:var(--space-xl)}
.pt-0{padding-top:0}
.pt-1{padding-top:var(--space-xs)}
.pt-2{padding-top:var(--space-sm)}
.pt-3{padding-top:var(--space-md)}
.pt-4{padding-top:var(--space-lg)}
.pt-5{padding-top:var(--space-xl)}
.pb-0{padding-bottom:0}
.pb-1{padding-bottom:var(--space-xs)}
.pb-2{padding-bottom:var(--space-sm)}
.pb-3{padding-bottom:var(--space-md)}
.pb-4{padding-bottom:var(--space-lg)}
.pb-5{padding-bottom:var(--space-xl)}
.pl-0{padding-left:0}
.pl-1{padding-left:var(--space-xs)}
.pl-2{padding-left:var(--space-sm)}
.pl-3{padding-left:var(--space-md)}
.pl-4{padding-left:var(--space-lg)}
.pl-5{padding-left:var(--space-xl)}
.pr-0{padding-right:0}
.pr-1{padding-right:var(--space-xs)}
.pr-2{padding-right:var(--space-sm)}
.pr-3{padding-right:var(--space-md)}
.pr-4{padding-right:var(--space-lg)}
.pr-5{padding-right:var(--space-xl)}
.px-0{padding-left:0;padding-right:0}
.px-1{padding-left:var(--space-xs);padding-right:var(--space-xs)}
.px-2{padding-left:var(--space-sm);padding-right:var(--space-sm)}
.px-3{padding-left:var(--space-md);padding-right:var(--space-md)}
.px-4{padding-left:var(--space-lg);padding-right:var(--space-lg)}
.px-5{padding-left:var(--space-xl);padding-right:var(--space-xl)}
.py-0{padding-top:0;padding-bottom:0}
.py-1{padding-top:var(--space-xs);padding-bottom:var(--space-xs)}
.py-2{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}
.py-3{padding-top:var(--space-md);padding-bottom:var(--space-md)}
.py-4{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}
.py-5{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}
.text-xs{font-size:var(--text-xs)}
.text-sm{font-size:var(--text-sm)}
.text-base{font-size:var(--text-base)}
.text-lg{font-size:var(--text-lg)}
.text-xl{font-size:var(--text-xl)}
.text-2xl{font-size:var(--text-2xl)}
.text-3xl{font-size:var(--text-3xl)}
.text-4xl{font-size:var(--text-4xl)}
.font-light{font-weight:300}
.font-normal{font-weight:400}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}
.text-primary{color:var(--primary-color)}
.text-secondary{color:var(--secondary-color)}
.text-success{color:var(--success-color)}
.text-danger{color:var(--danger-color)}
.text-warning{color:var(--warning-color)}
.text-light{color:var(--light-color)}
.text-dark{color:var(--dark-color)}
.text-left{text-align:left}
.text-center{text-align:center}
.text-right{text-align:right}
.h1,h1{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--space-lg)}
.h2,h2{font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--space-md)}
.h3,h3{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-md)}
.h4,h4{font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-sm)}
.h5,h5{font-size:var(--text-lg);font-weight:500;margin-bottom:var(--space-sm)}
.h6,h6{font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-sm)}
p{margin-bottom:var(--space-md)}
ol,ul{margin-bottom:var(--space-md);padding-left:var(--space-lg)}
li{margin-bottom:var(--space-xs)}
.d-flex{display:flex}
.d-inline-flex{display:inline-flex}
.flex-column{flex-direction:column}
.flex-row{flex-direction:row}
.justify-start{justify-content:flex-start}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.justify-between{justify-content:space-between}
.justify-around{justify-content:space-around}
.align-start{align-items:flex-start}
.align-center{align-items:center}
.align-end{align-items:flex-end}
.align-stretch{align-items:stretch}
.d-none{display:none}
.d-block{display:block}
.d-inline{display:inline}
.d-inline-block{display:inline-block}
.visible{visibility:visible}
.invisible{visibility:hidden}
.position-static{position:static}
.position-relative{position:relative}
.position-absolute{position:absolute}
.position-fixed{position:fixed}
.position-sticky{position:sticky}
.w-100{width:100%}
.h-100{height:100%}
.vw-100{width:100vw}
.vh-100{height:100vh}
.overflow-hidden{overflow:hidden}
.overflow-auto{overflow:auto}
.overflow-scroll{overflow:scroll}
.border{border:1px solid #dee2e6}
.border-0{border:0}
.border-top{border-top:1px solid #dee2e6}
.border-bottom{border-bottom:1px solid #dee2e6}
.border-left{border-left:1px solid #dee2e6}
.border-right{border-right:1px solid #dee2e6}
.shadow-sm{box-shadow:var(--shadow-sm)}
.shadow-md{box-shadow:var(--shadow-md)}
.shadow-lg{box-shadow:var(--shadow-lg)}
.shadow-none{box-shadow:none}
.header{background-color:#fff;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}
.banner-figure{margin:0;position:relative}
.banner-image{width:100%;height:auto;border-radius:12px;box-shadow:var(--shadow-lg);transition:transform .3s ease,box-shadow .3s ease;display:block}
.banner-caption{text-align:center;font-style:italic;color:var(--secondary-color);margin-top:var(--space-sm);font-size:var(--text-sm);border-left:3px solid var(--primary-color);padding-left:var(--space-sm)}
.latest-routes{padding:var(--space-xl) 0}
.route-card{background:var(--light-color);border-radius:16px;box-shadow:var(--shadow-md);margin-bottom:var(--space-xl);overflow:hidden}
.route-image{height:100%;min-height:300px}
.route-img{width:100%;height:100%;object-fit:cover;display:block}
.route-content{padding:var(--space-xl);display:flex;flex-direction:column;height:100%}
.route-title{font-size:var(--text-2xl);font-weight:700;color:var(--dark-color);margin-bottom:var(--space-md)}
.route-description{color:var(--secondary-color);line-height:1.6;margin-bottom:var(--space-lg)}
.route-meta{display:flex;gap:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}
.meta-item{display:flex;flex-direction:column;gap:var(--space-xs)}
.meta-label{font-size:var(--text-sm);color:var(--secondary-color);font-weight:500}
.meta-value{font-size:var(--text-base);font-weight:600;color:var(--dark-color)}
.badge-easy{color:var(--success-color);background:#28a7451a;padding:4px 8px;border-radius:20px;font-size:var(--text-sm)}
.badge-medium{color:var(--warning-color);background:#ffc1071a;padding:4px 8px;border-radius:20px;font-size:var(--text-sm)}
.badge-hard{color:var(--danger-color);background:#dc35451a;padding:4px 8px;border-radius:20px;font-size:var(--text-sm)}
.route-points{margin-bottom:var(--space-xl)}
.points-title{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-sm);color:var(--dark-color)}
.points-list{list-style:none;padding:0;margin:0}
.points-list li{padding:var(--space-xs) 0;border-bottom:1px solid #f8f9fa;position:relative;padding-left:var(--space-md)}
.points-list li:before{content:'•';color:var(--primary-color);position:absolute;left:0;font-weight:700}
.points-list li:last-child{border-bottom:none}
.route-btn{display:inline-block;background:var(--primary-color);color:#fff;padding:12px 24px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;text-align:center;margin-top:auto;align-self:flex-start}
.route-btn:hover{background:#0056b3;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}
@media (max-width:768px){
.route-content{padding:var(--space-lg)}
.route-meta{gap:var(--space-md)}
.route-image{min-height:250px}
.route-title{font-size:var(--text-xl)}
}
@media (max-width:576px){
.route-meta{flex-direction:column;gap:var(--space-sm)}
.meta-item{flex-direction:row;justify-content:space-between;align-items:center}
}
.navbar{display:flex;align-items:center;justify-content:space-between;position:relative}
.brand{display:flex;align-items:center;gap:8px}
.logo{font-size:1.2rem;font-weight:700;color:#333;text-decoration:none;white-space:nowrap;flex-shrink:0}
.desktop-nav{display:flex;white-space:nowrap;position:relative}
.nav-link{color:#333;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:all .3s ease}
.nav-link:hover{color:#007bff;background-color:#007bff1a}
.nav-link.active{color:#007bff;background-color:#007bff1a}
.nav-item{position:relative}
.nav-item.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-toggle{display:flex;align-items:center;gap:4px}
.dropdown-toggle::after{content:'';width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;transition:transform .3s ease}
.nav-item.dropdown:hover .dropdown-toggle::after{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;min-width:200px;box-shadow:var(--shadow-lg);border-radius:8px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1001}
.dropdown-item{display:block;padding:10px 16px;color:#333;text-decoration:none;transition:all .3s ease;border:none;background:0 0;width:100%;text-align:left}
.dropdown-item:hover{background-color:#007bff1a;color:#007bff}
.dropdown-item.active{color:#007bff;background-color:#007bff1a}
.burger-simple{display:none;cursor:pointer;padding:12px;background:0 0;border:none;width:44px;height:44px;justify-content:center;align-items:center;position:relative;z-index:1003}
.burger-simple-arrow{width:14px;height:14px;position:relative}
.burger-simple-arrow::before{content:'';position:absolute;width:10px;height:10px;border:1.5px solid #000;border-left:none;border-bottom:none;top:2px;left:2px;transform:rotate(135deg);transition:all .3s cubic-bezier(.4,0,.2,1)}
.burger-simple.active .burger-simple-arrow::before{transform:rotate(315deg);top:4px}
.mobile-menu{display:none;position:fixed;top:70px;left:0;width:100%;height:calc(100vh - 70px);background:#fff;flex-direction:column;padding:1rem;box-shadow:0 4px 6px #0000001a;z-index:1000;overflow-y:auto}
.mobile-menu.active{display:flex}
.mobile-nav-item{width:100%}
.mobile-menu .nav-link{display:flex;justify-content:space-between;align-items:center;padding:1rem;text-align:left;border-bottom:1px solid #eee;font-size:1.1rem;width:100%}
.mobile-menu .has-submenu{background:0 0;border:none;cursor:pointer}
.mobile-submenu{display:none;width:100%;background:#00000005;border-radius:8px;margin:4px 0}
.mobile-submenu.active{display:block;animation:slideDown .3s ease}
.mobile-submenu .nav-link{padding:.75rem 1rem .75rem 2rem;font-size:1rem;border-bottom:1px solid #0000000d;color:#666}
.mobile-submenu .nav-link:last-child{border-bottom:none}
.mobile-submenu .nav-link:hover{background:#007bff0d;color:#007bff}
.has-submenu .arrow{font-size:.8rem;transition:transform .3s ease}
.has-submenu.active .arrow{transform:rotate(180deg)}
body.menu-open{overflow:hidden}
@media (max-width:768px){
.banner-image{border-radius:8px}
.banner-caption{font-size:var(--text-xs);padding-left:var(--space-xs)}
.burger-simple{display:flex}
.desktop-nav{display:none!important}
.mobile-menu{top:60px;height:calc(100vh - 60px)}
.mobile-menu .nav-link{padding:.875rem 1rem;font-size:1rem}
.mobile-submenu .nav-link{padding:.675rem 1rem .675rem 1.5rem}
}
@media (min-width:768px){
.mobile-menu{display:none!important}
.burger-simple{display:none!important}
}
.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}
.container-fluid{width:100%;padding:0 var(--space-md)}
.row{display:flex;flex-wrap:wrap;margin:0 calc(-1 * var(--space-md))}
.col{flex:1 0 0;padding:0 var(--space-md)}
.col-auto{flex:0 0 auto;width:auto;padding:0 var(--space-md)}
.col-1{flex:0 0 auto;width:8.333333%;padding:0 var(--space-md)}
.col-2{flex:0 0 auto;width:16.666667%;padding:0 var(--space-md)}
.col-3{flex:0 0 auto;width:25%;padding:0 var(--space-md)}
.col-4{flex:0 0 auto;width:33.333333%;padding:0 var(--space-md)}
.col-5{flex:0 0 auto;width:41.666667%;padding:0 var(--space-md)}
.col-6{flex:0 0 auto;width:50%;padding:0 var(--space-md)}
.col-7{flex:0 0 auto;width:58.333333%;padding:0 var(--space-md)}
.col-8{flex:0 0 auto;width:66.666667%;padding:0 var(--space-md)}
.col-9{flex:0 0 auto;width:75%;padding:0 var(--space-md)}
.col-10{flex:0 0 auto;width:83.333333%;padding:0 var(--space-md)}
.col-11{flex:0 0 auto;width:91.666667%;padding:0 var(--space-md)}
.col-12{flex:0 0 auto;width:100%;padding:0 var(--space-md)}
@media (min-width:576px){
.container{max-width:540px}
.col-sm-1{flex:0 0 auto;width:8.333333%}
.col-sm-2{flex:0 0 auto;width:16.666667%}
.col-sm-3{flex:0 0 auto;width:25%}
.col-sm-4{flex:0 0 auto;width:33.333333%}
.col-sm-5{flex:0 0 auto;width:41.666667%}
.col-sm-6{flex:0 0 auto;width:50%}
.col-sm-7{flex:0 0 auto;width:58.333333%}
.col-sm-8{flex:0 0 auto;width:66.666667%}
.col-sm-9{flex:0 0 auto;width:75%}
.col-sm-10{flex:0 0 auto;width:83.333333%}
.col-sm-11{flex:0 0 auto;width:91.666667%}
.col-sm-12{flex:0 0 auto;width:100%}
}
@media (min-width:768px){
.container{max-width:720px}
.col-md-1{flex:0 0 auto;width:8.333333%}
.col-md-2{flex:0 0 auto;width:16.666667%}
.col-md-3{flex:0 0 auto;width:25%}
.col-md-4{flex:0 0 auto;width:33.333333%}
.col-md-5{flex:0 0 auto;width:41.666667%}
.col-md-6{flex:0 0 auto;width:50%}
.col-md-7{flex:0 0 auto;width:58.333333%}
.col-md-8{flex:0 0 auto;width:66.666667%}
.col-md-9{flex:0 0 auto;width:75%}
.col-md-10{flex:0 0 auto;width:83.333333%}
.col-md-11{flex:0 0 auto;width:91.666667%}
.col-md-12{flex:0 0 auto;width:100%}
}
@media (min-width:992px){
.container{max-width:960px}
.col-lg-1{flex:0 0 auto;width:8.333333%}
.col-lg-2{flex:0 0 auto;width:16.666667%}
.col-lg-3{flex:0 0 auto;width:25%}
.col-lg-4{flex:0 0 auto;width:33.333333%}
.col-lg-5{flex:0 0 auto;width:41.666667%}
.col-lg-6{flex:0 0 auto;width:50%}
.col-lg-7{flex:0 0 auto;width:58.333333%}
.col-lg-8{flex:0 0 auto;width:66.666667%}
.col-lg-9{flex:0 0 auto;width:75%}
.col-lg-10{flex:0 0 auto;width:83.333333%}
.col-lg-11{flex:0 0 auto;width:91.666667%}
.col-lg-12{flex:0 0 auto;width:100%}
}
@media (min-width:1200px){
.container{max-width:1140px}
.col-xl-1{flex:0 0 auto;width:8.333333%}
.col-xl-2{flex:0 0 auto;width:16.666667%}
.col-xl-3{flex:0 0 auto;width:25%}
.col-xl-4{flex:0 0 auto;width:33.333333%}
.col-xl-5{flex:0 0 auto;width:41.666667%}
.col-xl-6{flex:0 0 auto;width:50%}
.col-xl-7{flex:0 0 auto;width:58.333333%}
.col-xl-8{flex:0 0 auto;width:66.666667%}
.col-xl-9{flex:0 0 auto;width:75%}
.col-xl-10{flex:0 0 auto;width:83.333333%}
.col-xl-11{flex:0 0 auto;width:91.666667%}
.col-xl-12{flex:0 0 auto;width:100%}
}
.footer{background-color:var(--dark-color);color:var(--light-color);padding:var(--space-xxl) 0 var(--space-xl);margin-top:auto}
.footer h3,.footer h4,.footer h5{color:#fff;margin-bottom:var(--space-md)}
.footer a{color:#adb5bd;text-decoration:none;transition:color .3s ease}
.footer a:hover{color:#fff}
.footer-links{list-style:none;padding:0}
.footer-links li{margin-bottom:var(--space-sm)}
.footer-links a{display:block;padding:var(--space-xs) 0}
.footer-social{display:flex;gap:var(--space-md);margin-top:var(--space-md)}
.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:#ffffff1a;border-radius:50%;transition:all .3s ease}
.footer-social a:hover{background-color:var(--primary-color);transform:translateY(-2px)}
.footer-bottom{border-top:1px solid #ffffff1a;padding-top:var(--space-lg);margin-top:var(--space-xl)}
.footer-newsletter input{width:100%;padding:var(--space-sm);border:1px solid #fff3;background-color:#ffffff0d;color:#fff;border-radius:4px;margin-bottom:var(--space-sm)}
.footer-newsletter input::placeholder{color:#adb5bd}
.footer-newsletter button{width:100%;padding:var(--space-sm) var(--space-md);background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}
.footer-newsletter button:hover{background-color:#0056b3}
.social-links a{display:inline-block;margin:0 8px;transition:transform .3s ease}
.social-links a:hover{transform:scale(1.1)}