/*
    Theme Name: Moderna
    Theme URL: https://bootstrapmade.com/free-bootstrap-template-corporate-moderna/
    Author: BootstrapMade
    Author URL: https://bootstrapmade.com
*/
/* ==== Google font ==== */
@import url('https://fonts.googleapis.com/css?family=Noto+Serif:400,400italic,700|Open+Sans:300,400,600,700');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&family=Yeseva+One&display=swap&subset=cyrillic');

/* === prettify === */
@import url('../js/google-code-prettify/prettify.css');
/* === fontawesome === */
@import url('font-awesome.css');
/* === custom icon === */
@import url('custom-fonts.css');
/* ==== overwrite bootstrap standard ==== */
@import url('overwrite.css');
@import url('animate.css');

/* ==== Local Open Sans (fallback if external fonts fail) ==== */
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Light'), local('OpenSans-Light'),
         url('../fonts/OpenSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
         url('../fonts/OpenSans-LightItalic.ttf') format('truetype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Regular'), local('OpenSans-Regular'),
         url('../fonts/OpenSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Italic'), local('OpenSans-Italic'),
         url('../fonts/OpenSans-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
         url('../fonts/OpenSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
         url('../fonts/OpenSans-SemiBoldItalic.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Bold'), local('OpenSans-Bold'),
         url('../fonts/OpenSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
         url('../fonts/OpenSans-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
         url('../fonts/OpenSans-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Open Sans';
    src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
         url('../fonts/OpenSans-ExtraBoldItalic.ttf') format('truetype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

/* Ensure Tailwind's tw-font-sans uses Open Sans */
body.tw-font-sans,
.tw-font-sans {
    font-family: 'Open Sans', Arial, sans-serif;
}

/* ===================================
1. General
==================================== */

body {
	font-family:'Open Sans', Arial, sans-serif;
	font-size:14px;
	font-weight:300;
	line-height:1.6em;
	color:#000000;
}

a:active {
	outline:0;
}

.clear {
	clear:both;
}

h1,h2, h3, h4, h5, h6 {
	font-family:'Open Sans', Arial, sans-serif;
	font-weight:700;
	line-height:1.1em;
	color:#333;
	margin-bottom: 20px;
}

/* ===================================
2. layout
==================================== */

.news-in-page {
    border-bottom: #EF7F1A 3px solid;
}

.news-in-page a {
    font-size: 18px;
    color: #4976a8;
    font-weight: 500;
}

.news-in-page a:hover {
    color: #EF7F1A;
}

.content-temp-min-div {
    width: 98%;
}

.content-right {
    padding: 25px 10px 0px 0px;
}

.content-left {
    padding: 0;
}

.content-temp {
    display: flex;
    justify-content: center;
    background-color: #f9f9f9;
    min-height: 400px;
    padding: 15px 0;
}


.content-temp-div {
    width: 98%;
    display: flex;
}

.content-right-menu {
    width: 100%;
    background-color: #4976a8;
    margin-bottom: 5px;
    padding: 10px;
}

.content-right-menu a {
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    display: block;
    width: 100%;
    height: 100%;
}

.content-right-menu a:hover {
    color:#ef7f1b;
}

.content-right-menu.is-active {
    background-color: #ef7f1b;
}

.content-right-menu.is-active a,
.content-right-menu.is-active span {
    color: #ffffff;
}

.content-right-menu.is-active a:hover {
    color: #ffffff;
}

.content-right-menu.is-branch {
    background-color: #3b638e;
}

.content-right-menu.is-branch a,
.content-right-menu.is-branch span {
    color: #e7f1ff;
}


/* Header dropdown (Наша деятельность) */
.nav .dropdown {
    position: relative;
}

/* Invisible hover bridge to prevent gap between button and menu */
.nav .dropdown:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 8px;
}

.nav .dropdown-menu {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 320px;
    max-width: 420px;
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid #d5e4f2;
    border-radius: 12px;
    padding: 10px;
    margin-top: 0;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    text-align: left;
    white-space: normal;
}

.nav .dropdown-menu .dropdown-item {
    display: block;
    color: #2b5c88 !important;
    border-bottom: none;
    font-weight: 600 !important;
    padding: 8px 12px;
    border-radius: 8px;
    line-height: 1.2;
}

.nav .dropdown-menu .dropdown-item + .dropdown-item {
    margin-top: 4px;
}

.nav .dropdown-menu .dropdown-item:hover {
    background: #eaf3ff;
    color: #ef7f1b !important;
}

.external-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.external-link .external-icon {
    font-size: 0.9em;
    opacity: 0.75;
}

.nav .dropdown-menu .external-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.content-right-menu .external-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
}

.content-right-menu .external-link span {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
}

.content-right-menu .external-link .external-icon {
    flex: 0 0 auto;
    align-self: center;
    margin-left: 8px;
}

.menu-min .external-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.nav .dropdown.open > .dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

@media (hover: hover) {
  .nav .dropdown:hover > .dropdown-menu,
  .nav .dropdown-menu:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }
}
 

.dropdown.open {
    height: 100%;
    background-color: #224b7a;
}

.container {
	padding:0 20px 0 20px!important;
	position:relative!important;
}

#wrapper{
	width:100%;
	margin:0;	
	padding:0;
}


.row,.row-fluid {
	margin-bottom:30px;
}

.row .row,.row-fluid .row-fluid{
	margin-bottom:30px;
}

.row.nomargin,.row-fluid.nomargin {
	margin-bottom:0;
}



/* ===================================
3. Responsive media
==================================== */

.video-container,.map-container,.embed-container 		{ position:relative; margin:0 0 15px 0;	padding-bottom:51%; padding-top:30px; height:0; overflow:hidden; border:none; }
.embed-container iframe,
.embed-container object,
.embed-container embed,
.video-container iframe,
.map-container iframe,
.map-container object,
.map-container embed,
.video-container object,  
.video-container embed 					{ position:absolute; top:0; left:0; width:100%; height:100%; }
iframe {
	border:none;
}

img.img-polaroid {
	margin:0 0 20px 0;
}
.img-box {
	max-width:100%;
}
/* ===================================
4. Header
==================================== */

/* --- header -- */


.h1slider {
    color: #04557A;
    font-size: 28px;
    font-weight: 500;
    margin-top: 15px;
}
.works {
    position: relative;
    display: flex;
    align-items: center;
    background-color: #f9f9f9;
    flex-direction: column;
}

.slider-bot-text {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 30px 0 20px 20px;
}

.slider-bot-span {
    font-size: 20px;
    font-weight: 700;
    color: #0f557a;
}

.slider-bot-text a {
    color: #04557A;
    background-color: #ffffff;
    display: inline-block;
    width: 150px;
    font-size: 18px;
    border-radius: 25px;
    font-weight: 500;
    height: 35px;
    padding: 5px 10px;
}

.gallery {
    position: relative;
    display: flex;
    background-color: #cbcfd3;
}


.footer-logo{
    background-image: url(/assets/templates/img/bg.png);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.menu a {
    text-decoration: none; 
}

.numb {
    width: 90%;
    position: relative;
}
.numb p{
    position: absolute;
    right: 15px;
    font-size: 16px;
    color: #fff;
    top: 10px;
    font-weight: 600;
}
.logo-text {
    display: flex;
    min-width: 221px;
    align-items: center;
    margin-left: 10px;
}

.main-logo {
    height: 150px;
    padding: 10px 0px;
}

.menu {
    margin: 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.map-head {
    display: flex;
    width: 90%;
    justify-content: space-between;
}

.menu li {
    list-style-type: none;
    width: 100%;
    padding: 0 4%;
    white-space: nowrap;
    display: flex;
    height: 30px;
    justify-content: center;
    align-items: center;
}

header .nav .menu li > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.social {
    display: flex;
    align-items: center;
    font-size: 24px;
    margin-right: 4%;
}

.social div{
    padding: 0 5px;
}

header .navbar {
    margin-bottom: 0;
}

.navbar-default {
    border: none;
}


.map-head-logo {
    display: flex;
    justify-content: center;
    padding-top: 40px;
}
.bot-head {
    background-image: url(/assets/templates/img/bg.png);
    display: flex;
    height: 480px;
    align-items: center;
    flex-direction: column;
    background-size: cover;
}

.top-head {
    display: flex;
    justify-content: space-between;
}

.head-right {
    display: flex;
}

.menu a {
    font-family: 'Open Sans', Arial, sans-serif;
    font-weight: 700;
    line-height: 1.1em;
    color: #fff;
    width: 100%;
    
}

.dropdown.open>a {
    background-color: #224b7a!important;
}
.nav-block {
    display: flex;
    justify-content: space-between;
    height: 45px;
    width: 100%;

}

header .navbar-collapse  ul.navbar-nav {
    float: right;
    margin-right: 0;
}

header .navbar-default{
    background-color: #fff;
}

header .nav li a:hover,
header .nav li a:focus,
header .nav li.active a,
header .nav li.active a:hover,
header .nav li a.dropdown-toggle:hover,
header .nav li a.dropdown-toggle:focus,
header .nav li.active ul.dropdown-menu li a:hover,
header .nav li.active ul.dropdown-menu li.active a{
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
    color: #fff;
}


header .navbar-default .navbar-nav > .open > a,
header .navbar-default .navbar-nav > .open > a:hover,
header .navbar-default .navbar-nav > .open > a:focus {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}


header .navbar {
    min-height: 100px;
    background-color: #fff;
}

header .nav {
    display: flex;
    justify-content: space-between;
    width: 90%;
    height: 45px;
    background-color: rgb(73 118 168);
    border-radius: 25px;
    margin-top: 25px;
    margin-bottom: 5px;
}

header .navbar-nav > li  {
    padding-bottom: 30px;
    padding-top: 30px;
}

header  .navbar-nav > li > a {
    padding-bottom: 6px;
    padding-top: 5px;
    margin-left: 2px;
    line-height: 30px;
	font-weight: 700;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}


.dropdown-menu li a:hover {
    color: #fff !important;
}

header .nav .caret {
    border-bottom-color: #f5f5f5;
    border-top-color: #f5f5f5;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  background-color: #fff;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color:  #f58f54;
}	
	

.dropdown-menu  {
    box-shadow: none;
    border-radius: 0;
	border: none;
}

.dropdown-menu li:last-child  {
	padding-bottom: 0 !important;
	margin-bottom: 0;
}

header .nav li .dropdown-menu  {
   padding: 10px;
   border: 1px solid #d5e4f2;
   border-radius: 12px;
   box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

header .nav li .dropdown-menu li a {
   line-height: 28px;
   padding: 3px 12px;
}

/* --- menu --- */

header .navigation {
	float:right;
}

header ul.nav li {
	border:none;
	margin:0;
}

header ul.nav li a {	
	font-size:12px;
	border:none;
	font-weight:700;
	text-transform:uppercase;
}

header ul.nav li ul li a {	
	font-size:12px;
	border:none;
	font-weight:300;
	text-transform:uppercase;
}


.navbar .nav > li > a {
  color: #fff;
  text-shadow: none;

}

.navbar .nav a:hover {
	background:none;
}

.navbar .nav > .active > a,.navbar .nav > .active > a:hover {
	background:none;
	font-weight:700;
}

.navbar .nav > .active > a:active,.navbar .nav > .active > a:focus {
	background:none;
	outline:0;
	font-weight:700;
}

.navbar .nav li .dropdown-menu {
	z-index:2000;
}

header ul.nav li ul {
	margin-top:1px;
}
header ul.nav li ul li ul {
	margin:1px 0 0 1px;
}
.dropdown-menu .dropdown i {
	position:absolute;
	right:0;
	margin-top:3px;
	padding-left:20px;
}

.navbar .nav > li > .dropdown-menu:before {
  display: inline-block;
  border-right: none;
  border-bottom: none;
  border-left: none;
  border-bottom-color: none;
  content:none;
}



ul.nav li.dropdown a {
	z-index:1000;
	display:block;
}

 select.selectmenu {
	display:none;
}

.appeal {
    display: flex;
    margin-bottom: 50px;
}

.appeal img {
    width: 300px;
}

.appeal-text {
    margin-right: 25px;
}

/* ===================================
5. Section: Featured
==================================== */

#featured{
	width: 100%;
	position:relative;
	margin:0;
	padding:0;
}

/* ===================================
6. Sliders
==================================== */




.swiper-slide {
    display: flex;
    justify-content: center;
}

.swiper-button-prev {
    color: #f58e54!important;
}
.swiper-button-next {
    color: #f58e54!important;
}

/* ===================================
7. Section: call action
==================================== */
section.callaction {
	background:#f9f9f9;
	padding:50px 0 0 0;
}



/* ===================================
8. Section: Content
==================================== */

.news-min {
    background-color: #EBECEC;
    height: 370px;
    text-align: center;
    padding: 0;
}

.news-min .news-1 {
    height: 111px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-weight: 500;
}

.news-min .news-2 {
    height: 74px;
    display: flex;
    justify-content: center;
    background-color: rgb(239 127 27);
    color: #fff;
    padding: 0px 20px;
    font-size: 18px;
    align-items: center;
    line-height: 18px;
}

.news-min .news-3 {
    height: 185px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    font-size: 15px;
    padding: 10px 20px 25px;
    line-height: 1;
    align-items: center;
}

.news-min .news-3 .about-button {
    margin-top: auto;
    align-self: center;
}

.news-min-2 .news-1 {
    height: 111px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-weight: 500;
}

.news-min-2 .news-2 {
    height: 74px;
    display: flex;
    justify-content: center;
    background-color: rgb(114 114 113);
    color: #fff;
    padding: 0px 20px;
    font-size: 18px;
    align-items: center;
    line-height: 18px;
}

.news-min-2 .news-3 {
    height: 185px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    font-size: 15px;
    padding: 10px 20px 25px;
    line-height: 1;
    align-items: center;
}

.slider-top-text {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding: 30px 0 20px 20px;
}

.news-min-2 {
    padding: 0;
    background-color: #CBCFD3;
    height: 370px;
    text-align: center;
}

.news-3 a {
    color: #04557A;
    background-color: rgb(254 254 254);
    display: inline-block;
    width: 160px;
    font-size: 18px;
    border-radius: 25px;
    font-weight:  500;
    height: 30px;
    padding: 5px 10px;
}

.sli-img-min {
    width: 90%;
    border-radius: 25px;
}

.slider-top-span {
    color: #04557A;
    font-size: 18px;
    font-weight: 400;
    height: 100%;
}

.slider-top-span p,
.slider-top-span span {
    color: #04557A;
}

/* About text */
.about-text {
    color: #04557A;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.6em;
}

.about-text p {
    margin: 0 0 12px;
}

.about-text .about-accent {
    color: #f79646;
    font-weight: 400;
}

.about-list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
}

.about-list li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 8px;
}

.about-list li::before {
    content: "-";
    position: absolute;
    left: 0;
    color: #04557A;
}

.about-wrap {
    padding: 30px 0 20px 20px;
    width: 100%;
}

.about-wrap::after {
    content: "";
    display: block;
    clear: both;
}

.about-photo {
    float: left;
    width: 50%;
    max-width: none;
    margin: 0 20px 12px 0;
}

.about-photo img {
    display: block;
    width: 100%;
    border-radius: 22px !important;
}

.about-actions {
    clear: both;
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.about-clear {
    clear: both;
}

.about-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 8px 22px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid #4976a8;
    color: #04557A;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 0.01em;
    box-shadow: none;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.about-button:hover {
    background: rgba(239, 127, 27, 0.08);
    border-color: #ef7f1b;
    color: #ef7f1b;
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .about-photo {
        float: none;
        width: 100%;
        margin: 0 0 16px 0;
    }
}

.slider-top-text a:not(.about-button) {
    color: #04557A;
    background-color: #cbcfd3;
    display: inline-block;
    width: 150px;
    font-size: 18px;
    border-radius: 25px;
    font-weight:  500;
    height: 35px;
    padding: 5px 10px;
}

.slider-top-text a:not(.about-button):hover {
    color: rgb(254 254 254);
    background-color: #04557A;
    text-decoration: none;
}

.slider-bot-text a:hover {
    color: rgb(254 254 254);
    background-color: #04557A;
    text-decoration: none;
}

.news-3 a:hover {
    color: rgb(254 254 254);
    background-color: #04557A;
    text-decoration: none;
}

.news-3 .about-button {
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 22px;
    border-radius: 10px;
    background: transparent;
    border: 1px solid #4976a8;
    color: #04557A;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: none;
}

.news-3 .about-button:hover {
    background: rgba(239, 127, 27, 0.08);
    border-color: #ef7f1b;
    color: #ef7f1b;
}

.title-news-text {
    color: #ffffff;
    position: absolute;
    left: 100px;
    font-size: 28px;
    font-weight: 500;
    top: -11px;
}

.title-news {
    display: flex;
    width: 45%;
    border: 30px solid;
    border-color: #ef7f1b #cbcfd3 #ef7f1b #ef7f1b;
    position: absolute;
    top: 10px;
    z-index: 10;
}

/* Slider (home) overrides: grey background, bigger image, tighter text */
.gallery.swiper {
    background: #cbcfd3;
    padding: 0;
    border-radius: 25px;
    box-shadow: 0 10px 24px rgba(4, 33, 55, 0.18);
    overflow: hidden;
}

.gallery.swiper .gallery-slid {
    width: 90%;
    margin: 0 auto;
    padding: 20px 24px;
    background: #cbcfd3;
    border-radius: 25px;
    box-shadow: none;
    gap: 16px;
    align-items: flex-start;
}

.gallery.swiper .slid-img {
    display: flex;
    flex: 0 0 45%;
    max-width: 45%;
    align-self: flex-start;
}

.gallery.swiper .slid-img img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: none;
}

.gallery.swiper .slider-bot-text {
    flex: 0 0 55%;
    max-width: 55%;
    padding: 10px 0 0 16px;
    justify-content: flex-start;
}

.gallery.swiper .slider-bot-text > * + * {
    margin-top: 6px !important;
}

.gallery.swiper .slider-bot-span {
    font-size: 18px;
    line-height: 1.3;
}

.gallery.swiper .slider-top-span {
    font-size: 18px;
    line-height: 1.6em;
}

.gallery.swiper .slider-top-span p,
.gallery.swiper .slider-top-span span {
    font-size: 18px;
    line-height: 1.6em;
}

.gallery.swiper .swiper-button-next,
.gallery.swiper .swiper-button-prev {
    background: transparent;
    box-shadow: none;
    color: #ef7f1b !important;
}

@media (max-width: 991px) {
    .gallery.swiper .slid-img,
    .gallery.swiper .slider-bot-text {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .gallery.swiper .slider-bot-text {
        padding-left: 0;
    }
}

/* Unified outline style (like "Подробнее") for menus and images */
:root {
    --ui-outline: #4976a8;
    --ui-outline-hover: #ef7f1b;
    --ui-outline-bg: rgba(239, 127, 27, 0.08);
    --ui-radius: 10px;
}

header .nav {
    border-color: var(--ui-outline);
}

.nav .dropdown-menu {
    border-color: var(--ui-outline);
    border-radius: var(--ui-radius);
}

.nav .dropdown-menu .dropdown-item {
    border-radius: var(--ui-radius);
}

.nav .dropdown-menu .dropdown-item:hover {
    border-color: var(--ui-outline-hover);
    background: var(--ui-outline-bg);
    color: var(--ui-outline-hover);
}

.content-right-menu,
.content-right-menu.is-active,
.content-right-menu.is-branch {
    border: 1px solid var(--ui-outline);
    border-radius: var(--ui-radius);
}

.content-right-menu:hover {
    border-color: var(--ui-outline-hover);
}

.activity-group {
    border-color: var(--ui-outline);
}

.title-activity-min,
.title-classes-min,
.news-min,
.news-min-2 {
    border-color: var(--ui-outline);
    border-radius: var(--ui-radius);
}

.title-activity-min:hover,
.title-classes-min:hover,
.news-min:hover,
.news-min-2:hover {
    border-color: var(--ui-outline-hover);
}

.title-activity-min img,
.title-classes-min img {
    border: 1px solid var(--ui-outline);
    background: transparent;
    box-shadow: none;
}

.title-activity-min:hover img,
.title-classes-min:hover img {
    border-color: var(--ui-outline-hover);
}

/* Activity group (home): one block, white top / blue bottom */
.activity-group {
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid #dbe5ef;
    box-shadow: 0 16px 34px rgba(4, 33, 55, 0.14);
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    background: #ffffff;
}

.activity-group .activity {
    margin: 0 !important;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background: #ffffff;
    padding-right: 260px;
}

.activity-group .classes {
    margin: 0;
    border-radius: 0;
    border: 0;
    box-shadow: none;
    background: #4a76a8;
    padding-left: 260px;
}

.activity-group .activ,
.activity-group .clas {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0;
    align-items: stretch;
    justify-items: stretch;
}

.activity-group .title-activity-min,
.activity-group .title-classes-min {
    width: 100%;
    max-width: none;
}

.activity-group .title-activity-img,
.activity-group .title-classes-img {
    align-items: flex-end;
    padding-bottom: 0;
    pointer-events: auto;
}

.activity-group .title-activity-img .activity-figure,
.activity-group .title-classes-img .classes-figure {
    opacity: 1;
    transition: transform .2s ease;
    transform-origin: bottom;
}

.activity-group .title-activity-img .activity-accent,
.activity-group .title-classes-img .classes-accent {
    opacity: 1;
    top: auto;
    bottom: 0;
    transition: transform .2s ease;
    transform-origin: bottom;
}

.activity-group .title-activity-img:hover .activity-figure,
.activity-group .title-classes-img:hover .classes-figure {
    transform: scale(1.04);
}

.activity-group .title-activity-img:hover .activity-accent,
.activity-group .title-classes-img:hover .classes-accent {
    transform: scale(1.04);
}


@media (prefers-reduced-motion: no-preference) {
    .activity-group {
        animation: riseFade .6s ease both;
        animation-delay: .12s;
    }

    .activity-group .activity,
    .activity-group .classes {
        animation: none !important;
    }
}

@media (max-width: 991px) {
    .activity-group .activity {
        padding-right: 32px;
    }

    .activity-group .classes {
        padding-left: 32px;
    }

    .activity-group .activ,
    .activity-group .clas {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .activity-group .activity {
        padding-right: 340px;
    }

    .activity-group .classes {
        padding-left: 340px;
    }
}

@media (max-width: 767px) {
    .activity-group .activ,
    .activity-group .clas {
        grid-template-columns: 1fr;
    }
}

.title-activity-text {
    color: #ffffff;
    position: absolute;
    left: 80px;
    font-size: 28px;
    font-weight: 500;
    top: -11px;
    white-space: nowrap;
}

.title-activity {
    display: flex;
    width: 45%;
    border: 30px solid;
    border-color: #ef7f1b #f9f9f9 #ef7f1b #ef7f1b;
    position: absolute;
    top: 10px;
    z-index: 10;
}

.title-classes {
    display: flex;
    width: 45%;
    border: 30px solid;
    border-color: #ef7f1b #ef7f1b #ef7f1b #4a76a8 ;
    position: absolute;
    top: 10px;
    z-index: 10;
    right: 0;
}

.title-classes-text {
    color: #ffffff;
    position: absolute;
    left: 80px;
    font-size: 28px;
    font-weight: 500;
    top: -11px;
}

.news {
    display: flex;
    position: relative;
    height: 370px;
}
.classes {
    display: flex;
    position: relative;
    height: 370px;
    background-color: #4a76a8;
    overflow: hidden;
    justify-content: flex-end;
}
.activity {
    display: flex;
    position: relative;
    height: 370px;
    background-color: #f9f9f9;
    overflow: hidden;
}

.title-classes-min {
    width: 250px;
    height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    font-weight: 600;
}
.title-activity-min {
    width: 250px;
    height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    color: #0f557a;
    font-weight: 600;
}

.title-classes-min:hover {
    text-decoration: none;
    color: #f58f54;
}

.title-activity-min:hover {
    text-decoration: none;
    color: #f58f54;
}


.title-classes-min .txt{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-transform: uppercase;
}  


.title-activity-min .txt{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#content {
	position:relative;
	background:#fff;
	/* padding:50px 0 40px 0; */
}

#content img {
	max-width:100%;
	height:auto;
}

/* --- Call to action --- */

.cta-text {
	text-align: center;
	margin-top:10px;
}


.big-cta .cta {
	margin-top:10px;
}

/* --- box --- */

.box {
	width: 100%;
}
.box-gray  {
	background: #f8f8f8;
	padding: 20px 20px 30px;
}
.box-gray  h4,.box-gray  i {
	margin-bottom: 20px;
}
.box-bottom {
	padding: 20px 0;
	text-align: center;
}
.box-bottom a {
	color: #fff;
	font-weight: 700;
}
.box-bottom a:hover {
	color: #eee;
	text-decoration: none;
}


/* ===================================
9. Section: Bottom
==================================== */

#bottom {
	background:#fcfcfc;
	padding:50px 0 0;

}
/* twitter */
#twitter-wrapper {
    text-align: center;
    width: 70%;
    margin: 0 auto;
}
#twitter em {
    font-style: normal;
    font-size: 13px;
}

#twitter em.twitterTime a {
	font-weight:600;
}

