@font-face {
    font-family: 'montserratbold';
    src: url('../fonts/montserrat-bold.eot');
    src: url('../fonts/montserrat-bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-bold.woff2') format('woff2'),
         url('../fonts/montserrat-bold.woff') format('woff'),
         url('../fonts/montserrat-bold.ttf') format('truetype'),
         url('../fonts/montserrat-bold.svg#montserratbold') format('svg');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'montserratextrabold';
    src: url('../fonts/montserrat-extrabold.eot');
    src: url('../fonts/montserrat-extrabold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-extrabold.woff2') format('woff2'),
         url('../fonts/montserrat-extrabold.woff') format('woff'),
         url('../fonts/montserrat-extrabold.ttf') format('truetype'),
         url('../fonts/montserrat-extrabold.svg#montserratextrabold') format('svg');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'montserratlight';
    src: url('../fonts/montserrat-light.eot');
    src: url('../fonts/montserrat-light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-light.woff2') format('woff2'),
         url('../fonts/montserrat-light.woff') format('woff'),
         url('../fonts/montserrat-light.ttf') format('truetype'),
         url('../fonts/montserrat-light.svg#montserratlight') format('svg');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'montserratmedium';
    src: url('../fonts/montserrat-medium.eot');
    src: url('../fonts/montserrat-medium.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-medium.woff2') format('woff2'),
         url('../fonts/montserrat-medium.woff') format('woff'),
         url('../fonts/montserrat-medium.ttf') format('truetype'),
         url('../fonts/montserrat-medium.svg#montserratmedium') format('svg');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'montserratregular';
    src: url('../fonts/montserrat-regular.eot');
    src: url('../fonts/montserrat-regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-regular.woff2') format('woff2'),
         url('../fonts/montserrat-regular.woff') format('woff'),
         url('../fonts/montserrat-regular.ttf') format('truetype'),
         url('../fonts/montserrat-regular.svg#montserratregular') format('svg');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'montserratsemibold';
    src: url('../fonts/montserrat-semibold.eot');
    src: url('../fonts/montserrat-semibold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-semibold.woff2') format('woff2'),
         url('../fonts/montserrat-semibold.woff') format('woff'),
         url('../fonts/montserrat-semibold.ttf') format('truetype'),
         url('../fonts/montserrat-semibold.svg#montserratsemibold') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'montserratthin';
    src: url('../fonts/montserrat-thin.eot');
    src: url('../fonts/montserrat-thin.eot?#iefix') format('embedded-opentype'),
         url('../fonts/montserrat-thin.woff2') format('woff2'),
         url('../fonts/montserrat-thin.woff') format('woff'),
         url('../fonts/montserrat-thin.ttf') format('truetype'),
         url('../fonts/montserrat-thin.svg#montserratthin') format('svg');
    font-weight: normal;
    font-style: normal;

}


* {
    margin: 0;
	padding: 0;   
	text-align: left;
	font-size: 16px;
	font-family: 'montserratregular', Tahoma, sans-serif;
	color: #363636;	
	background-color: transparent;
    box-sizing: border-box;
    border-collapse: collapse;
    }

body {
    word-wrap: break-word;
}

td {vertical-align: top;}
a {color: inherit; text-decoration: none;}
a:hover {text-decoration: underline; color: #3f848b; webkit-transition: 0.2s ease-out; transition: 0.2s ease-out;}
a img {border: none;}
strong, b {font-weight: normal; font-family: 'montserratsemibold';}

#container p {margin-bottom: 0;}

.container {
    max-width: 1200px; width: 1200px;
    margin: 0 auto;    
}

/* --- Öâåòîâûå ïåðåìåííûå --- */
:root {
    --primary-blue: #3f848b;
    --dark-blue: #1e6e77;
    --middle-blue: #6ca0a6;
    --light-blue: #86b2b6;
    --blue: #4a7b86;
    --primary-orange: #ff8a2a;
    --orange: #fd9d43;
    --light-orange: #fba35b;
    --text-very-dark: #222;
    --text-dark: #363636;    
    --primary-gray: #a4a4a4;
    --dark-gray: #717171;
    --middle-gray: #c5c5c5;
    --light-gray: #d6d6d6;
    --bg-light: #f3f2f2;
    --light: #fff;
    --bg-lightblue: #1e6d85;
    --bg-blue: #0e516b;
    --bg-darkblue: #155665;
}


/* --- header --- */

#top {
    background-color: var(--dark-gray); padding-top: 4px; padding-bottom: 6px;
}
.top-grid {
    display: flex;    
    align-items: center;   
    gap: 15px;
}
.top-grid * {color: var(--light-gray); font-size: 11px;}
.top-grid :last-child {margin-left: auto;}
.top-grid p {margin-bottom: 0;}