#twitter ul {
    padding: 0;
	list-style:none;
}
#twitter ul li {
    font-size: 20px;
    line-height: 1.6em;
    font-weight: 300;
    margin-bottom: 20px;
    position: relative;
    word-break: break-word;
}


/* ===================================
10. Inner - Section: page headline
==================================== */

#inner-headline{
	background:#252525;
	position:relative;
	margin:0;
	padding:0;
	color:#fefefe;
}


#inner-headline .inner-heading h2 {
	color:#fff;
	margin:20px 0 0 0;
}

/* --- breadcrumbs --- */
#inner-headline ul.breadcrumb {
	margin:30px 0 0;
	float:left;
}

#inner-headline ul.breadcrumb li {
	margin-bottom:0;
	padding-bottom:0;
}
#inner-headline ul.breadcrumb li {
	font-size:13px;
	color:#fff;
}

#inner-headline ul.breadcrumb li i{
	color:#dedede;
}

#inner-headline ul.breadcrumb li a {
	color:#fff;
}

ul.breadcrumb li a:hover {
	text-decoration:none;
}

/* ============================
11. Forms
============================= */

/* --- contact form  ---- */
form#contactform input[type="text"] {
  width: 100%;
  border: 1px solid #f5f5f5;
  min-height: 40px;
  padding-left:20px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

}

form#contactform textarea {
border: 1px solid #f5f5f5;
  width: 100%;
  padding-left:20px;
  padding-top:10px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;

}

form#contactform .validation {
	font-size:11px;
}

.validation {
    color: red;
    display:none;
    margin: 0 0 20px;
    font-weight:400;
    font-size:13px;
}

#sendmessage {
    color: green;
    border:1px solid green;
    display:none;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#errormessage {
    color: red;
    display:none;
    border:1px solid red;
    text-align:center;
    padding:15px;
    font-weight:600;
    margin-bottom:15px;
}

#sendmessage.show, #errormessage.show, .show {
	display:block;
}

/* --- comment form ---- */
form#commentform input[type="text"] {
  width: 100%;
  min-height: 40px;
  padding-left:20px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
	-webkit-border-radius: 2px 2px 2px 2px;
		-moz-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;

}

form#commentform textarea {
  width: 100%;
  padding-left:20px;
  padding-top:10px;
  font-size:13px;
  padding-right:20px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
	-webkit-border-radius: 2px 2px 2px 2px;
		-moz-border-radius: 2px 2px 2px 2px;
			border-radius: 2px 2px 2px 2px;
}


/* --- search form --- */
.search{
	float:right;
	margin:35px 0 0;
	padding-bottom:0;
}

#inner-headline form.input-append {
	margin:0;
	padding:0;
}



/* ===============================
12. Portfolio
================================ */

.work-nav #filters {
	margin: 0;
	padding: 0;
	list-style: none;
}

.work-nav #filters li {
	margin: 0 10px 30px 0;
	padding: 0;
	float:left;
}

.work-nav #filters li a {
	color: #7F8289;
	font-size: 16px;
	display: block;	
}

.work-nav #filters li a:hover {

}

.work-nav #filters li a.selected {
	color: #DE5E60;
}

#thumbs {
	margin: 0;
	padding: 0;	
}

#thumbs li {
	list-style-type: none;
}

.item-thumbs {
	position: relative;
	overflow: hidden;
	margin-bottom: 30px;
	cursor: pointer;
}

.item-thumbs a + img {
	width: 100%;	
}

.item-thumbs .hover-wrap {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	
	opacity: 0;
	filter: alpha(opacity=0);
	
	-webkit-transition: all 450ms ease-out 0s;	
	   -moz-transition: all 450ms ease-out 0s;
		 -o-transition: all 450ms ease-out 0s;
		    transition: all 450ms ease-out 0s;
		  
	-webkit-transform: rotateY(180deg) scale(0.5,0.5);
	   -moz-transform: rotateY(180deg) scale(0.5,0.5);
		-ms-transform: rotateY(180deg) scale(0.5,0.5);
		 -o-transform: rotateY(180deg) scale(0.5,0.5);
			transform: rotateY(180deg) scale(0.5,0.5);	
}

.item-thumbs:hover .hover-wrap,
.item-thumbs.active .hover-wrap {
	opacity: 1;
	filter: alpha(opacity=100);
	
	-webkit-transform: rotateY(0deg) scale(1,1);
	   -moz-transform: rotateY(0deg) scale(1,1);
		-ms-transform: rotateY(0deg) scale(1,1);
		 -o-transform: rotateY(0deg) scale(1,1);
		    transform: rotateY(0deg) scale(1,1);
}

.item-thumbs .hover-wrap .overlay-img {
	position: absolute;
	width: 50%;
	height: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	background: #000;
}

.item-thumbs .hover-wrap .overlay-img-thumb {
	position: absolute;
	border-radius: 60px;
	top: 50%;
	left: 50%;
	margin: -16px 0 0 -16px;
	color: #fff;
	font-size: 32px;
	line-height: 1em;	
	opacity: 1;
	filter: alpha(opacity=100);
}


/* --- Portolio filter --- */

ul.portfolio-categ{
	margin:10px 0 30px 0;
	padding:0;
	float:left;
	list-style:none;
}

ul.portfolio-categ li{
	margin:0;
	padding:0 20px 0 0;
	float:left;
	list-style:none;
	font-size:13px;
	font-weight:600;
}

ul.portfolio-categ li a{
	display:block;
	padding:35x 0 35x 0;
	color:#353535;
}

ul.portfolio-categ li.active a:hover, ul.portfolio-categ li a:hover,ul.portfolio-categ li a:focus,ul.portfolio-categ li a:active {
	text-decoration:none;
	outline:0;
}
    


/* --- portfolio detail --- */
.top-wrapper {
	margin-bottom:20px;
}

/* ===============================
13. Elements
================================ */

/* --- blockquote --- */
blockquote {
	font-size:16px;
	font-weight:400;
	font-family:'Noto Serif', serif;
	font-style:italic;
	padding-left:0;
	color:#a2a2a2;
	line-height:1.6em;
	border:none;
}

blockquote cite 							{ display:block; font-size:12px; color:#666; margin-top:10px; }
blockquote cite:before 					{ content:"\2014 \0020"; }
blockquote cite a,
blockquote cite a:visited,
blockquote cite a:visited 				{ color:#555; }

/* --- pullquotes --- */

.pullquote-left {
	display:block;
	color:#a2a2a2;
	font-family:'Noto Serif', serif;
	font-size:14px;
	line-height:1.6em;
	padding-left:20px;
}

.pullquote-right {
	display:block;
	color:#a2a2a2;
	font-family:'Noto Serif', serif;
	font-size:14px;
	line-height:1.6em;
	padding-right:20px;
}

/* --- button --- */
.btn-theme {
	color: #fff;
}
.btn-theme:hover {
	color: #eee;
}

/* --- list style --- */

ul.general {
	list-style:none;
	margin-left:0;
}

ul.link-list{
	margin:0;
	padding:0;
	list-style:none;
}

ul.link-list li{
	margin:0;
	padding:2px 0 2px 0;
	list-style:none;
}

footer ul.link-list li a{
	color:#fff;
}
footer ul.link-list li a:hover {
	color:#eee;
}
/* --- Heading style --- */

h4.heading {
	font-weight:700;
}

.heading { margin-bottom: 30px; }

.heading {
	position: relative;
	
}


.widgetheading {
	width:100%;

	padding:0;
}

#bottom .widgetheading {
	position: relative;
	border-bottom: #e6e6e6 1px solid;
	padding-bottom: 9px;
}

aside .widgetheading {
	position: relative;
	border-bottom: #e9e9e9 1px solid;
	padding-bottom: 9px;
}

footer .widgetheading {
	position: relative;
}

footer .widget .social-network {
	position:relative;
}


#bottom .widget .widgetheading span, aside .widget .widgetheading span, footer .widget .widgetheading span {	
	position: absolute;
	width: 60px;
	height: 1px;
	bottom: -1px;
	right:0;

}

/* --- Map --- */
.map{
	position:relative;
	margin-top:-50px;
	margin-bottom:40px;
}

/* google map */
#google-map{
    position:relative;
    height: 450px;
}

/* --- our team --- */

ul.team-detail{
	margin:-10px 0 0 0;
	padding:0;
	list-style:none;
}

ul.team-detail li{
	border-bottom:1px dotted #e9e9e9;
	margin:0 0 15px 0;
	padding:0 0 15px 0;
	list-style:none;
}

ul.team-detail li label {
	font-size:13px;
}

ul.team-detail li h4, ul.team-detail li label{
	margin-bottom:0;
}

ul.team-detail li ul.social-network {
	border:none;
	margin:0;
	padding:0;
}

ul.team-detail li ul.social-network li {
	border:none;	
	margin:0;
}
ul.team-detail li ul.social-network li i {
	margin:0;
}

/* --- Pricing box --- */


.pricing-title{
	background:#fff;
	text-align:center;
	padding:10px 0 10px 0;
}

.pricing-title h3{
	font-weight:600;
	margin-bottom:0;
}

.pricing-offer{
	background: #fcfcfc;
	text-align: center;
	padding:40px 0 40px 0;
	font-size:18px;
	border-top:1px solid #e6e6e6;
	border-bottom:1px solid #e6e6e6;
}

.pricing-box.special .pricing-offer{
	color:#fff;
}

.pricing-offer strong{
	font-size:78px;
	line-height:89px;
}

.pricing-offer sup{
	font-size:28px;
}

.pricing-content{
	background: #fff;
	text-align:center;
	font-size:14px;
}

.pricing-content strong{
color:#353535;
}

.pricing-content ul{
	list-style:none;
	padding:0;
	margin:0;
}

.pricing-content ul li{
	border-bottom:1px solid #e9e9e9;
	list-style:none;
	padding:15px 0 15px 0;
	margin:0 0 0 0;
	color: #888;
}

.pricing-action{
	margin:0;
	background: #fcfcfc;
	text-align:center;
	padding:20px 0 30px 0;
}