#header {
    padding-top: 4px; padding-bottom: 6px;
    background: url(../images/bg-header-right-a.jpg) calc(50% + 235px) -50px no-repeat,
                url(../images/bg-header-left.svg) -200px 50px no-repeat;       
}
#header .container {padding: 0;}
.header-grid {
    background: url(../images/lines-header.png) calc(50% + 10px) 65px no-repeat;    
	display: flex;  
    gap: 15px;
    height: 570px;
    position: relative;    
}
.header-grid:before {
    content:'';
    width: 134px;
    height: 67px;
    background: url(../images/decor-header.png) no-repeat; 
    position: absolute;
    right: 270px;
    bottom: 35px;
}
.header-logo {
    width: 560px;    
}
.header-contacts {
    width: 620px;
    padding-top: 30px;
    padding-bottom: 65px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));    
    gap: 30px;
    grid-template-rows: minmax(100px, auto, auto);    
    grid-template-areas: "half1 half2" ". half3" "half4 half5";
}
.dj-megamenu-wrapper {align-self: start; grid-area: half1;}
#djacc {grid-area: half3; align-self: start; justify-self: end; margin-right: 40px;}
#djacc .djacc__openbtn {margin: 0; width: 30px; height: 30px; border: solid 1px var(--middle-gray); border-radius: 50%; text-align: center;}
#djacc .djacc-popup.djacc--center-left .djacc__panel {position: fixed; transform: translateY(0%);}
#djacc .djacc-popup .djacc__close, 
#djacc .djacc-popup .djacc__reset {text-align: center;}
.sitemapmenu {grid-area: half3; align-self: start;  justify-self: end;}
.sitemapmenu a {display: block; width: 30px; height: 30px; border: solid 1px var(--middle-gray); border-radius: 50%; text-align: center;}
.sprosmenu {align-self: end; grid-area: half4;}
.contact {align-self: end; grid-area: half5;}

#header .zayavka {align-self: start; text-align: right;}
#header .zayavka a {
display: inline-block;
background: rgba(63, 132, 139, 0.76)  url(../images/i-zayavka.svg) no-repeat 27px center;
border-radius: 50px;
padding: 20px 35px 20px 55px;
color: var(--light);
}
#header .zayavka a:hover {
background-color: rgba(21, 86, 101, 0.76);
text-decoration: none;
}

.dj-megamenu-wrapper li a.dj-up_a > span span.name:hover {color: var(--primary-orange);}

.sprosmenu a {
display: inline-block;
background:  url(../images/i-spros.svg) no-repeat 27px center, linear-gradient(90deg, rgba(255, 255, 255, 0.82) 45.42%, rgba(255, 255, 255, 0.082) 110.2%);
border-radius: 50px;
padding: 20px 35px 20px 55px;
color: var(--dark-gray);
}
.sprosmenu a:hover {
background-color: rgba(30, 119, 113, 0.2);
}



#header ul {list-style: none;}
.logomenu {position: relative; left: -20px;}
.catalogmenu {padding-top: 43px; padding-left: 20px;}
.catalogmenu li {
    margin-bottom: 8px;
    display: inline-block;  
    position: relative;
    box-sizing: border-box;
    line-height: 1.25;
}
.catalogmenu li::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(243, 242, 242, 0.28);
    border-radius: 20px;    
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.22);
    filter: blur(2px);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;    
}
.catalogmenu li a {
    display: block; 
    padding: 15px 65px 15px 35px; 
    font-size: 24px; 
    font-family: 'montserratmedium';
    position: relative;     
    border-radius: 20px;   
    z-index: 2;    
}
.catalogmenu li:last-child {
    margin-top: 15px;   
}
.catalogmenu li:hover::before {    
    background: rgba(30, 119, 113, 0.2);
}

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


/* --- DJ-megamenu --- */
.dj-megamenu * {font-size: 14px;}
#header .dj-megamenu li ul.dj-submenu > li > a {line-height: 18px;}
#header .dj-megamenu-clean li a.dj-up_a {padding: 0 10px;}

/* --- òåëåôîíû --- */
.phone-dropdown {
            position: relative;
            display: inline-block;            
        }
.phone-dropdown * {font-size: 18px; font-family: 'montserratmedium'; color: var(--text-dark);}
.phone-dropdown__selected {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 8px 12px;
            background: transparent;
            border: none;              
            cursor: pointer;
            letter-spacing: 0.3px;
            user-select: none;
            transition: opacity 0.2s;
        }

.phone-dropdown__selected:hover {
            opacity: 0.7;
        }

.phone-dropdown__arrow {
            width: 12px;
            height: 12px;
            flex-shrink: 0;
            transition: transform 0.25s ease;
        }

.phone-dropdown.open .phone-dropdown__arrow {
            transform: rotate(180deg);
        }

.phone-dropdown__list {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            right: 0;
            min-width: 100%;            
            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);            
            margin: 0;
            list-style: none;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-8px);
            transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
            z-index: 100;
            padding-left: 0;
        }

.phone-dropdown.open .phone-dropdown__list {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            background: rgba(255, 255, 255, 0.7);
        }

.phone-dropdown__item {
            padding: 10px 5px;
            cursor: pointer;
            white-space: nowrap;
            transition: background 0.15s;
            text-align: center;
        }

.phone-dropdown__item:hover {
            background: var(--bg-light);
        }

.phone-dropdown__item.selected {
            background: #f0f4ff;            
        }



.contact {
  background: radial-gradient(59.48% 60.02% at 17.48% 28.36%, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.747) 66.1%, rgba(255, 255, 255, 0.9) 100%);
  border-radius: 20px;
  padding: 27px 18px 27px 40px; 
}

.adres * {font-size: 12px; color: var(--dark-gray);}
.adres em {font-style: normal; color: var(--text-very-dark);}