.pricing-wrapp{
	margin:0 auto;
	width:100%;
	background:#fd0000;
}

/* --- pricing box alt 1 --- */
.pricing-box-alt {
border: 1px solid #e6e6e6;
	background:#fcfcfc;
	position:relative;
	margin:0 0 20px 0;
	padding:0;
  -webkit-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
  -moz-box-shadow: 0 2px 0 rgba(0,0,0,0.03);
  box-shadow: 0 2px 0 rgba(0,0,0,0.03);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.pricing-box-alt .pricing-heading {
	background: #fcfcfc;
	text-align: center;
	padding:40px 0 0px 0;
	display:block;
}
.pricing-box-alt.special .pricing-heading {
	background: #fcfcfc;
	text-align: center;
	padding:40px 0 1px 0;
	border-bottom:none;
	display:block;
	color:#fff;
}
.pricing-box-alt.special .pricing-heading h3 {
	color:#fff;
}

.pricing-box-alt .pricing-heading h3 strong {
	font-size:32px;
	font-weight:700;
	letter-spacing:-1px;
}
.pricing-box-alt .pricing-heading h3 {
	font-size:32px;
	font-weight:300;
	letter-spacing:-1px;
}

.pricing-box-alt .pricing-terms {
	text-align: center;
	background:#333;
	display:block;
	overflow:hidden;
	padding:30px 0 20px;
}

.pricing-box-alt .pricing-terms  h6 {
	font-style:italic;
	margin-top:10px;
	color:#fff;
	
	font-family:'Noto Serif', serif;
}

.pricing-box-alt .icon .price-circled {
    margin: 10px 10px 10px 0;
    display: inline-block !important;
    text-align: center !important;
    color: #fff;
    width: 68px;
    height: 68px;
	padding:12px;
    font-size: 16px;
	font-weight:700;
    line-height: 68px;
    text-shadow:none;
    cursor: pointer;
    background-color: #888;
    border-radius: 64px;
    -moz-border-radius: 64px;
    -webkit-border-radius: 64px;
}

.pricing-box-alt  .pricing-action{
	margin:0;
	text-align:center;
	padding:30px 0 30px 0;
}


/* ===============================
14. Blog & article
================================ */

article{
	margin-bottom:40px;
}

article .post-heading h3 {
	margin-bottom:20px;
}

article .post-heading h3 a {
	font-weight:700;
	color:#353535;
}

article .post-heading h3 a:hover {
	text-decoration:none;
}


/* --- post meta --- */
.post-meta {
	background:#fcfcfc;
	border:1px solid #e6e6e6;
	border-top:none;
	text-align:center;
}

.post-meta .format {
	border-bottom:1px solid #e6e6e6;
	padding:10px 0 10px;
}

.post-meta i{
	margin:0;
}

.post-meta .date {
	border-bottom:1px solid #e6e6e6;
	padding:10px 0 10px;
}

.post-meta .date span {
	text-align:center;
	color:#999;
	font-size:12px;
	font-weight:600;
}

.post-meta .comments {
	padding:10px 0 10px;
}

.post-meta .comments a {
	color:#999;
	font-size:12px;
	font-weight:700;
}

.post-meta .comments a:hover {
	text-decoration:none;
}

/* --- post format --- */

.post-image {
	margin-bottom:20px;
}

.post-quote {
	margin-bottom:20px;
}

.post-video {
	margin-bottom:20px;
}

.post-audio {
	margin-bottom:20px;
}

.post-link {
	margin-bottom:20px;
}

.post-slider {
	margin-bottom:20px;
}


.post-quote blockquote {
	font-size:16px;
	color:#999;
	font-family:'Noto Serif', serif;
	font-style:italic;
	line-height:1.6em;
}


.post-image img:hover {
  -webkit-box-shadow: 0 0 2px #979797;
     -moz-box-shadow: 0 0 2px #979797;
          box-shadow: 0 0 2px #979797;	
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}

ul.meta-post{
	float:left;
	margin: 0;
	padding:0;
	list-style:none;
}

ul.meta-post li{
	float:left;
	margin:0 10px 0 0;
	padding:0;
	list-style:none;
	border-right:1px dotted #e9e9e9;
	padding-right:10px;
}

ul.meta-post li i {
	float:left;
	font-size:12px;
	margin:2px 5px 0 0;
}

ul.meta-post li a{
	color:#999;
	float:left;
	font-size:12px;
	font-weight:600;
}

/* --- single post --- */
.bottom-article{
	overflow: hidden;
	border-top:1px solid #f5f5f5;
	border-bottom:1px solid #f5f5f5;
	padding:10px 0 10px 0;
	margin-top:20px;
}

/* --- author info --- */

.about-author {
	border:1px solid #f5f5f5;
	padding:20px;
	float:left;
	margin-bottom:5px;
}

.about-author h5 {
	margin-bottom:10px;
}



/* --- Comment --- */

.comment-area {
	float:left;
	width:100%;
	margin-top:30px;	
}


.media-content{
	overflow:hidden;
	margin-left:12px;
	border-bottom:1px dotted #d5d5d5;
	padding-bottom:20px;
}

.media-content h6 {
	font-size:14px;
	font-weight:700;
}

.media-content span{
	color:#a9a9a9;
	font-size:14px;
	font-weight:300;
}

.comment-area .thumbnail > img {
  display: block;
	width:60px;
	height:60px;
}
.filter-list{
	margin-top:20px;
}

/* --- pagination --- */

#pagination a,
#pagination span {
    display: block;
    float: left;
    margin: 0 7px 0 0;
    padding: 7px 10px 6px 10px;
    font-size: 12px;
    line-height:12px;
    color: #888;
	font-weight:600;
}

#pagination a:hover {
    color: #fff;
	text-decoration:none;
}

#pagination span.current {
    background: #333;
    color: #fff;
    font-weight: bold;
}


/* ===============================
15. Aside, sidebar
================================ */

aside{
	position:relative;
	margin-bottom:40px;
}

.sidebar-nav{
	float:left;
	width:100%;
}

.right-sidebar{
	border-left:1px solid #f5f5f5;
	padding:0 0 0 30px;
-webkit-box-shadow:inset 1px 0 0 0 rgba(0,0,0,.01);
box-shadow:inset 1px 0 0 0 rgba(0,0,0,.01);

}


.left-sidebar{
	border-right:1px solid #f5f5f5;
	padding:0 30px 0 0;
-webkit-box-shadow:inset 1px 0 0 0 rgba(0,0,0,.01);
box-shadow:inset 1px 0 0 0 rgba(0,0,0,.01);
}


.left-sidebar .widget h3, .left-sidebar .widget .widget-content{
	padding-right:20px;
}



aside .widget {
	margin-bottom:40px;
}


ul.cat, ul.recent, ul.folio-detail, ul.contact-info{
	margin:0;
	padding:0;
	list-style:none;
}

ul.cat li, ul.recent li, ul.folio-detail li, ul.contact-info li{
	margin:0 0 15px 0;
	list-style:none;
}

ul.cat li a, ul.folio-detail li a{
	color:#656565;
}

ul.folio-detail li label{
	display:inline;
	cursor:default;
	color:#353535;
	font-weight:bold;
}

.widget ul.recent li {
	margin-bottom:20px;
}

ul.recent li h6 {
	margin:0 0 10px 0;
}

ul.recent li h6 a{
	color:#353535;
	font-size:16px;
	font-weight:600;
}


.widget ul.tags {
	list-style:none;
	margin:0;
	margin-left: 0;
	padding-left:0;
}

.widget ul.tags li {
	margin:0 5px 15px 0;
	display:inline-block;
}


.widget ul.tags li a {
	background:#e6e6e6;
	color:#333;
	padding:5px 10px;
}

.widget ul.tags li a:hover {
	text-decoration:none;
	color:#fff;
}

/* ===== Widgets ===== */

/* --- flickr --- */
.widget .flickr_badge {
	width:100%;
}
.widget .flickr_badge img { margin: 0 9px 20px 0; }

footer .widget .flickr_badge {
    width: 100%;
}
footer .widget .flickr_badge img {
    margin: 0 9px 20px 0;
}

.flickr_badge img {
    width: 50px;
    height: 50px;
    float: left;
	margin: 0 9px 20px 0;
}

/* --- latest tweet widget --- */

.twitter ul{
	margin-left:0;
	list-style:none;
}

.twitter  img{
    float: left;
    margin-right: 15px;
}
.twitter span.tweet_time{
    display: block;
    padding-bottom: 5px;

}
.twitter li{    
    border-bottom: 1px dashed #efefef;    
    padding-bottom: 20px;
    margin-bottom: 20px;
    list-style: none;
}
.twitter li:last-child{border: none;}

/* --- Recent post widget --- */

.recent-post{
	margin:20px 0 0 0;
	padding:0;
	line-height:18px;
}

.recent-post h5 a:hover {
	text-decoration:none;
}

.recent-post .text h5 a {
	color:#353535;
}


ul.time-post{
	float:left;
	width:120px;
	padding:0;
	list-style:none;
	margin:0 20px 0 0;
	text-align:center;
	color: #0e0f0f;
}

ul.time-post li{
	float:none;
	background:#f8f8f8;
	list-style:none;
	margin:0 0 2px 0;
	padding:0;
}

ul.time-post li a img:hover{
	opacity: 0.8; 
	/* For IE 5-7 */
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
	/* For IE 8 8 */
	-MS-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";	
}
 	
ul.time-post li.time{
	float:none;
	padding:5px 0 5px 0;
	text-shadow: none;	
}

.recent-post ul.time-post li.time{
	color:#121214;
}

.post-meta{
	margin-bottom:20px;
}

.post-meta span{
	padding:0 10px 0 10px;
	margin-bottom:10px;
}

.post-meta span a{
	color:#919191;
}

.post-meta strong{
	font-weight:200px;
	color:#c7c7c7;
}

.item .text {
	margin-left:140px;
	margin-bottom:20px;
}

/* ===============================
16. Footer
================================ */

footer{
	color:#f8f8f8;
}

footer a {
	color:#fff;
}

footer a:hover {
	color:#eee;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6{
	color:#fff;
}

footer address {
	line-height:1.6em;
}

footer h5 a:hover, footer a:hover {
	text-decoration:none;
}

ul.social-network {
	list-style:none;
	margin:0;
}

ul.social-network li {
	display:inline;
	margin: 0 5px;
}

#sub-footer{
	text-shadow:none;
	color:#f5f5f5;
	padding:0;
	padding-top:30px;
	margin:20px 0 0 0;
}

#sub-footer p{
	margin:0;
	padding:0;
}

#sub-footer span{
	color:#f5f5f5;
}

.copyright {
	text-align:left;
	font-size:12px;
}

#sub-footer ul.social-network {
	float:right;
}


/* ===============================
 Live preview purpose
================================ */
/* --- buttons --- */

.bs-docs-example {
	margin:0 0 10px 0;
}

.demobtn a.btn {
	margin:0 10px 10px 0;
}

section.demogrid .col-lg-1,section.demogrid .col-lg-2,section.demogrid .col-lg-3,section.demogrid .col-lg-4,section.demogrid .col-lg-5,section.demogrid .col-lg-6,section.demogrid .col-lg-7,section.demogrid .col-lg-8,section.demogrid .col-lg-9,section.demogrid .col-lg-10,section.demogrid .col-lg-11 {
	background:#f6f6f6;
	text-align:center;
	padding:20px 0 20px;
}

section.demogrid .show-grid .row,section.demogrid .show-grid .row-fluid {
	margin-bottom:0;
}

section.demogrid .show-grid .nest {
	background:#ddd;
	text-align:center;
	padding:20px 0 20px;
}

section.demogrid .col-lg-12.nest {
	background:#f6f6f6;
	text-align:center;
	padding:20px 0 0;
}

.demoinline p {
	display:inline;
	margin-right:20px;
}


/* ===============================
17. Divider, Line & Misc
================================ */

.solidline {
	border-top:1px solid #f5f5f5;
	margin:0 0 30px;
}

.dottedline {
	border-top:1px dotted #f5f5f5;
	margin:0 0 30px;
}

.dashedline {
	border-top:1px dashed #f5f5f5;
	margin:0 0 30px;
}

.blankline {
	height:1px;
	margin:0 0 30px;
}


/* scroll to top */
.scrollup{
    position: fixed;
    width: 32px;
    height: 32px;
    bottom: 0px;
    right: 90px;
    background: #222;
    z-index: 10;
	
}

a.scrollup {
	outline:0;
	text-align: center;
}

a.scrollup:hover,a.scrollup:active,a.scrollup:focus {
	opacity:1;
	text-decoration:none;
}
a.scrollup i {
	margin-top: 10px;
	color: #fff;
}
a.scrollup i:hover {
	text-decoration:none;
}




/* =============================
18. Position & alignment
============================= */

.absolute{
	position:absolute;
}

.relative{
	position:relative;
}

.aligncenter{
	text-align:center;
}

.aligncenter span{
	margin-left:0;
}

.floatright {
	float:right;
}

.floatleft {
	float:left;
}

.floatnone {
	float:none;
}

.aligncenter {
	text-align:center;
	height:220px;
}

/* --- Image allignment style --- */

img.pull-left, .align-left{
	float:left;
	margin:0 15px 15px 0;
}

.widget img.pull-left {
	float:left;
	margin:0 15px 15px 0;
}

img.pull-right, .align-right {
	float:right;
	margin:0 0 15px 15px;
}

article img.pull-left, article .align-left{
	float:left;
	margin:5px 15px 15px 0;
}

article img.pull-right, article .align-right{
	float:right;
	margin:5px 0 15px 15px;
}

/* =============================
20. Spacer, margin
============================= */

.clear-marginbot{
	margin-bottom:0;
}

.marginbot10{
	margin-bottom:10px;
}
.marginbot20{
	margin-bottom:20px;
}
.marginbot30{
	margin-bottom:30px;
}
.marginbot40{
	margin-bottom:40px;
}

.clear-margintop{
	margin-top:0;
}

.margintop10{
	margin-top:10px;
}

.margintop20{
	margin-top:20px;
}

.margintop30{
	margin-top:30px;
}

.margintop40{
	margin-top:40px;
}

.footer-main {
    display: flex;
}

.gallery-slid {
    display: flex;
    width: 90%;
    position: relative;
    min-height: 394px;
}

.works-us {
    display: flex;
    width: 98%;
    position: relative;
    margin-bottom: 30px;
}
.menu-min {
    display: none;
}

.activ {
    display: flex;
    align-items: flex-end;
    margin-bottom: 30px;
    margin-left: 5%;
    z-index: 1;
}
.clas {
    display: flex;
    align-items: flex-end;
    margin-bottom: 30px;
    margin-right: 5%;
    z-index: 1;
}

/* =============================
21. Media queries 
============================= */
@media (max-width: 1200px) {
    .menu {
        margin: 0;
        display: flex;
        width: auto;
        justify-content: space-between;
        align-items: center;
    }
    .title-classes-img img {
        left: -65px!important;
        bottom: 0px!important;
        top: auto!important;
    }
    
    .title-activity-img img {
        bottom: 0px!important;
        top: auto!important;
    }
    .slid-img img {
        width: 100%;
    }
    
}

@media (min-width: 991px) {
    
    .wave-logo {
        display: none;    
    }
}

@media (max-width: 991px) {
    .slid-img {
        display: none;
    }
    .wave {
        display: none;    
    }
}

@media (max-width: 767px) {
    .logo-text {
        display: none;
    }
    .menu {
        display: none;
    }
    
    .main-logo {
        height: 100px;
    }
    .content-temp-div {
        flex-direction: column;
    }
}

@media (max-width: 991px) {
    
    .clas {
        margin-right: 0;
        flex-direction: column;
    }
    .classes {
        height: 100%;
        justify-content: center;
    }
    
    .activ {
        display: flex;
        align-items: center;
        margin-bottom: 30px;
        margin-left: 0;
        z-index: 1;
        flex-direction: column;
        width: 100%;
        height: 100%;
    }
    .activity {
        height: 100%;
    }
    
    
    .title-activity {
        width: 100%;
        border: 30px solid;
        border-color: #ef7f1b;
    }
    .title-activity-text {
        left: 0;
    }
    .title-classes-text {
        left: 0px;
    }
    
    .title-classes {
        width: 100%;
        border: 30px solid;
        border-color: #ef7f1b;
    }
    .title-news {
        width: 100%;
        border: 30px solid;
        border-color: #ef7f1b;
    }
    
    .title-news-text {
        left: 0px;
    }
    
    #featured {
        margin: 100px 0 0px 0px;
    }
    .margo {
        margin: 100px 0 0px 0px;
    }
    
    .footer-main {
        flex-direction: column;
    }
    .news {
        height: auto;
    }
    .footer-logo {
        height: 380px;
    }
    .ymaps-2-1-77-map {
        width:100%!important;
    }
    .gallery-slid {
        flex-direction: column-reverse;
    }
    .works-us {
        flex-direction: column;
    }
    .map-head-img {
        display: none!important;
    }
    .container {
        padding: 0;
    }
    .map-head {
        width: auto;
    }
    .bot-head {
        height: 100px;
        flex-direction: row;
        justify-content: space-between;
        padding: 0px 20px;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 99;
        width: 100%;
    
    }
    .map-head-logo img{
        height: 80px!important;
    }
    .map-head-logo {
        padding-top: 0;
    }
    .nav {
        display: none!important;
    }
    
    
    /* Стилизация кнопки */ .gamburger{
      border-radius: 5px;/* скругление углов */
      background-color: rgb(73 118 168);/* Цвет кнопки */
      width: 50px;/* ширина */
      height: 50px;/* высота */
      display: flex;/* выравнивание на флексбох */
      align-items: center;
      z-index: 99;

     /* по вертикали */   justify-content: center;/* по горизонтали */
      flex-direction: column;/* складывание полосок друг под друга */
      border: solid 2px #EF7F1A;/* рамка кнопки */
      box-shadow: 2px 2px 5px 0 rgba(50,50,50,0.45);/* тень кнопки */
    }
    .gamburger:hover{
      cursor: pointer;
    }
    /* Стилизация полоски */ .gamburger span{
      display: block;/* строчный элемент в блочный */
      transition: all 0.3s;/* плавность анимации */
      width: 40px;/* ширина полоски */
      margin: 5px;/* расстояние между полосками */
      height: 9px;/* высота полоски */
      background-color: #EF7F1A;/* Цвет полоски */
    }
    /* анимация верхней полоски */
    .first1{
      transform: translate(8px, 3px) rotate(45deg);
      transform-origin: left top;
    }
    /* анимация средней полоски */
    .middle1{
      transform: scale(0);
    }
    /* анимация нижней полоски */
    .last1{
      transform: translate(-4px, -30px) rotate(-45deg);
      transform-origin: right bottom;
    }
    
     /* Вертикальное меню спрятано */
    .menu-min {
        display: flex;/* технология флексбокс */
        align-items: center; /* выравнивание по центру */
        justify-content: center; /* выравнивание по центру */
        background-color: #ffffff;
        width: 100%; /* ширина блока меню */
        z-index: 11;/* слой ниже кнопки */
          position: fixed; /* блок зафиксирован */
        left: -110%;/* скрывание блока с меню */
          top: 100px; /* позиция от левого верха */
        transition: all 0.5s;/* плавное выдвижение блока */
          opacity: .95;/* блок имеет прозрачность */
      }
    /* Активный класс меню видимое */
    .menu-min-active {
            left: 0; /* блок с меню видимый */
    }
    /* Стилизация списка меню */
    .menu-min ul {
        list-style: none; /* убрать маркеры */
        padding: 0;
        margin-top: 60px;
        height: 100vh; /* блок занимает всю высоту браузера */
    }
    /* Стилизация ссылок меню */
    .menu-li a{
        display: block; /* из строчного в блочный */
        color: #4976a8;
        line-height: 50px;
        text-decoration: none;
        font-size: 20px;
        font-weight: bold;
        transition: all 0.3s;
        width: 100%; /* блоки с ссылками на всю ширину */
        display: flex;
        justify-content: center; /* выравнивание по центру */
    }
    /* Эффект наведения мыши на ссылки */
    .menu-li a:hover{
        background-color: #5fc0e5;
        width: 100%;
    }
    .dody {
        overflow: hidden;
    }
}

@media (min-width: 768px) and (max-width: 979px) {
	a.detail{
		background:none;
		width:100%;
	}


	
	footer .widget form  input#appendedInputButton {
		  display: block;
		  width: 91%;
		  -webkit-border-radius: 4px 4px 4px 4px;
			 -moz-border-radius: 4px 4px 4px 4px;
				  border-radius: 4px 4px 4px 4px;
	}
	
	footer .widget form  .input-append .btn {
		  display: block;
		  width: 100%;
		  padding-right: 0;
		  padding-left: 0;
		  -webkit-box-sizing: border-box;
			 -moz-box-sizing: border-box;
				  box-sizing: border-box;
				  margin-top:10px;
	}

	ul.related-folio li{
		width:156px;
		margin:0 20px 0 0;
	}	
}

@media (max-width: 767px) {

  body {
    padding-right: 0;
    padding-left: 0;
  }
	.navbar-brand {
		margin-top: 10px;
		border-bottom: none;
	}
	.navbar-header {
		margin-top: 20px;
		border-bottom: none;
	}
	
	.navbar-nav {
		border-top: none;
		float: none;
		width: 100%;
	}

	header .navbar-nav > li  {
		padding-bottom: 0;
		padding-top: 0;
	}
	
	header .nav li .dropdown-menu  {
		margin-top: 0;
	}

	.dropdown-menu {
	  position: absolute;
	  top: 0;
	  left: 40px;
	  z-index: 1000;
	  display: none;
	  float: left;
	  min-width: 160px;
	  padding: 5px 0;
	  margin: 2px 0 0;
	  font-size: 13px;
	  list-style: none;
	  background-color: #fff;
	  background-clip: padding-box;
	  border: 1px solid #f5f5f5;
	  border: 1px solid rgba(0, 0, 0, .15);
	  border-radius: 0;
	  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
			  box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
	}
	

	
	.navbar-collapse.collapse  {
		border: none;
		overflow: hidden;
	}

	
	.box {
		border-bottom:1px solid #e9e9e9;
		padding-bottom:20px;
	}

	#featured .flexslider .slide-caption {
		width: 90%; 
		padding: 2%; 
		position: absolute; 
		left: 0; 
		bottom: -40px; 
	}


	#inner-headline .breadcrumb {
		float:left;
		clear:both;
		width:100%;
	}

	.breadcrumb > li {
		font-size:13px;
	}

	
	ul.portfolio li article a i.icon-48{
		width:20px;
		height:20px;
		font-size:16px;
		line-height:20px;
	}


	.left-sidebar{
		border-right:none;
		padding:0 0 0 0;
		border-bottom: 1px dotted #e6e6e6;
		padding-bottom:10px;
		margin-bottom:40px;
	}
	
	.right-sidebar{
		margin-top:30px;
		border-left:none;
		padding:0 0 0 0;
	}
	
	
	footer .col-lg-1, footer .col-lg-2, footer .col-lg-3, footer .col-lg-4, footer .col-lg-5, footer .col-lg-6, 
	footer .col-lg-7, footer .col-lg-8, footer .col-lg-9, footer .col-lg-10, footer .col-lg-11, footer .col-lg-12{
		margin-bottom:20px;
	}

	#sub-footer ul.social-network {
		float:left;
	}
	

	
  [class*="span"] {
		margin-bottom:20px;
  }

}