.contact .input-group {align-items: flex-end;}   
.contact .form-control {
  border: none; 
  border-bottom: solid 1px var(--primary-gray); 
  border-radius: 0; 
  background: transparent;
  position: relative;
  top: -10px;
  padding: 0 !important;
  outline: none; 
  lihe-height: 1em !important;
}
.contact input.form-control:focus {
  outline: none !important; 
  outline: 0!important;
  outline-color: transparent!important;
  outline-width: 0!important;
  outline-style: none!important;
  box-shadow: 0 0 0 0 rgba(0,123,255,0)!important;
}
::-moz-focus-outer, ::-moz-focus-inner {
  border: 0px !important;
  padding: 0;
}
.contact .btn-primary {
  width: 48px; 
  height: 48px; 
  background: var(--text-dark) url(../images/i-lupa.svg) center center no-repeat; 
  border: none; 
  border-radius: 50%;
}
.contact .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
}


/* --- perepodgotovka --- */

.perepodgotovka {  
    background: url(../images/bg-perepodgotovka.webp) center center no-repeat; background-size: cover;
    
}
.perepodgotovka .container {
    padding: 90px 0; 
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "glass glass" "zayavka spros";
    align-items: center;
}

.perepodgotovka h2 { 
    color: var(--light);
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.35em;
    position: relative;     
    padding-left: 42px;
    margin-left: 310px;
    margin-bottom: 60px;
}
.perepodgotovka h2:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: 15px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.perepodgotovka h2:after {
    content: '';
    width: 310px; 
    height: 1px;
    position: absolute;
    left: -310px;
    top: calc(50% - 1px);
    background-color: var(--light);
}
.glassblocks {
    grid-area: glass;
    padding-bottom: 90px;
}
.glassblocks .mod-list {
    counter-reset: list; list-style-type: none; padding: 0; align-items: start;
}
.glassblocks .mod-list li {
    counter-increment: list; position: relative; height: 382px;
}
.glassblocks .mod-list li:before {
    content: counter(list);
    line-height: 1em; 
    font-size: 140px;
    font-family: 'montserratextrabold';
    color: var(--primary-orange);
    opacity: 70%;
    position: absolute;
    left: 15px;
    top: 5px;
    z-index: 1;
}
.glassblocks .mod-articles-item-content {
  width: 360px;
  height: 382px;
  background: url(../images/bg-glassblock.svg) center center no-repeat, url(../images/bg-glass-green.svg) right -120px bottom -120px no-repeat;
  position: relative;
  z-index: 3; 
  padding: 35px 35px 15px 50px;
  display: grid;
  align-items: end; 
}
.glassblocks .mod-articles-item-content:hover {
  width: 360px;
  height: 382px;
  background: url(../images/bg-glassblock.svg) center center no-repeat, url(../images/bg-glass-orange.svg) right -50px bottom -100px no-repeat;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.glassblocks .mod-articles-item-content: before {  
  content: '';
  background: radial-gradient(59.48% 49.42% at 17.48% 26.87%, rgba(255, 255, 255, 0.018) 0%, rgba(255, 255, 255, 0.15) 66.1%, rgba(255, 255, 255, 0.18) 100%); 
  backdrop-filter: blur(10px);
  width: 360px;
  height: 382px;
  position: absolute;
  left: 0;
  top: 0; 
  right: 0; 
  bottom: 0;
  z-index: -1;  
  -webkit-clip-path: url(#svgpath);
  clip-path: url(#svgpath);
}
.glassblocks .mod-articles-item-content svg {
  position: absolute;
  z-index: -10; 
}
.glassblocks .mod-articles-item-content * {
  color: var(--light);
  font-size: 14px;
}
.glassblocks .mod-articles-item-content h3 {
  align-self: start;
}
.glassblocks .mod-articles-item-content a { 
  display: block;   
  font-size: 22px;
  font-family: 'montserratmedium';
  line-height: 1.1em; 
  padding-left: 70px;  
}
.glassblocks .mod-articles-fields {
  height: 205px;
}
.glassblocks .article-field {
  padding: 2px 0;
}
.glassblocks .article-field span {
  display: inline-block;
  width: 49%;
  vertical-align: top;
}
.glassblocks .article-field span.field-value {
  font-family: 'montserratmedium';  
}
.glassblocks .kvalifikatsiya {
  border-bottom: solid 1px var(--primary-gray);
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.glassblocks .kvalifikatsiya span {
  display: block;
  width: 100%;
}
.glassblocks .kvalifikatsiya .field-value {
  font-size: 16px; 
  font-family: 'montserratmedium';
  text-transform: lowercase;
}
.glassblocks .start { 
  background: linear-gradient(180deg, rgba(45, 105, 115, 0) 0%, #2d6973 100%);
  border-radius: 12px;
  padding: 5px;
  text-align: center;
  margin-top: 8px;
}
.glassblocks .start * { 
  font-size: 16px; 
  font-family: 'montserratmedium';
  text-transform: lowercase;  
}
.glassblocks .start .field-label { 
  color: var(--primary-orange);
  background: url(../images/i-start.svg) left center no-repeat;
  padding: 5px 25px 5px 30px;
  width: auto;
}
.glassblocks .start .field-value { 
  padding: 5px;
  width: auto;
}

.greenbtn {  
  grid-area: zayavka;
  justify-self: end;   
  border-radius: 50px; 
  position: relative;    
  box-sizing: border-box;    
  margin: 10px auto;    
}
.greenbtn a {
  display: block; 
  padding: 12px 45px; 
  background-color: var(--primary-blue); 
  color: var(--light);   
  position: relative;     
  border-radius: 50px;   
  z-index: 2; 
  font-weight: bold; 
  font-family: 'montserratlight';  
}
.greenbtn a::after {    
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  position: absolute;
  left: 25px;
  top: calc(50% - 4px); 
  border-radius: 50%;
  background-color: var(--primary-orange);
}
.greenbtn a:hover { 
  text-decoration: none;
  background-color: var(--blue);
}
.sprosmenu2{
  grid-area: spros;
}
.sprosmenu2 a {
  display: inline-block;
  background:  url(../images/i-predlozhenie.svg) no-repeat left center;
  padding: 20px 35px;
  color: var(--light-gray);
  font-family: 'montserratmedium'; 
}
.sprosmenu2 a:hover {
  color: var(--light);
}



/* --- qualificatiya --- */

.qualificatiya { 
    background: #f2f1f1;    
}

.qualificatiya .container {
    padding: 90px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "soft soft" "arrowlink softbutton";
    align-items: center;    
}
.qualificatiya h2 { 
    color: var(--dark-blue);
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.35em;
    position: relative;     
    padding-left: 42px;
    margin-left: 310px;
    margin-bottom: 60px;
}
.qualificatiya h2:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: 15px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.qualificatiya h2:after {
    content: '';
    width: 310px; 
    height: 1px;
    position: absolute;
    left: -310px;
    top: calc(50% - 1px);
    background-color: var(--text-very-dark);
}
.softblocks {
    grid-area: soft;
    position: relative;
    padding-bottom: 40px;
}
.softblocks li {
    list-style-type: none;
}
.softblocks > .mod-list {
    counter-reset: list; list-style-type: none; padding: 0; align-items: start;
}
.softblocks .mod-list {
    padding: 0; margin-bottom: 30px;
}
.softblocks > .mod-list > li {
    counter-increment: list; position: relative; height: 304px;
}
.softblocks > .mod-list > li:before {
    content: counter(list);    
    text-align: right;
    font-size: 12px;
    font-family: 'montserratmedium';
    background-color: var(--text-dark);
    color: var(--light);
    border-radius: 0 50px 50px 0;
    width: 19px;
    height: 20px;
    padding: 2px 4px 2px 0;    
    position: absolute;
    left: 0;
    top: 32px;
    z-index: 2;
}
.softblocks .mod-articles-item-content {
  width: 360px;
  height: 290px;
  background: radial-gradient(94.93% 101.28% at -14.96% -17.31%, #ffffff 7.22%, rgba(255, 255, 255, 0.49) 56.67%, #ffffff 76.65%, #ffffff 100%);
  border-radius: 20px;
  position: relative;
  z-index: 1; 
  padding: 30px 45px 30px 25px;
  display: grid;
  align-items: end; 
  overflow: hidden;
}
.softblocks .mod-articles-item-content:hover {
  filter: brightness(.8);
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.softblocks .mod-articles-item-content::before {
  content: '';
  width: 25px;     
  position: absolute;
  right: 0;
  top: 0; 
  bottom: 0;    
  background-color: var(--light-gray);
}

.softblocks .mod-articles-item-content * {  
  font-size: 14px;
}
.softblocks .mod-articles-item-content h3 {
  align-self: start;
  width: 290px;
  height: 90px; 
  border-bottom: solid 1px var(--dark-gray); 
}
.softblocks .mod-articles-item-content h3 a { 
  display: block;   
  font-size: 18px;
  font-family: 'montserratmedium';
  line-height: 1.1em; 
  color: var(--text-very-dark); 
}
.softblocks .article-field {
  padding: 2px 0;  
  width: 290px;
}
.softblocks .article-field span {
  display: inline-block;
  width: 49%;
  vertical-align: top;
}
.softblocks .article-field span.field-label {
  color: var(--dark-gray);
}
.softblocks .article-field span.field-value {
  color: var(--text-dark);
}
.softblocks .start { 
  background: linear-gradient(180deg, rgba(234, 232, 232, 0) 0%, #eae8e8 100%);
  border-radius: 12px;
  padding: 5px;
  text-align: center;
  margin-top: 15px;
}
.softblocks .start * { 
  font-size: 16px; 
  font-family: 'montserratmedium';
  text-transform: lowercase;
  display: inline-block;
}
.softblocks .start .field-label { 
  color: var(--dark-blue);
  background: url(../images/i-start-blue.svg) left center no-repeat;
  padding: 5px 25px 5px 30px;
  width: auto;
}
.softblocks .start .field-value { 
  padding: 5px;
  width: auto;
}
.softblocks .zayavka {
  background: url(../images/i-arrow.svg) no-repeat left center;
  padding: 10px 35px;
}
.softblocks .zayavka a {
  font-size: 16px; 
  font-family: 'montserratsemibold';
  color: var(--primary-orange);
}
.softblocks .zayavka a:hover {
  text-decoration: none;
  color: var(--primary-gray);
}
#blizhajshee-obuchenie .softblocks:first-of-type {  
  width: 790px;  
}

#blizhajshee-obuchenie .softblocks > .mod-list > li::before {
  content: '';
  background: none;
}
.mod-articles-tags {
  width: 290px;     
  position: absolute;
  right: 0;
  left: 0; 
  bottom: 0;    
  background-color: var(--light-gray);
  transform: rotate(-90deg) translate(0px, 310px);
  transform-origin: 25px 0;
}
.mod-articles-tags ul {
  width: 100%;  
  height: 25px;  
  display: flex; 
  gap: 0; 
}
.mod-articles-tags a {
  color: var(--light);    
  font-family: 'montserratsemibold';
  display: block;
  padding: 2px;
  text-align: center; 
  text-transform: lowercase;
  background-color: transparent;
  border: none;  
  cursor: text;
}
.mod-articles-tags a:hover, .mod-articles-tags a:active, .mod-articles-tags a:focus, .mod-articles-tags a:active:focus {
  color: var(--light);
  background-color: transparent;
  border: none;
  box-shadow: none;
  text-decoration: none;
}
.mod-articles-tags li.list-inline-item {
  margin: 0;
}
.mod-articles-tags li:first-child {
  width: 50%;
  height: 25px;   
}
.mod-articles-tags li:last-child {
  width: 50%; 
  height: 25px;   
  margin-left: auto;
}
.mod-articles-tags li a[href$=onlajn] {
  background-color: var(--light-orange);
}
.mod-articles-tags li a[href$=oflajn] {
  background-color: var(--light-blue);  
}
.arrow {
  grid-area: arrowlink;
  justify-self: end; 
}
.arrow a {
  background:  url(../images/i-arrow.svg) no-repeat left center;
  padding: 20px 35px;
  color: var(--text-very-dark);
  font-family: 'montserratmedium'; 
}
.softbtn {
  grid-area: softbutton;
  justify-self: start;
}


/* --- kursy --- */

.kursy { 
    background: linear-gradient(to right, #fab06c 0%, #fab06c 50%, #e6e6e6 50%, #e6e6e6 100%);
}

.kursy-grid {    
    margin-left: 150px; 
    margin-right: 0;
    padding: 90px 110px 90px 140px; 
    background: rgba(230, 230, 230, 1) url(../images/spros.svg) no-repeat left center; 
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "soft soft" "arrowlink softbutton";
    align-items: center;       
}
.kursy-grid::before {    
    content: '';
    width: 501px; 
    height: 521px;
    position: absolute;
    left: -270px;
    top: 140px;     
    background:  url(../images/bg-kursy.webp) no-repeat;
}
.kursy h2 { 
    color: var(--dark-blue);
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.35em;
    position: relative;     
    padding-left: 42px;    
    margin-bottom: 60px;
}
.kursy h2:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: 15px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.kursy h2:after {
    content: '';
    width: 290px; 
    height: 572px;
    position: absolute;
    left: -295px;
    top: calc(50% - 4px);
    background:  url(../images/decor-kursy.svg) no-repeat;
}


/* --- seminary --- */

.seminary .container {
    padding: 90px 0;    
    position: relative;
    display: grid;
    grid-template-columns: 1fr;       
    grid-template-areas: "krug text" "krug button" "krug info"; 
}

.spisok {grid-area: text;}
.blackbtn {grid-area: button;}
.prim {grid-area: info;}

.seminary h2 { 
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.35em;
    position: relative;     
    padding-left: 42px;
}
.seminary h2:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: 15px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.seminary h2:after {
    content: '';
    width: 170px; 
    height: 1px;
    position: absolute;
    left: -170px;
    top: calc(50% - 1px);
    background-color: var(--light);
}
.radial {
    grid-area: krug;
    width: 544px; 
    height: 544px;
    padding-top: 70px;
    padding-bottom: 90px;
    border-radius: 50%;
    background: url(../images/bg-seminary.webp) no-repeat center;
    clip-path: circle(50%);
    display: grid;   
    grid-template-columns: 1fr;    
    justify-items: center;
    align-items: end;
    margin-right: 35px;
}
.radial * {
    color: var(--light);
}
.radial > * {
    width: 300px;
}
.radial > div p:first-child {
    font-size: 18px;
    text-align: center;
    padding-bottom: 50px;
    line-height: 1.2em;
}
.radial table {
    border: none;
}
.radial td {
    padding: 8px 10px;
    line-height: 1em;
    position: relative;
}
.radial tr:first-child {
    border-bottom: solid 1px var(--light-blue);
}
.radial td:first-child {
    border-right: solid 1px var(--light-blue);
}
.radial td:first-child:before {
    content: '';
    width: 6px; 
    height: 6px;
    position: absolute;
    left: 0;
    top: 13px; 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.radial strong {
    font-family: 'montserratsemibold';
    font-weight: normal;
}

.spisok ul {
    padding: 28px 0 45px 15px;
}
.spisok li {
    padding: 5px 0;
    font-size: 18px; 
    font-family: 'montserratmedium'; 
    line-height: 1.3em;
}
.spisok li::marker {color: var(--dark-blue); font-size: 18px;}

.blackbtn {
    display: inline-block;    
    border-radius: 50px; 
    position: relative;    
    box-sizing: border-box;
    justify-self: start;
    margin: 10px auto;    
}
.blackbtn a {
    display: block; 
    padding: 12px 45px; 
    background-color: var(--text-dark); 
    color: var(--light);   
    position: relative;     
    border-radius: 50px;   
    z-index: 2; 
    font-weight: bold; 
    font-family: 'montserratlight';  
}
.blackbtn a::after {    
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 25px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.blackbtn a:hover { 
    text-decoration: none;
    background-color: var(--bg-blue);
}
.prim {
    background: url(../images/i-info.svg) no-repeat;
    padding-left: 35px;
    width: 420px;
    margin: 10px auto;
}
.prim * {
    color: var(--dark-gray);
    font-size: 15px;
    line-height: 1.3em;
}


/* --- preimuschestva --- */

.preimuschestva { 
    background-image: url(../images/bg-adv.webp), linear-gradient(270deg, #FE8C2E 0%, #FBDD92 100%);
    background-repeat: no-repeat;
    background-position: right -130px top -50px, left center;
    }
.preimuschestva .container {
    height: 800px; 
    padding: 100px 0 70px;
    background: url(../images/decor-adv.png) no-repeat right 195px bottom 120px; 
    position: relative;     
}
.preimuschestva .heading {padding-left: 170px; padding-bottom: 20px;}
.preimuschestva .heading p {
    color: var(--text-dark); 
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.35em;
    position: relative;     
    padding-left: 42px;
}
.preimuschestva .heading p:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: 15px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.preimuschestva .heading p:after {
    content: '';
    width: 170px; 
    height: 1px;
    position: absolute;
    left: -170px;
    top: calc(50% - 1px);
    background-color: var(--text-dark);
}
.preim ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    margin: 50px 250px 100px 0;
    list-style-type: none;
}
.preim li {    
    color: var(--text-very-dark); 
    position: relative;
    margin-right: 30px;  
}
.preim strong {
    display: block;
    margin-bottom: 5px;
    font-size: 22px; 
    font-family: 'montserratmedium';
    font-weight: normal;
    line-height: 1em;
    color: var(--text-very-dark);
}
.preim li:before {
    content: '';
    width: 27px; 
    height: 26px;
    position: absolute;
    left: -37px;
    top: 0;
}
.preim li.znaniya:before {
    background: url(../images/i-znaniya.svg) no-repeat right top;
}
.preim li.dengi:before {
    background: url(../images/i-dengi.svg) no-repeat right top;
}
.preim li.diplom:before {
    background: url(../images/i-diplom.svg) no-repeat right top;
}
.preim li.mesto:before {
    background: url(../images/i-mesto.png) no-repeat right top;
}
.preim li.prepody:before {
    background: url(../images/i-prepody.svg) no-repeat right top;
}
.preim li.ruki:before {
    background: url(../images/i-ruki.svg) no-repeat right top;
}

.softbtn {
    display: inline-block;    
    border-radius: 50px; 
    position: relative;   
    box-sizing: border-box;    
}
.preim .softbtn {
    left: 290px;
}
.softbtn::before {    
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(243, 242, 242, 0.2);
    border-radius: 50px;    
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2);
    filter: blur(2px);
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;    
}
.softbtn::after {    
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 25px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.softbtn a {
    display: block; 
    padding: 12px 45px; 
    color: var(--text-dark);    
    position: relative;     
    border-radius: 50px;   
    z-index: 2; 
    font-weight: bold; 
    font-family: 'montserratlight';  
}
.softbtn a:hover { 
    text-decoration: none;
}
.softbtn:hover::before { 
    background: rgba(253, 157, 67, 0.5);
}


/* --- otzyvy --- */

.otzyvy { 
    background: var(--bg-light) url(../images/bg-otzyvy.png) no-repeat left 90px top -70px;
}
.otzyvy .container {height: 800px; padding: 100px 0 70px; position: relative; }
.otzyvy .container:before {
    content:'';
    width: 200px; 
    position: absolute;
    left: -200px;
    top: 0;
    bottom: 0;
    background: linear-gradient(rgba(242, 241, 241, 0.1) 0%, #F3F2F2 60%);
    backdrop-filter: blur(30px);
}
.otzyvy .heading p {
 color: var(--dark-gray); font-size: 40px; font-family: 'montserratmedium'; text-transform: uppercase; line-height: 1.35em; margin-left: 550px;
}
.otzyvy .logo {position: relative; top: 230px; left: 50px;}


/* --- orange --- */

.orangeblock { 
    background: var(--primary-orange);
}
.orangeblock * { 
    color: var(--light);
}
.orangeblock .container {    
    padding: 100px 0; 
    position: relative; 
    background: url(../images/bg-orange.webp) no-repeat right 160px top 50px;
}
.orangeblock .container-inner {
    width: 750px; 
    margin-left: auto; 
    margin-right: auto;
    position: relative;
}
.orangeinfo h2 {
    padding-right: 150px;
    padding-bottom: 90px; 
}
.orangeinfo p {
    font-size: 20px; 
}
.orangeinfo ul {
    list-style-type: none;
    display: grid;   
    grid-template-columns: 1fr 1fr;
    padding-top: 15px;
    padding-left: 0;
}
.orangeinfo li {
    font-size: 30px;    
}
.orangeinfo li:nth-child(even) {
    justify-self: end;    
}

.brown {
    text-align: center; 
    padding-top: 30px;  
}
.brown p {
    font-size: 20px; 
    padding-right: 150px; 
    padding-bottom: 10px;  
}
.brown a {
    display: inline-block; 
    padding: 12px 45px; 
    background: #b45203;
    color: var(--light);   
    position: relative;     
    border-radius: 50px;   
    z-index: 2; 
    font-weight: bold; 
    font-family: 'montserratlight';  
}
.brown a::after {    
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    position: absolute;
    left: 25px;
    top: calc(50% - 4px); 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
.brown a:hover { 
    text-decoration: none;
    background-color: var(--light);
    color: var(--primary-orange); 
}


/* --- footer --- */

.footer-grid {
    display: grid;
    grid-template-columns: calc(50% - 242px) 484px calc(50% - 242px);
   
}
.footer-grid > div {padding-top: 90px; padding-bottom: 70px; display: grid; align-items: end;}
.footer-grid .nav {display: block;}

.footer-grid-left {
padding-left: 25px; padding-right: 25px; 
background: linear-gradient(180deg, #15525D 35.54%, #155F6E 112.34%);
border-radius: 0 20px 20px 0; 
position: relative; 
z-index: 3; 
justify-items: end;
}
.footer-grid-center {
padding-left: 65px; padding-right: 45px;  
background: linear-gradient(0deg, #0E516B, #0E516B),
radial-gradient(29.77% 50.98% at 9.46% 4.21%, rgba(0, 51, 255, 0.3) 0%, rgba(0, 51, 255, 0) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
radial-gradient(30.08% 51.38% at 3.25% 71.94%, rgba(98, 204, 223, 0.3) 0%, rgba(98, 204, 223, 0) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
radial-gradient(42.03% 35.75% at 42.96% 82.39%, rgba(0, 27, 102, 0.219) 0%, rgba(0, 51, 255, 0) 98.54%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
radial-gradient(65.93% 118% at 91.95% 101.49%, rgba(98, 223, 221, 0.3) 0%, rgba(161, 234, 247, 0) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
radial-gradient(76.08% 54.91% at 18.92% 6.76%, rgba(98, 223, 221, 0.3) 0%, rgba(98, 204, 223, 0) 58.53%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
radial-gradient(79.9% 52.24% at 91.99% 80.91%, rgba(255, 253, 114, 0.3) 0%, rgba(255, 252, 197, 0) 58.53%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */,
linear-gradient(0deg, rgba(30, 110, 119, 0.3), rgba(30, 110, 119, 0.3));  
border-radius: 0 20px 20px 0; 
margin-left: -20px; 
margin-right: -20px; 
position: relative;  
z-index: 2; 
}
.footer-grid-right {
padding-left: 75px; padding-right: 75px;
background: url(../images/bg-footer-right.jpg) center center no-repeat; 
position: relative;  
z-index: 1;
justify-items: start;
}

.footer-grid-left *, .footer-grid-center *, .footer-grid-right * {color: var(--bg-light);}
.footer-grid-center .adres * {color: var(--light-gray);}

.footer-grid .logo {border-bottom: solid 1px var(--primary-gray); padding-right: 30px; padding-bottom: 30px; margin-bottom: 30px;}

.footmenu > li {margin-bottom: 20px;}
.footmenu > li:last-child {margin-bottom: 0;}
.footmenu .separator {text-transform: uppercase; font-size: 18px;  font-family: 'montserratsemibold'; display: block; margin-bottom: 10px;}
.footmenu ul li {list-style-type:disc; margin-left: 20px; margin-bottom: 2px;}
.footmenu ul li::marker {color: var(--primary-orange); font-size: 12px;}
.footmenu ul li a {font-size: 20px;}
.footmenu ul li a:hover {color: var(--primary-orange);}

.footer-grid .tel {border-bottom: solid 1px var(--primary-gray); padding-right: 30px; padding-bottom: 30px; width: 100%;}
.footer-grid .tel h3 {text-transform: uppercase; font-size: 18px; font-family: 'montserratsemibold'; margin-bottom: 20px; margin-left: 35px;}
.footer-grid .tel p {padding-top: 5px; padding-bottom: 5px; text-align: center;}
.footer-grid .tel p:last-child {padding-top: 15px;}
.footer-grid .tel a {font-size: 20px; display: block; text-align: center;}
.footer-grid .tel a:hover {color: var(--primary-orange); text-decoration: none;}

.footer-grid .adres {background: url(../images/geo.png) left center no-repeat; background-size: 15px 21px; padding-left: 30px; padding-right: 30px; margin-right: 30px; margin-left: 30px;}
.footer-grid .oplata * {text-align: center;}
.footer-grid .oplata img {width: 40px; height: 40px; margin: 2px;}

.politmenu {max-width: 300px;}
.politmenu li {line-height: 1em; margin-bottom: 5px;}
.politmenu a {font-size: 12px;}
.politmenu a:hover {color: var(--light-blue); text-decoration: none;}
.socialmenu {max-width: 300px;}
.socialmenu li {display: inline-block; margin-right: 10px;}

.copy {padding: 10px 0;
   background-color: var(--text-dark);
   border-top: solid 1px #fff;
}

.copy * {color: var(--middle-gray); font-size: 14px;}
.copy p {text-align: center; margin-bottom: 0;}

/* --- form --- */

.qf3form.default.qfmodalform {overflow: visible !important; background: #f3f2f2 !important; border-radius: 0 0 20px 20px;  left: 25%; right: 25%;}
.qf3form.default.qfmodalform .qfclose {color: var(--text-dark); font-size: 50px; font-family: 'montserratthin'; right: 12px;}
.qf3form.default.qfmodalform h3 {color: var(--text-dark); font-size: 25px; font-family: 'montserratsemibold'; text-transform: uppercase; padding-top: 50px; padding-bottom: 50px; width: 500px; margin-left: auto; margin-right: auto;}
.qf3form.default.qfmodalform .qf3label {display: block; width: 500px; margin-left: auto; margin-right: auto; padding-bottom: 5px; padding-left: 12px; font-size: 14px; text-align: left; }
.qf3form.default.qfmodalform .qf3txt input, 
.qf3form.default.qfmodalform select, 
.qf3form.default.qfmodalform textarea {
display: block; width: 500px;
margin-left: auto; margin-right: auto;
background-color: var(--light);
border: solid 1px var(--middle-gray);
padding: 10px;
font-size: 14px;
}
.qf3form.default.qfmodalform .qf3txt input {border-radius: 50px;}
.qf3form.default.qfmodalform select {border-radius: 20px 0 0 20px;}
.qf3form.default.qfmodalform textarea {border-radius: 20px 20px 0 20px;}
.qf3form.default.qfmodalform .qf3btn input {
display: block;
width: 300px;
margin-left: auto; margin-right: auto;
border: none;
border-radius: 50px;
padding: 20px;
background-color: var(--text-dark); 
color: var(--light);
font-size: 14px;
}
.qf3form.default.qfmodalform .qf3btn input:hover {
background-color: var(--dark-blue); 
}

/* --- main --- */

.breadcrumbs {
    padding: 35px 0;
}
.breadcrumbs ol {
    padding-left: 0 !important;
}
.breadcrumbs * {
    font-size: 12px;
}
.breadcrumbs li > span {
    color: var(--dark-gray); 
}
.breadcrumbs .breadcrumb-item + .breadcrumb-item::before {   
    content: var(--bs-breadcrumb-divider, "|");
}

.content-category {}
h1 {
    color: var(--dark-blue);
    font-size: 40px; 
    font-family: 'montserratmedium'; 
    text-transform: uppercase; 
    line-height: 1.2em;
    position: relative; 
    margin-bottom: 30px;    
}
h1:before {
    content: '';
    width: 8px; 
    height: 8px;
    position: absolute;
    left: -20px;
    top: 20px; 
    border-radius: 50%;
    background-color: var(--primary-orange);
}
h1:after {    
    content: '';
    position: absolute;
    right: calc(100% + 35px);
    top: 23px; 
    width: 100%;
    height: 1px;              
    background-color: var(--primary-gray);                
}
h2 {
   font-size: 30px;
   font-family: 'montserratmedium';
   color: var(--primary-gray);
   padding: 20px 0;
}
h3 {
   font-size: 20px;
   font-family: 'montserratmedium';
}
h4 {
   font-size: 16px;
   font-family: 'montserratsemibold';
}
.fields-container {margin-bottom: 50px;}

.main {
    background: linear-gradient(to bottom, #f3f2f2 0%, #f3f2f2 660px, #ffffff 660px, #ffffff 100%);
}
.main .container, .item-page, .category-list, .breadcrumbs  {
    position: relative;
    z-index: 3;    
}
.main > .container {
    min-height: 660px;
    padding-bottom: 90px;
}
#home .main > .container {
    min-height: 0;
    padding-bottom: 0;
}
.main > .container:before  {    
    content: '';
    display: block;
    width: 828px;
    height: 656px;
    position: absolute;    
    right: -200px;
    background: url(../images/bg-inner.webp) no-repeat;
    
}
#home .main > .container:before  { 
    background: none;
}
#perepodgotovka .main > .container:before  {    
   background: url(../images/h-perepodgotovka.webp) no-repeat;
   left: -200px;
}
#povyshenie-kvalifikatsii .main > .container:before  {    
   background: url(../images/h-qualificatiya.webp) no-repeat;
   left: -200px;
}
#obuchayushchie-kursy .main > .container:before  {    
   background: url(../images/h-kursy.webp) no-repeat;
   left: -200px;
}
#seminary .main > .container:before  {    
   background: url(../images/h-seminary.webp) no-repeat;
   left: -200px;
}
#blizhajshee-obuchenie .main > .container:before  {    
   background: url(../images/h-starty.webp) no-repeat;   
}
#kontakty .main > .container:before  {    
   background: url(../images/h-kontakty.webp) no-repeat;   
}
#seminary .com-content-article .page-header,
#seminary .com-content-article__body > *:first-child,
#seminary .com-content-article__body > *:nth-child(2),
#seminary .com-content-article__body > *:nth-child(3),
#seminary .com-content-article__body > *:nth-child(4),
#blizhajshee-obuchenie .com-content-article__body > *:first-child,
#blizhajshee-obuchenie .com-content-article__body > *:nth-child(2){
   width: 790px;   
}
.content-category .page-header,
.content-category > *:first-child,
.content-category > *:nth-child(2) {
   width: 790px;
   margin-right: 0;
   margin-left: auto;
}
.main .com-content-category__table {
   margin-top: 50px;
   background: var(--bg-light);
}
.main .table > :not(:first-child) {
   border-top: none;
}
.main .table > :not(caption) > * > * {
   box-shadow: none;
}
.main .table-bordered > :not(caption) > * {
   border-color: var(--light-blue);
}
#kontakty .com-content-article td  {    
   padding: 10px;  
   border: solid 1px var(--light-blue);
}
.scrollToTop .scrollToTop-icon {
    background: none;
}
.scrollToTop {
    right: 10% !important;
}

/* --- galereya --- */

#galereya .main > .container:before  {    
   background: url(../images/h-galereya.webp) no-repeat;
   right: -200px;
}
.gallerylab-list {
   position: relative;
   z-index: 3;  
}

/* --- spros --- */
.pricevote {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.pricevote-q {
  background: rgba(63, 132, 139, .2);
  margin-bottom: 0;
}