@media (max-width: 480px) {
	.bottom-article a.pull-right {
		float:left;
		margin-top:20px;
	}


	.search{
		float:left;
	}

	.flexslider .flex-caption {
		display:none;
	}


	.cta-text {
		margin:0 auto;
		text-align:center;	
	}
	
	ul.portfolio li article a i{
		width:20px;
		height:20px;
		font-size:14px;
	}
	.title-activity-img img {
        right: -73px!important;
        bottom: 0px!important;
        top: auto!important;
    }
    .title-classes-img img {
        left: -107px!important;
        bottom: 0px!important;
    }


}

@media (max-width: 360px) {

}

/* ===================================
Modern refresh (2026)
==================================== */
:root {
    --brand-blue: #4976a8;
    --brand-blue-dark: #04557a;
    --brand-orange: #ef7f1b;
    --brand-orange-soft: #f4a553;
    --ink: #0b2237;
    --muted: #5b6f86;
    --surface: #ffffff;
    --surface-alt: #f4f7fb;
    --stroke: #dbe5ef;
    --radius-lg: 28px;
    --radius-md: 18px;
    --shadow-soft: 0 14px 40px rgba(4, 33, 55, 0.12);
    --shadow-strong: 0 24px 60px rgba(4, 33, 55, 0.2);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    line-height: 1.65;
    color: var(--ink);
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    background: #ffffff !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Yeseva One', 'Manrope', sans-serif;
    color: var(--brand-blue-dark);
    letter-spacing: 0.01em;
}



a {
    color: var(--brand-blue);
    transition: color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

a:hover {
    color: var(--brand-orange);
}

#wrapper {
    position: relative;
    overflow-x: hidden;
}

#wrapper::before {
    content: none;
}

#wrapper::after {
    content: none;
}

#wrapper > * {
    position: relative;
    z-index: 1;
}

#vk_community_messages {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 50;
}

.container {
    max-width: 1200px;
    padding: 0 24px !important;
}

#featured {
    padding: 28px 0 40px;
}

/* Header */
.site-header {
    position: relative;
    z-index: 10;
}

.bot-head {
    position: relative;
    overflow: visible;
    min-height: 360px;
    height: auto;
    padding: 28px 0 40px;
    background-position: center;
    background-size: cover;
}

.bot-head::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(4, 85, 122, 0.35) 0%, rgba(73, 118, 168, 0.25) 45%, rgba(239, 127, 27, 0.12) 100%);
}

.bot-head::after {
    content: none;
}

.bot-head > * {
    position: relative;
    z-index: 1;
}

.bot-head .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}

.map-head-logo img {
    filter: drop-shadow(0 10px 20px rgba(4, 85, 122, 0.35));
}

.wave-logo {
    display: block;
}

.map-head-logo {
    padding-top: 0;
}

header .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    align-self: stretch;
    box-sizing: border-box;
    background: rgba(73, 118, 168, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 18px 40px rgba(4, 33, 55, 0.25);
    backdrop-filter: blur(10px);
    border-radius: 999px;
    height: auto;
    padding: 6px 18px;
}

header .nav .nav-block {
    display: flex;
    justify-content: center;
    flex: 1;
    height: auto;
}

header .nav .menu {
    width: auto;
    justify-content: center;
    gap: 18px;
    flex-wrap: nowrap;
    margin: 0;
    padding: 0;
}

.map-head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-top: 6px;
}

.map-head-img {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 0;
}

.map-head-img img {
    width: 100%;
    max-width: 820px;
    height: auto;
    display: block;
    filter: drop-shadow(0 18px 36px rgba(4, 33, 55, 0.3));
}

.map-head-logo {
    flex: 0 0 240px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.map-head-logo img {
    width: 210px;
    height: auto;
}

header .nav .menu li {
    width: auto;
    flex: 0 0 auto;
    padding: 0 10px;
    height: auto;
    position: relative;
}

header .nav .menu li + li::before {
    content: "";
    position: absolute;
    left: -6px;
    top: 50%;
    width: 2px;
    height: 16px;
    background: var(--brand-orange);
    transform: translateY(-50%);
    border-radius: 1px;
    opacity: 0.9;
}

header .nav .social {
    margin-right: 0;
}

.gamburger {
    display: none;
    border: none;
    background: transparent;
    padding: 0;
}

.menu li {
    padding: 0 16px;
    height: auto;
}

.menu a {
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 12px;
}

.menu li a:hover {
    color: #fff;
    transform: translateY(-1px);
}

.nav .dropdown-menu {
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(73, 118, 168, 0.2);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(4, 33, 55, 0.2);
}

.nav .dropdown-menu .dropdown-item {
    font-weight: 600 !important;
}

/* Hero */

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

@media (prefers-reduced-motion: no-preference) {
    .works,
    .gallery,
    .activity,
    .classes,
    .news,
    .content-left {
        animation: riseFade .6s ease both;
    }

    .gallery {
        animation-delay: .08s;
    }

    .activity {
        animation-delay: .12s;
    }

    .classes {
        animation-delay: .16s;
    }

    .news {
        animation-delay: .2s;
    }
}

/* About block */
.works {
    border: 1px solid var(--stroke);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    padding: 24px;
}

/* Gallery */
.gallery {
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 16px;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.gallery-slid {
    padding: 20px;
    gap: 20px;
}

.swiper-button-next,
.swiper-button-prev {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(73, 118, 168, 0.9);
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(4, 33, 55, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
    background: var(--brand-orange);
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 18px;
}

/* Activity / Classes / News blocks */
.activity,
.classes,
.news {
    position: relative;
    height: auto;
    border-radius: var(--radius-lg);
    padding: 120px 32px 40px;
    margin-top: 28px;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

@media (min-width: 992px) {
    .activity {
        padding-right: 260px;
    }

    .classes {
        padding-left: 260px;
    }
}

@media (min-width: 1200px) {
    .activity {
        padding-right: 340px;
    }

    .classes {
        padding-left: 340px;
    }
}

.activity {
    background: #ffffff;
    border: 1px solid var(--stroke);
}

.classes {
    background: #ffffff;
    border: 1px solid var(--stroke);
}

.news {
    background: #ffffff;
    border: 1px solid var(--stroke);
}

.title-activity,
.title-classes,
.title-news {
    position: absolute;
    top: 24px;
    left: 24px;
    width: auto;
    border: none;
    padding: 12px 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, var(--brand-orange), var(--brand-orange-soft));
    box-shadow: var(--shadow-soft);
    z-index: 2;
}

.title-classes {
    left: auto;
    right: 24px;
}

.title-activity-text,
.title-classes-text,
.title-news-text {
    position: static;
    font-size: clamp(20px, 2.4vw, 30px);
    font-weight: 700;
    color: #fff;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

.title-activity-img,
.title-classes-img {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.title-activity-img {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding-right: 24px;
    padding-bottom: 8px;
}

.title-classes-img {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    padding-left: 24px;
    padding-bottom: 8px;
}

.title-activity-img .activity-figure {
    max-width: 340px;
    width: 38%;
    height: auto;
    opacity: 0.95;
    filter: drop-shadow(0 18px 30px rgba(4, 33, 55, 0.22));
}

.title-activity-img .activity-accent {
    position: absolute;
    right: 120px;
    top: 10px;
    width: 200px;
    height: auto;
    opacity: 0.85;
}

.title-classes-img .classes-figure {
    max-width: 360px;
    width: 40%;
    height: auto;
    opacity: 0.95;
    filter: drop-shadow(0 18px 30px rgba(4, 33, 55, 0.22));
}

.title-classes-img .classes-accent {
    position: absolute;
    left: 120px;
    bottom: 6px;
    width: 240px;
    height: auto;
    opacity: 0.9;
}

.activ,
.clas {
    align-items: stretch;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    margin: 0;
    position: relative;
    z-index: 2;
}

.title-activity-min,
.title-classes-min {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--radius-md);
    padding: 22px;
    min-height: 290px;
    box-shadow: var(--shadow-soft);
    transition: transform .2s ease, box-shadow .2s ease;
    flex: 1 1 240px;
    max-width: 320px;
    color: var(--brand-blue-dark);
}

.title-classes-min {
    color: var(--brand-blue-dark);
}

.title-activity-min:hover,
.title-classes-min:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-strong);
}

.title-classes-min .txt,
.title-activity-min .txt {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.4;
}

.title-activity-min img,
.title-classes-min img {
    width: 128px;
    height: 128px;
    object-fit: contain;
    border-radius: 50%;
    padding: 16px;
    background: #f2f7fc;
    border: 3px solid #d6e5f4;
    box-shadow: 0 10px 20px rgba(4, 33, 55, 0.12);
}

/* News cards */
.news-min {
    background: #fff;
    border: 1px solid var(--stroke);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
}

.news-min .news-1 {
    height: auto;
    padding: 18px;
    font-weight: 600;
    color: var(--brand-blue-dark);
    background: var(--surface-alt);
    border-bottom: 1px solid var(--stroke);
}

.news-min .news-2 {
    height: auto;
    padding: 16px 18px;
    background: linear-gradient(90deg, var(--brand-orange), var(--brand-orange-soft));
    font-size: 16px;
    line-height: 1.3;
}

.news-min .news-3 {
    height: auto;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 18px;
    gap: 12px;
    line-height: 1.5;
    align-items: flex-start;
}

.news-min .news-3 > div:last-child {
    margin-top: auto;
    width: 100%;
    display: flex;
    justify-content: center;
}

.news-min-2 {
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

/* Content pages */
.content-temp {
    background: transparent;
    padding: 24px 16px;
    max-width: 1100px;
    margin: 24px auto 40px;
}

.content-temp-div {
    gap: 24px;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
}

.content-right {
    padding: 0;
    flex: 0 0 320px;
    max-width: 320px;
}

.content-right-menu {
    border-radius: 16px;
    padding: 12px 14px;
    box-shadow: var(--shadow-soft);
}

.content-right-menu a,
.content-right-menu span {
    color: #fff;
}

.content-right-menu:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-strong);
}

.content-left {
    background: #fff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow-soft);
    flex: 1 1 0;
    min-width: 0;
}

@media (max-width: 992px) {
    .content-right {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .content-left {
        flex: 1 1 100%;
    }
}

.content-left iframe {
    border-radius: 20px;
    box-shadow: var(--shadow-soft);
}

/* Footer */
footer {
    color: #fff;
    padding: 60px 0 40px;
    margin-top: 24px;
}

footer.footer-water {
    background-image: linear-gradient(rgba(4, 85, 122, 0.72), rgba(4, 85, 122, 0.72)), url(/assets/templates/img/bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.footer-contact-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.footer-contact-info p {
    margin: 0;
    text-align: center;
}

.footer-contact-link {
    display: block;
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
}

.footer-contact-link:hover,
.footer-contact-link:focus {
    color: var(--brand-orange);
    text-decoration: none;
}

.footer-vk {
    color: #fff;
    font-size: 24px;
    line-height: 1;
    text-decoration: none;
}

.footer-vk:hover,
.footer-vk:focus {
    color: var(--brand-orange);
}

.footer-main {
    gap: 24px;
    align-items: stretch;
}

.footer-logo {
    background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)), url(/assets/templates/img/bg.png);
    background-size: cover;
    background-blend-mode: overlay;
    border-radius: 24px;
    padding: 24px;
    box-shadow: var(--shadow-soft);
}

.footer-main > div:last-child {
    border-radius: 24px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

footer a {
    color: #fff;
}

footer a:hover {
    color: var(--brand-orange);
}

/* Tailwind header menu tweaks */
.header-tailwind a {
    text-decoration: none !important;
}

.header-tailwind a:hover,
.header-tailwind a:focus {
    text-decoration: none !important;
}

.header-tailwind .header-menu {
    max-width: 100%;
    margin: 0 auto;
    justify-content: flex-start;
    gap: 0;
    padding: 0 8px;
}

.header-tailwind .header-menu-main {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
}

.header-tailwind .header-menu-main > * {
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-tailwind .header-menu-main .menu-item > .menu-link {
    width: 100%;
}

.header-tailwind .menu-sep {
    width: 3px;
    height: 20px;
    background: #ef7f1b;
    border-radius: 1px;
    opacity: 0.9;
    flex: 0 0 auto;
    display: block;
}

.header-tailwind .menu-link {
    padding: 0 18px;
    white-space: nowrap;
    text-align: center;
    color: #fff !important;
    transition: color 0.2s ease;
    border-radius: 999px;
    height: 55px;
    line-height: 55px;
}

.header-tailwind .menu-link:hover,
.header-tailwind .menu-link:focus {
    color: #ef7f1b !important;
}

.header-tailwind .menu-item {
    display: flex;
    align-items: center;
}

.header-tailwind .menu-icon {
    padding: 0 18px;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: color 0.2s ease;
}

.header-tailwind .header-menu-main > .menu-icon {
    flex: 0 0 auto;
}

.header-tailwind .header-menu-main > .menu-icon::before {
    display: none;
}

.header-tailwind .menu-icon i {
    font-size: 24px;
    line-height: 1;
}

.header-tailwind .menu-icon:hover,
.header-tailwind .menu-icon:focus {
    color: #ef7f1b;
}

.header-tailwind .dropdown-panel {
    min-width: 320px;
    z-index: 50;
    pointer-events: none;
}

.header-tailwind .has-dropdown:hover .dropdown-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.header-tailwind .dropdown-panel a {
    color: #334155 !important;
}

.header-tailwind .dropdown-panel a:hover,
.header-tailwind .dropdown-panel a:focus {
    color: #ffffff !important;
    background: #ef7f1b;
}

.header-tailwind .map-head {
    margin-top: 0;
    margin-bottom: -16px;
}

.header-tailwind .wave {
    position: relative;
    width: 100%;
    height: 80px;
    margin-top: -6px;
    overflow: hidden;
}

.header-tailwind .wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* Scroll to top */
.scrollup {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: rgba(73, 118, 168, 0.9);
    box-shadow: var(--shadow-soft);
    display: flex;
    align-items: center;
    justify-content: center;
}

a.scrollup i {
    line-height: 1;
}

a.scrollup:hover {
    background: var(--brand-orange);
}

/* Responsive tweaks */
@media (max-width: 991px) {
    .bot-head {
        min-height: 100px;
        padding: 12px 0;
    }

    .bot-head .container {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .gamburger {
        display: flex;
    }

    .map-head {
        justify-content: flex-end;
    }

    .map-head-img {
        display: none !important;
    }

    .map-head-logo {
        flex: 0 0 auto;
    }

    .map-head-logo img {
        width: 140px;
    }

    #featured {
        padding-top: 110px;
    }

    .menu-min {
        left: 16px !important;
        right: 16px;
        width: auto;
        background: rgba(255, 255, 255, 0.98);
        border-radius: 20px;
        box-shadow: var(--shadow-strong);
        transform: translateY(-10px);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease, transform .2s ease;
    }

    .menu-min-active {
        left: 16px !important;
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .menu-min ul {
        margin-top: 0;
        height: auto;
        padding: 10px 0;
    }

    .menu-li a {
        width: 100%;
        max-width: 100%;
        border-radius: 12px;
        padding: 10px 12px;
    }

    .menu-li a:hover {
        background-color: rgba(73, 118, 168, 0.12);
    }

    .content-left {
        padding: 18px;
    }

    .activity,
    .classes,
    .news {
        padding-top: 100px;
    }

    .title-activity-img,
    .title-classes-img {
        display: none;
    }
}

@media (max-width: 767px) {
    .works,
    .gallery,
    .activity,
    .classes,
    .news {
        padding-left: 18px;
        padding-right: 18px;
    }

    .title-activity,
    .title-classes,
    .title-news {
        left: 18px;
        right: auto;
    }

    .title-classes {
        left: 18px;
        right: auto;
    }

    .footer-logo {
        padding: 18px;
    }
}

/* Contacts page refresh */
.contacts-page .content-temp-div {
    align-items: flex-start;
}

.contacts-content h2 {
    margin: 0 0 18px;
}

.contacts-team {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 28px;
    align-items: start;
}

.contact-person {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 16px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid var(--stroke);
    border-radius: 16px;
    background: #f6f9fd;
    min-width: 0;
}

.contact-person--full {
    grid-column: 1 / -1;
}

.contact-person img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 10px 24px rgba(4, 33, 55, 0.14);
}

.contact-person h3 {
    margin: 0 0 8px;
    font-size: 22px;
    line-height: 1.2;
    color: var(--brand-blue-dark);
    overflow-wrap: anywhere;
}

.contact-person p {
    margin: 0;
    color: #2b3f56;
    overflow-wrap: anywhere;
}

.contact-person > div {
    min-width: 0;
}

.contacts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.contacts-card {
    padding: 18px;
    border: 1px solid var(--stroke);
    border-radius: 16px;
    background: #f6f9fd;
}

.contacts-card h3 {
    margin: 0 0 10px;
    font-size: 21px;
    color: var(--brand-blue-dark);
}

.contacts-card p {
    margin: 0 0 8px;
}

.contacts-card a {
    color: var(--brand-blue);
    text-decoration: none;
}

.contacts-card a:hover {
    color: var(--brand-orange);
}

.contacts-report {
    margin: 20px 0 0;
}

.contacts-report a {
    color: var(--brand-orange);
    font-weight: 700;
    text-decoration: none;
}

.contacts-report a:hover {
    color: var(--brand-blue-dark);
}

@media (max-width: 992px) {
    .contacts-grid {
        grid-template-columns: 1fr;
    }

    .contact-person {
        grid-template-columns: 1fr;
    }

    .contact-person--full {
        grid-column: auto;
    }
}

/* Activity block final layout fix */
.activity-group .activity,
.activity-group .classes {
    overflow: hidden;
}

.activity-group .activity {
    padding-right: 380px !important;
    min-height: 430px;
}

.activity-group .classes {
    padding-left: 380px !important;
    min-height: 430px;
}

.activity-group .activ,
.activity-group .clas {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px;
    position: relative;
    z-index: 3;
}

.activity-group .title-activity-min,
.activity-group .title-classes-min {
    width: 100%;
    max-width: none;
    min-height: 290px;
}

.activity-group .title-activity-img,
.activity-group .title-classes-img {
    z-index: 2;
}

.activity-group .title-activity-img .activity-figure,
.activity-group .title-classes-img .classes-figure,
.activity-group .title-activity-img .activity-accent,
.activity-group .title-classes-img .classes-accent {
    opacity: 1;
}

.activity-group .title-activity-img .activity-figure {
    width: 38%;
    max-width: 340px;
}

.activity-group .title-activity-img .activity-accent {
    width: 200px;
    right: 120px;
    top: auto;
    bottom: 0;
}

.activity-group .title-classes-img .classes-figure {
    width: 40%;
    max-width: 360px;
    align-self: flex-end;
    margin-bottom: 0;
}

.activity-group .title-classes-img .classes-accent {
    width: 240px;
    left: 120px;
    top: auto;
    bottom: 0;
}

.activity-group .title-classes-img {
    padding-bottom: 0 !important;
}

.activity-group .title-activity-img:hover .activity-figure,
.activity-group .title-activity-img:hover .activity-accent,
.activity-group .title-classes-img:hover .classes-figure,
.activity-group .title-classes-img:hover .classes-accent {
    transform: scale(1.04);
}

.news .news-3 > div:last-child {
    width: 100%;
    display: flex;
    justify-content: center;
}

.news .news-3 .about-button {
    margin: 0 auto;
}

@media (max-width: 1199px) {
    .activity-group .activity {
        padding-right: 320px !important;
    }

    .activity-group .classes {
        padding-left: 320px !important;
    }
}

@media (max-width: 991px) {
    .activity-group .activity,
    .activity-group .classes {
        min-height: auto;
    }

    .activity-group .activity {
        padding-right: 32px !important;
    }

    .activity-group .classes {
        padding-left: 32px !important;
    }

    .activity-group .activ,
    .activity-group .clas {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .activity-group .title-activity-img,
    .activity-group .title-classes-img {
        display: none;
    }
}

@media (max-width: 767px) {
    .activity-group .activ,
    .activity-group .clas {
        grid-template-columns: 1fr !important;
    }
}

/* Final UI fixes */
.content-right-menu,
.content-right-menu.is-active,
.content-right-menu.is-branch {
    border-radius: 16px !important;
    overflow: hidden;
}

.content-right-menu a,
.content-right-menu .external-link {
    border-radius: 16px !important;
}

.scrollup {
    position: fixed;
    left: 24px;
    right: auto;
    bottom: 0;
    width: 54px;
    height: 42px;
    border: 1px solid #4976a8;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 -8px 20px rgba(4, 33, 55, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

a.scrollup {
    text-decoration: none;
}

a.scrollup i {
    margin-top: 0 !important;
    line-height: 1;
    font-size: 20px;
    color: #04557A;
    display: block;
}

a.scrollup:hover,
a.scrollup:active,
a.scrollup:focus {
    background: rgba(239, 127, 27, 0.08);
    border-color: #ef7f1b;
    outline: none;
}

a.scrollup:hover i,
a.scrollup:active i,
a.scrollup:focus i {
    color: #ef7f1b;
}

@media (max-width: 991px) {
    .content-temp {
        padding-top: 12px !important;
        padding-bottom: 16px !important;
        margin-top: 12px !important;
    }

    .content-temp-div {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    .content-right {
        order: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        margin-bottom: 0 !important;
    }

    .content-left {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 auto !important;
        margin-top: 0 !important;
        padding: 16px !important;
    }

    .content-right-menu {
        margin-bottom: 6px;
        padding: 8px 10px;
    }

    .content-right-menu a,
    .content-right-menu span {
        font-size: 14px;
        line-height: 1.2;
    }

    .content-left > :first-child {
        margin-top: 0 !important;
    }
}

.news-page-section {
    max-width: 1280px;
    margin: 24px auto 40px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 24px;
    box-shadow: 0 16px 34px rgba(4, 33, 55, 0.14);
}

.news-page-section .content-temp-min-div {
    width: 100%;
}

.news-page-section h2 {
    margin: 0 0 18px;
    color: #04557A;
}

.news-page-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 360px));
    justify-content: center;
    gap: 20px;
}

.news-page-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #f6f9fd;
    box-shadow: 0 10px 22px rgba(4, 33, 55, 0.10);
    overflow: hidden;
    min-height: 100%;
    width: 100%;
}

.news-page-thumb {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eaf1f8;
}

.news-page-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-page-date {
    padding: 10px 14px 0;
    font-size: 14px;
    font-weight: 700;
    color: #4976a8;
}

.news-page-title {
    margin: 8px 14px 0;
    font-size: 18px;
    line-height: 1.25;
    color: #04557A;
}

.news-page-title a {
    color: inherit;
    text-decoration: none;
}

.news-page-title a:hover {
    color: #ef7f1b;
}

.news-page-excerpt {
    margin: 8px 14px 0;
    color: #04557A;
    line-height: 1.45;
}

.news-page-actions {
    margin-top: auto;
    padding: 14px;
    display: flex;
    justify-content: center;
}

@media (max-width: 1200px) {
    .news-page-grid {
        grid-template-columns: repeat(2, minmax(260px, 420px));
    }
}

@media (max-width: 768px) {
    .news-page-grid {
        grid-template-columns: minmax(260px, 460px);
    }
}

/* Mobile header/menu restyle */
@media (max-width: 991px) {
    .header-tailwind .gamburger {
        width: 52px !important;
        height: 52px !important;
        border-radius: 14px !important;
        border: 1px solid #4976a8 !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 10px 20px rgba(4, 33, 55, 0.16) !important;
        padding: 0 !important;
        gap: 5px;
        flex-direction: column;
    }

    .header-tailwind .gamburger span {
        display: block;
        width: 22px;
        height: 2px;
        border-radius: 2px;
        background: #04557A;
        transition: transform .25s ease, opacity .2s ease, background-color .2s ease;
    }

    .header-tailwind .gamburger:hover,
    .header-tailwind .gamburger:focus {
        border-color: #ef7f1b !important;
        background: rgba(239, 127, 27, 0.08) !important;
        outline: none;
    }

    .header-tailwind .gamburger:hover span,
    .header-tailwind .gamburger:focus span {
        background: #ef7f1b;
    }

    .header-tailwind .gamburger .first1 {
        transform: translateY(7px) rotate(45deg) !important;
    }

    .header-tailwind .gamburger .middle1 {
        opacity: 0 !important;
        transform: scaleX(0.2) !important;
    }

    .header-tailwind .gamburger .last1 {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    .header-tailwind #mobile-menu {
        margin-top: 12px !important;
        border: 1px solid #dbe5ef;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 18px 36px rgba(4, 33, 55, 0.20);
        padding: 12px !important;
        gap: 10px !important;
    }

    .header-tailwind #mobile-menu > a {
        display: flex;
        align-items: center;
        min-height: 44px;
        border: 1px solid #dbe5ef;
        border-radius: 12px !important;
        background: #f6f9fd;
        color: #04557A;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        transition: border-color .2s ease, color .2s ease, background-color .2s ease;
    }

    .header-tailwind #mobile-menu > a:hover,
    .header-tailwind #mobile-menu > a:focus {
        border-color: #ef7f1b;
        color: #ef7f1b;
        background: rgba(239, 127, 27, 0.08);
        text-decoration: none;
    }

    .header-tailwind #mobile-menu > div {
        border: 1px solid #dbe5ef;
        border-radius: 14px !important;
        background: #eef4fb !important;
        padding: 10px !important;
    }

    .header-tailwind #mobile-menu > div > .tw-text-sm {
        color: #04557A !important;
        font-size: 14px;
        font-weight: 700 !important;
        margin-bottom: 6px;
    }

    .header-tailwind #mobile-menu > div a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 40px;
        border: 1px solid transparent;
        border-radius: 10px !important;
        background: #ffffff;
        color: #04557A !important;
        text-decoration: none;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.25;
        transition: border-color .2s ease, color .2s ease, background-color .2s ease;
    }

    .header-tailwind #mobile-menu > div a:hover,
    .header-tailwind #mobile-menu > div a:focus {
        border-color: #ef7f1b;
        color: #ef7f1b !important;
        background: rgba(239, 127, 27, 0.08) !important;
        text-decoration: none;
    }

    .header-tailwind #mobile-menu .external-link .external-icon {
        margin-left: 10px;
        font-size: 15px;
        line-height: 1;
        flex: 0 0 auto;
    }
}

/* Mobile header + content visibility stability */
@media (max-width: 991px) {
    .header-tailwind > .tw-max-w-6xl {
        padding-top: 10px !important;
        padding-bottom: 8px !important;
    }

    .header-tailwind .custom-burger {
        width: 54px !important;
        height: 54px !important;
        border-radius: 16px !important;
        border: 1px solid rgba(73, 118, 168, 0.45) !important;
        background: linear-gradient(160deg, rgba(255,255,255,0.96), rgba(240,247,255,0.94)) !important;
        box-shadow: 0 14px 30px rgba(4, 33, 55, 0.2) !important;
        backdrop-filter: blur(4px);
        display: inline-flex !important;
        flex-direction: column;
        gap: 6px;
        padding: 0 !important;
    }

    .header-tailwind .custom-burger .gamburger-line {
        width: 24px !important;
        height: 3px !important;
        margin: 0 !important;
        border-radius: 99px !important;
        background: #04557A !important;
        transition: transform .22s ease, opacity .2s ease, background-color .2s ease;
    }

    .header-tailwind .custom-burger:hover,
    .header-tailwind .custom-burger:focus {
        border-color: #ef7f1b !important;
        background: linear-gradient(160deg, rgba(255,255,255,0.98), rgba(255,244,232,0.94)) !important;
        outline: none;
    }

    .header-tailwind .custom-burger:hover .gamburger-line,
    .header-tailwind .custom-burger:focus .gamburger-line {
        background: #ef7f1b !important;
    }

    .header-tailwind .custom-burger .gamburger-min-first1.first1 {
        transform: translateY(9px) rotate(45deg) !important;
    }

    .header-tailwind .custom-burger .gamburger-min-middle1.middle1 {
        opacity: 0 !important;
        transform: scaleX(0.2) !important;
    }

    .header-tailwind .custom-burger .gamburger-min-last1.last1 {
        transform: translateY(-9px) rotate(-45deg) !important;
    }

    .header-tailwind #mobile-menu {
        margin-top: 12px !important;
        border: 1px solid #dbe5ef !important;
        border-radius: 18px !important;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 20px 40px rgba(4, 33, 55, 0.2) !important;
        padding: 12px !important;
        gap: 10px !important;
        position: relative;
        z-index: 120;
    }

    .header-tailwind .map-head {
        margin-top: 8px !important;
        margin-bottom: -8px !important;
        justify-content: center !important;
        align-items: flex-end !important;
        min-height: 74px;
    }

    .header-tailwind .map-head-img {
        display: none !important;
    }

    .header-tailwind .map-head-logo {
        flex: 0 0 auto !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }

    .header-tailwind .map-head-logo img {
        width: 122px !important;
        height: auto !important;
    }

    .content-temp {
        padding: 12px !important;
        margin: 12px auto 22px !important;
        width: calc(100% - 24px) !important;
        min-height: 0 !important;
    }

    .content-temp-div {
        display: block !important;
    }

    .content-right,
    .content-left {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;
        min-width: 0 !important;
    }

    .content-right {
        margin-bottom: 10px !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .content-left {
        visibility: visible !important;
        opacity: 1 !important;
        min-height: 1px !important;
    }

    .content-left > * {
        visibility: visible !important;
        opacity: 1 !important;
    }
}

body:not(.activity-sections-ready) .content-left .activity-section {
    display: none !important;
}

body:not(.activity-sections-ready) .content-left .activity-section:first-of-type {
    display: block !important;
}

body.activity-sections-ready .content-left .activity-section {
    display: none !important;
}

body.activity-sections-ready .content-left .activity-section.active {
    display: block !important;
}

/* News detail pages */
.news-detail-section {
    max-width: 1280px;
    margin: 24px auto 40px;
    padding: 24px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    border-radius: 24px;
    box-shadow: 0 16px 34px rgba(4, 33, 55, 0.14);
}

.news-detail-header {
    margin-bottom: 16px;
}

.news-detail-date {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #4976a8;
}

.news-detail-title {
    margin: 0;
    color: #04557A;
    font-size: 34px;
    line-height: 1.16;
}

.news-detail-media {
    margin: 0 0 18px;
}

.news-detail-media img {
    width: 100%;
    max-width: 920px;
    display: block;
    border-radius: 16px;
    border: 1px solid #dbe5ef;
    box-shadow: 0 10px 22px rgba(4, 33, 55, 0.1);
}

.news-detail-embed {
    margin: 0 0 18px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #dbe5ef;
    box-shadow: 0 10px 22px rgba(4, 33, 55, 0.1);
    background: #000000;
}

.news-detail-embed iframe {
    border: 0;
}

.news-detail-content {
    color: #04557A;
    font-size: 20px;
    line-height: 1.62;
}

.news-detail-content p {
    margin: 0 0 14px;
}

.news-detail-content ul,
.news-detail-content ol {
    margin: 0 0 14px 24px;
    padding: 0;
}

.news-detail-content li {
    margin-bottom: 6px;
}

.news-detail-actions {
    margin-top: 18px;
    display: flex;
    justify-content: center;
}

/* Strong mobile overrides for home slider */
@media (max-width: 991px) {
    .gallery.swiper {
        padding: 10px !important;
        border-radius: 18px !important;
    }

    .gallery.swiper .gallery-slid {
        width: 100% !important;
        min-height: 0 !important;
        padding: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        align-items: stretch !important;
    }

    .gallery.swiper .slid-img {
        display: block !important;
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .gallery.swiper .slid-img img {
        width: 100% !important;
        max-height: 320px !important;
        object-fit: cover !important;
        border-radius: 14px !important;
    }

    .gallery.swiper .slider-bot-text {
        flex: 0 0 auto !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .gallery.swiper .slider-bot-span {
        font-size: 20px !important;
        line-height: 1.25 !important;
    }

    .gallery.swiper .slider-top-span,
    .gallery.swiper .slider-top-span p,
    .gallery.swiper .slider-top-span span {
        font-size: 17px !important;
        line-height: 1.45 !important;
    }

    .gallery.swiper .swiper-button-next,
    .gallery.swiper .swiper-button-prev {
        width: 38px !important;
        height: 38px !important;
        top: auto !important;
        bottom: 10px !important;
    }

    .gallery.swiper .swiper-button-prev {
        left: 10px !important;
        right: auto !important;
    }

    .gallery.swiper .swiper-button-next {
        right: 10px !important;
        left: auto !important;
    }
}

@media (max-width: 768px) {
    .news-detail-section {
        margin: 14px auto 24px;
        padding: 16px;
        border-radius: 18px;
    }

    .news-detail-title {
        font-size: 28px;
        line-height: 1.2;
    }

    .news-detail-content {
        font-size: 18px;
        line-height: 1.55;
    }
}

/* Unified page/menu width (match news block) */
:root {
    --site-max-width: 1280px;
}

.content-temp,
.news-page-section,
.news-detail-section {
    width: 100%;
    max-width: var(--site-max-width);
    box-sizing: border-box;
}

.content-temp {
    padding-left: 0;
    padding-right: 0;
}

.content-temp-div,
.content-temp-min-div {
    width: 100%;
    box-sizing: border-box;
}

.tw-max-w-6xl {
    max-width: var(--site-max-width) !important;
}

@media (min-width: 992px) {
    .tw-max-w-6xl {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 991px) {
    .tw-max-w-6xl {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* Spacing tune: header + sections + news cards */
@media (min-width: 992px) {
    .header-tailwind > .tw-max-w-6xl {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}

.content-temp,
.news-page-section,
.news-detail-section {
    margin-top: 28px;
    margin-bottom: 44px;
}

.news-page-section {
    padding: 24px;
}

.news-page-section h2 {
    margin-bottom: 22px;
}

.news-page-grid {
    gap: 24px;
}

.news-page-date {
    padding: 12px 16px 0;
}

.news-page-title {
    margin: 10px 16px 0;
    line-height: 1.3;
}

.news-page-excerpt {
    margin: 10px 16px 0;
    line-height: 1.5;
}

.news-page-actions {
    padding: 16px;
}

@media (max-width: 991px) {
    .content-temp,
    .news-page-section,
    .news-detail-section {
        margin-top: 16px;
        margin-bottom: 28px;
    }

    .news-page-section {
        padding: 16px;
    }

    .news-page-grid {
        gap: 16px;
    }
}

/* News detail spacing */
.news-detail-section {
    padding: 24px 28px;
}

.news-detail-article {
    max-width: 980px;
    margin: 0 auto;
}

.news-detail-header {
    margin-bottom: 20px;
}

.news-detail-media {
    margin-bottom: 22px;
}

.news-detail-content p {
    margin-bottom: 16px;
}

.news-detail-content ul,
.news-detail-content ol {
    margin-bottom: 16px;
}

.news-detail-actions {
    margin-top: 22px;
}

@media (max-width: 991px) {
    .news-detail-section {
        padding: 16px;
    }

    .news-detail-article {
        max-width: 100%;
    }
}
