body {
    margin: 0;
    padding: 0;
    background-color: #fff;
    font-family: Roboto, sans-serif;
    font-size: 11pt;
    color: #636363;
}

A:link,
A:visited {
    font-family: Roboto, sans-serif;
    font-size: 11pt;
    outline: none;
    text-decoration: underline;
    color: #ff5740;
}

A:hover {
    text-decoration: none;
}

p {
    margin: 0;
    padding: 10px 0 0;
}

.large {
    margin: 20px 0;
    font-weight: 300;
    font-size: 20px;
}

img {
    max-width: 100%;
}

ul {
    margin: 20px 0 10px;
    padding: 0 0 0 20px;
    line-height: 25px;
}

ul li {
    padding-bottom: 5px;
}

form {
    margin: 0;
    padding: 0;
}

hr {
    border-bottom: 1px solid #dedede;
    border-left: 0;
    border-right: 0;
    border-top: 0;
}

.wp {
    width: auto;
    max-width: 1256px;
    _width: 1256px;
    padding: 0 12px;
}

.wp-inner {
    width: auto;
    max-width: 1256px;
    _width: 1256px;
    padding: 0 12px;
    text-align: center;
}

.ma {
    margin: 0 auto;
}

.header {
    width: 100%;
    height: auto;
    min-height: 49px;
    background-color: rgba(255, 255, 255, 0.8);
    border-bottom: 1px solid #d9d9d9;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 2;
}

.header-phone {
    float: right;
    height: 26px;
    margin: 7px 50px 0 50px;
    background: url(../images/phone-icon.png) 21px center no-repeat #eee;
    border: 1px solid #cdcdcd;
    text-align: center;
    padding: 8px 20px 0 57px;
    border-radius: 5px;
    color: #484848;
    font-size: 10pt;
}

.top-menu {
    float: right;
}

.tm-main {
    float: left;
    position: relative;
    z-index: 1;
}

.tm-link:link,
.tm-link:visited {
    display: block;
    height: 28px;
    padding: 14px 5px 0;
    text-decoration: none;
    font-size: 19px;
}

.tm-item A.tm-link:link,
.tm-item A.tm-link:visited {
    color: #484848;
}

.tm-item A.tm-link:hover,
.tm-itemS A.tm-link:link,
.tm-itemS A.tm-link:visited {
    color: #e7412a;
}

.tm-sep {
    float: left;
    width: 1px;
    height: 49px;
    background-color: #d9d9d9;
    margin: 0 20px;
}

.drop-menu {
    display: none;
    position: absolute;
    top: 31px;
    left: -21px;
    background: url(../images/blank.gif);
    padding-top: 19px;
}

.drop-menu-inner {
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.9);
    border-left: 1px solid #d4d4d4;
    border-right: 1px solid #d4d4d4;
    border-bottom: 1px solid #d4d4d4;
}

.drop-menu A:link,
.drop-menu A:visited {
    display: block;
    width: 150px;
    padding: 5px 10px;
    color: #555;
    font-size: 10pt;
    text-decoration: none;
}

.drop-menu A:hover {
    color: #3c55dd;
}

.pull-wp {
    display: none;
    float: right;
    padding: 3px 10px 0 10px;
    margin-top: 4px;
    margin-right: -8px;
}

A#pull:link,
A#pull:visited {
    display: block;
    width: 20px;
    height: 20px;
    background: url(../images/pull.png) center center no-repeat #00a8ff;
    padding: 8px;
}

.pull-menu {
    display: none;
    width: 100%;
    position: absolute;
    right: 0;
    top: 42px;
    z-index: 10;
}

.pull-menu A:link,
.pull-menu A:visited {
    display: block;
    text-align: right;
    padding: 10px 15px 10px 5px;
    background: rgba(48, 48, 48, 0.9);
    border-bottom: 1px solid #c3c3c3;
    text-decoration: none;
    color: #fff;
    font-size: 10pt;
}

.pull-menu A:hover {
    background: rgba(0, 0, 0, 0.7);
}

.wrapper {
    width: 100%;
    position: relative;
    z-index: 1;
}

.subheader {
    width: 100%;
    z-index: 10;
}

.sh-home {
    position: absolute;
    left: 0;
    top: 11px;
}

.sh-common {
    position: relative;
    z-index: 1;
    padding-top: 11px;
    height: 395px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #eee;
}

.logo {
    position: fixed;
    width: 200px;
    left: 30px;
    top: 70px;
    overflow: hidden;
}

.logo img {
    width: 100%;
    display: block;
}

.logo a {
    width: 100%;
    background-image: url(/images/logo.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    transition: background-position 0s;
}

.logo.minified {
    width: 135px;
    top: -1px;
    left: 10px;
}

.logo.minified a {
    background-position: 0 -49px;
    transition: background-position 0.5s;
}

.contact {
    float: right;
    padding: 39px 50px 0 35px;
}

.contact A:link,
.contact A:visited {
    display: block;
    width: 165px;
    height: 32px;
    background-color: rgba(255, 69, 44, 0.8);
    text-align: center;
    padding-top: 14px;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
}

.contact A:hover {
    background-color: rgba(255, 69, 44, 0.6);
}

.socials-header {
    float: right;
    padding-top: 52px;
    margin-right: 25px;
}

.socials-footer {
    float: left;
    padding-left: 100px;
}

.socials A:link,
.socials A:visited {
    display: block;
    float: left;
    width: 25px;
    height: 25px;
    margin-right: 6px;
    position: relative;
    z-index: 1;
    text-decoration: none;
}

.socials A.twitter:link,
.socials A.twitter:visited {
    background: url(../images/socials/twitter.png) no-repeat;
}

.socials A.twitter:hover {
    background: url(../images/socials/twitter-a.png) no-repeat;
}

.socials A.youtube:link,
.socials A.youtube:visited {
    background: url(../images/socials/youtube.png) no-repeat;
}

.socials A.youtube:hover {
    background: url(../images/socials/youtube-a.png) no-repeat;
}

.socials A.facebook:link,
.socials A.facebook:visited {
    background: url(../images/socials/facebook.png) no-repeat;
}

.socials A.facebook:hover {
    background: url(../images/socials/facebook-a.png) no-repeat;
}

.socials A.google:link,
.socials A.google:visited {
    background: url(../images/socials/google.png) no-repeat;
}

.socials A.google:hover {
    background: url(../images/socials/google-a.png) no-repeat;
}

.socials A.linkedin:link,
.socials A.linkedin:visited {
    background: url(../images/socials/linkedin.png) no-repeat;
}

.socials A.linkedin:hover {
    background: url(../images/socials/linkedin-a.png) no-repeat;
}

.socials-footer A.twitter:link,
.socials A.twitter:visited {
    background: url(../images/socials/old/twitter.png) no-repeat;
}

.socials-footer A.youtube:link,
.socials A.youtube:visited {
    background: url(../images/socials/old/youtube.png) no-repeat;
}

.socials-footer A.facebook:link,
.socials A.facebook:visited {
    background: url(../images/socials/old/facebook.png) no-repeat;
}

.socials-footer A.google:link,
.socials A.google:visited {
    background: url(../images/socials/old/google.png) no-repeat;
}

.socials-footer A.linkedin:link,
.socials A.linkedin:visited {
    background: url(../images/socials/old/linkedin.png) no-repeat;
}
.socials-footer A.instagram:link,
.socials A.instagram:visited {
    background: url(../images/socials/old/instagram.png) no-repeat;
}

.bannerBtnBg-active {
    width: 177px;
    height: 47px;
    background-image: url(/images/button-bg-on.png);
    background-repeat: no-repeat;
}

.bannerBtnBg {
    width: 177px;
    height: 44px;
    background-image: url(/images/button-bg-off.png);
    background-repeat: no-repeat;
}

.bannerBtnBg a,
.bannerBtnBg-active a {
    display: block;
    color: #fff;
    padding: 12px;
    text-decoration: none;
    font-size: 18px;
    text-align: center;
}

.awards-btns {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.about {
    display: inline-block;
    vertical-align: bottom;
}

.mentor {
    display: inline-block;
    vertical-align: bottom;
}

.tabs {
    width: 100%;
    text-align: center;
}

.tabs-home {
    position: absolute;
    left: 0;
    top: 574px;
    z-index: 2;
}

.tabs-programs {
    line-height: 35%;
}

.tabs-common {
    margin-top: -76px;
    z-index: 1;
}

.tabs div {
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: top;
    margin: 0 3px;
    background-color: rgba(255, 255, 255, 0.2);
    padding: 1px;
}

.tabs A:link,
.tabs A:visited {
    display: block;
    width: 200px;
    height: 60px;
    overflow: hidden;
    padding: 15px 0 0 35px;
    background-color: rgba(0, 1, 28, 0.6);
    text-align: left;
    font-size: 13pt;
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
}

.tabs A.active:link,
.tabs A.active:visited,
.tabs A:hover {
    background-color: rgba(198, 67, 75, 0.8);
}

.welcome {
    padding-top: 45px;
    text-align: center;
    font-size: 20pt;
    text-transform: uppercase;
    color: #1d1d1d;
}

.welcome A:link,
.welcome A:visited {
    text-transform: none;
    font-style: italic;
    font-size: 10pt;
}

.inner-sep {
    width: 100%;
    height: 9px;
    background: url(../images/inner-sep.png) center top no-repeat;
    margin: 25px 0;
}

.home-banners {
    width: 100%;
    padding: 30px 0 20px;
}

.hb-col {
    float: left;
    width: 25%;
}

.hb-item {
    display: block;
    width: 100%;
}

.hb-item * {
    display: block;
}

a.hb-1,
.hb-1 {
    display: block;
    text-decoration: none;
    background-color: #e73f2f;
    color: #fff;
}

a.hb-2,
.hb-2 {
    display: block;
    text-decoration: none;
    background-color: #7a7a7a;
    color: #fff;
}

a.hb-0,
.hb-0 {
    display: block;
    text-decoration: none;
    background-color: #dbdbdb;
    color: #6b7276;
}

.hb-item img {
    width: 100%;
}

a.hb-item:hover .hb-link {
    text-decoration: underline;
}

.hb-inner {
    padding: 20px 30px;
}

.hb-ttl {
    font-size: 18pt;
    margin: 0;
    padding: 0;
    font-weight: normal;
}

.hb-dates {
    margin-top: 10px;
    padding: 10px 0 5px;
    font-size: 10pt;
    font-style: italic;
}

.hb-1 div.hb-dates,
.hb-2 div.hb-dates {
    border-top: 1px solid #f3e2e1;
    color: #f3e2e1;
}

.hb-0 div.hb-dates {
    border-top: 1px solid #969a9d;
    color: #969a9d;
}

.hb-item p {
    font-size: 10pt;
    line-height: 150%;
}

.hb-link {
    margin-top: 20px;
    height: 26px;
    padding: 10px 50px 0 0;
    background: url(../images/banner-more.png) right center no-repeat;
    text-align: right;
}

.hb-link A:link,
.hb-link A:visited {
    font-size: 10pt;
    font-style: italic;
}

.hb-1 A:link,
.hb-1 A:visited,
.hb-2 A:link,
.hb-2 A:visited {
    color: #f3e2e1;
}

.hb-0 A:link,
.hb-0 A:visited {
    color: #e73f2f;
}

.footer {
    background-color: #f8f8f8;
    padding: 0 20px;
    font-size: 8pt;
    color: #838588;
}

.footer A:link,
.footer A:visited {
    color: #838588;
    font-size: 8pt;
}

.footer-T {
    width: 100%;
    padding: 20px 0;
    border-top: 1px solid #ddd;
    font-family: Verdana;
    font-size: 8pt;
}

.footer-B {
    width: 100%;
    border-top: 1px solid #ddd;
    padding: 15px 0;
    font-family: Verdana;
    font-size: 8pt;
}

.ft-block,
.ft-inner {
    float: left;
}

.ft-lbl {
    display: block;
    padding: 15px 0 20px;
    text-transform: uppercase;
    color: #1c1c1c;
    font-weight: bold;
}

.ft-block div,
.ft-contacts div {
    padding-bottom: 5px;
}

.ft-sitemap {
    padding-right: 50px;
}

.ft-sitemap div.ft-inner {
    width: 180px;
}

.ft-contacts {
    float: left;
}

.ft-inner div {
    clear: left;
    float: left;
}

.ft-block A:link,
.ft-block A:visited {
    display: block;
    padding: 3px 5px;
    text-decoration: none;
    font-family: Verdana;
    font-size: 8pt;
}

.ft-block A:hover {
    background-color: #e73f2f;
    color: #fff;
}

.ft-contacts div.ft-inner {
    float: left;
}

.ft-address {
    padding-right: 50px;
}

.copyright {
    float: left;
}

.designed {
    float: right;
}

.designed A:link,
.designed A:visited {
    font-family: Verdana;
    font-size: 8pt;
}

.footer-m {
    display: none;
    width: 100%;
    background-color: #f8f8f8;
    border-top: 1px solid #ddd;
    padding: 10px 0 5px;
    color: #838588;
    text-transform: uppercase;
    font-family: Verdana;
    font-size: 7pt;
}

.footer-m-inner {
    padding-top: 7px;
}

.footer-item {
    padding: 0 0 5px 10px;
}

.footer-item A:link,
.footer-item A:visited {
    color: #838588;
    text-transform: uppercase;
    font-family: Verdana;
    font-size: 7pt;
}

.clear {
    display: block;
    clear: both;
}

.block-ttl {
    width: 100%;
    text-align: center;
    line-height: 85%;
    position: absolute;
    left: 0;
    bottom: 0;
    font-size: 45pt;
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    font-weight: normal;
}

.content {
    width: auto;
    max-width: 95%;
    height: auto;
    min-height: 500px;
}

.cb-block {
    width: 100%;
}

.cb-col {
    float: left;
    width: 50%;
}

.cb-item {
    padding: 25px 50px;
}

.cb-ttl {
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 20pt;
}

.hb-1 div.cb-ttl,
.hb-2 div.cb-ttl {
    border-bottom: 1px solid #c5c5c5;
}

.hb-0 div.cb-ttl {
    border-bottom: 1px solid #818181;
}

.cb-img {
    padding-top: 15px;
}

.enl-img A:link,
.enl-img A:visited {
    display: block;
    position: relative;
    z-index: 1;
}

.enl-img img.g-img {
    width: 100%;
}

.cb-img img {
    width: auto;
    max-width: 100%;
    _width: 100%;
}

.cb-img iframe {
    width: 100%;
}

.auditions {
    padding: 0 100px;
}

.container {
    width: 96%;
    padding: 20px 2% 50px;
}

.auditions-L {
    float: left;
    width: 60%;
}

.auditions-R {
    float: left;
    width: 40%;
}

.inner-p {
    padding: 0 30px;
}

.inner-ttl {
    padding: 30px 0 10px;
    color: #1d1d1d;
}

.inner-ttl-1 {
    font-size: 23pt;
}

.inner-ttl-2 {
    font-size: 18pt;
}

.menu-hidden {
    position: relative;
    z-index: 1;
    display: none;
}

#menu:link,
#menu:visited {
    display: block;
    float: left;
    padding: 8px 20px 0 45px;
    background: url(../images/pull.png) 10px 11px no-repeat #ff5740;
    color: #fff;
    font-size: 14pt;
    height: auto;
    min-height: 35px;
    _height: 35px;
    margin-left: 2%;
    text-decoration: none;
}

.inner-menu {
    display: none;
    width: 98%;
    position: absolute;
    left: 2%;
    top: 44px;
    z-index: 10;
}

.inner-menu A:link,
.inner-menu A:visited {
    display: block;
    padding: 10px 5px 10px 15px;
    background-color: #303030;
    border-bottom: 1px solid #c3c3c3;
    text-decoration: none;
    color: #fff;
    font-size: 10pt;
}

.inner-menu A:hover {
    background-color: #000;
}

.inner-menu A.s-pm:link,
.inner-menu A.s-pm:visited {
    background: url(../images/sm-arr.png) 15px center no-repeat #303030;
    padding-left: 30px;
}

.inner-menu A.s-pm:hover,
.inner-menu A.s-pmS:link,
.inner-menu A.s-pmS:visited {
    background: url(../images/sm-arr-a.png) 15px center no-repeat #000;
    padding-left: 30px;
    color: #5251dd;
}

.cnt-L {
    float: left;
    width: 25%;
}

.cnt-R {
    float: left;
    width: 75%;
    padding-top: 9px;
}

.left-menu {
    padding: 30px 50px 0 20px;
}

.lm-main {
    padding-top: 30px;
}

.lm-item A.lm-link:link,
.lm-item A.lm-link:visited {
    text-decoration: none;
    color: #1e1e1e;
}

.lm-item A.lm-link:hover {
    text-decoration: underline;
}

.lm-itemS A.lm-link:link,
.lm-itemS A.lm-link:visited {
    text-decoration: underline;
    color: #5251dd;
}

.sub-menu {
    padding: 20px 0 0 20px;
}

.sub-menu div {
    padding: 3px 0 3px 20px;
}

.sub-menu div.sm-item {
    background: url(../images/sm-arr.png) left 7px no-repeat;
}

.sub-menu div.sm-itemS {
    background: url(../images/sm-arr-a.png) left 7px no-repeat;
}

.sm-item A:link,
.sm-item A:visited {
    text-decoration: none;
    color: #1e1e1e;
}

.sm-item A:hover {
    text-decoration: underline;
}

.sm-itemS A:link,
.sm-itemS A:visited {
    text-decoration: underline;
    color: #5251dd;
}

.gallery-wp {
    width: 100%;
    padding-top: 30px;
}

.gallery {
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: top;
    padding: 25px 15px 0 0;
    text-align: center;
}

.gallery A:link,
.gallery A:visited {
    display: block;
    position: relative;
    z-index: 1;
    text-decoration: none;
}

.gallery img.g-img {
    display: block;
}

.zoom-icon {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(30, 30, 30, 0.34) url('/images/zoom-icon.png') 50% 50% no-repeat;
    opacity: 0;
    transition: opacity 0.5s;
}

.gallery:hover .zoom-icon {
    opacity: 1;
}

.g-caption {
    text-align: center;
    padding-top: 10px;
}

.news {
    width: 100%;
    padding-top: 30px;
}

.news-ttl {
    line-height: 100%;
    color: #1d1d1d;
    font-size: 25pt;
}

.news-date {
    margin-top: 15px;
    padding: 15px 0 20px;
    border-top: 1px solid #cacaca;
    font-size: 9pt;
    font-style: italic;
    color: #e63f28;
}

.news-media {
    float: left;
    width: 42%;
    padding: 15px 3% 0 0;
}

.news-media img,
.news-media iframe {
    width: 100%;
}

.news-txt {
    float: left;
    width: 55%;
}

.programs-thumbs {
    width: 100%;
    padding-top: 30px;
}

.programs-thumbs div {
    display: inline-block;
    zoom: 1;
    *display: inline;
    vertical-align: top;
    padding: 20px 15px 10px;
}

.programs-thumbs A:link,
.programs-thumbs A:visited {
    display: block;
    width: auto;
    max-width: 330px;
    _width: 330px;
    color: #636363;
    text-decoration: none;
}

.programs-thumbs A:hover {
    color: #ff5740;
}

.programs-thumbs span {
    display: block;
    cursor: pointer;
    text-align: left;
}

.programs-thumbs span.pth-ttl {
    padding: 10px 0 15px;
    font-size: 16pt;
    color: #1d1d1d;
}

.programs-thumbs span.pth-txt {
    line-height: 150%;
    font-size: 10pt;
}

.header-txt {
    padding: 30px 200px 0 15px;
}

.programs {
    width: 100%;
    padding-top: 30px;
}

.programs-L {
    float: left;
    width: 57%;
    padding-right: 3%;
}

.programs-R {
    float: left;
    width: 40%;
}

.programs-media {
    float: left;
    width: 57%;
    padding: 15px 3% 0 0;
}

.programs-media iframe {
    width: 100%;
}

.programs-txt {
    float: left;
    width: 40%;
}

.about-descr-block {
    margin-bottom: 20px;
    padding: 50px 12% 40px;
    background: #f3f3f3;
}

.about-descr-block:after {
    content: '';
    display: block;
    clear: both;
}

.about-descr-block h2 {
    margin: 0;
    font-weight: 300;
    font-size: 48px;
    color: #1d1d1d;
    text-transform: uppercase;
}

.about-descr-block h2 span {
    color: #ff5740;
}

.about-descr-block h3 {
    margin: 0 0 20px;
    font-weight: 300;
    font-size: 36px;
    color: #1d1d1d;
    text-transform: uppercase;
}

.about-sep {
    display: inline-block;
    width: 100%;
    height: 9px;
    background: url(../images/inner-sep.png) 0 0 no-repeat;
    margin: 25px 0;
}

.adb-halve {
    float: left;
    width: 50%;
}

.adb-halve .wrapper {
    max-width: 95%;
}

.about-descr-block p {
    margin: 0 0 1em;
    padding: 0;
}

.adb-descr {
    float: left;
    max-width: 800px;
    color: #080808;
    padding: 0;
    margin-bottom: 1em;
}

.mentor-thumb {
    float: left;
    width: 47.5%;
}

.mentor-thumb:nth-child(odd) {
    margin-right: 5%;
}

.mt-l {
    float: left;
    width: 240px;
    margin-right: 30px;
}

.mt-r {
    float: left;
    width: calc(100% - 270px);
}

.mentor-thumb h4 {
    font-weight: 300;
    font-size: 30px;
    text-transform: uppercase;
    color: #1d1d1d;
    margin: 0;
}

.mentor-thumb h4 span {
    color: #ff5740;
}

.mentor-thumb p {
    margin-bottom: 1em;
}

.mt-r a {
    display: inline-block;
    height: 52px;
    line-height: 52px;
    padding: 0 37px;
    font-size: 17px;
    color: #fff;
    text-decoration: underline;
    background: #de5961;
    border-radius: 5px;
    transition: background 0.5s;
}

.mt-r a:hover {
    background: #a14147;
    text-decoration: none;
}

.student-work-block {
    margin-bottom: 20px;
    padding: 20px 12% 40px;
}

.student-work-block h3 {
    margin: 0 0 20px;
    font-weight: 300;
    font-size: 36px;
    color: #1d1d1d;
    text-transform: uppercase;
}

.swb-wrapper {
    margin: 20px 0;
    font-size: 0;
    text-align: center;
}

.swb-wrapper:after {
    content: '';
    display: block;
    clear: both;
}

.swb-item {
    max-width: 260px;
    margin: 0 33px 20px 0;
    display: inline-block;
    vertical-align: top;
    text-align: left;
}

.swb-item:last-child {
    margin-right: 0;
}

.swb-pic {
    background-size: cover;
    background-position: 50% 50%;
    margin-bottom: 10px;
}

.swb-pic img {
    max-width: 100%;
}

.swb-item h5 {
    margin: 0;
    max-width: 230px;
    font-weight: 300;
    font-size: 24px;
    color: #1d1d1d;
}

.swb-item h5 span {
    color: #ff5740;
}

.swb-author {
    max-width: 230px;
    margin-bottom: 10px;
    font-weight: 300;
    font-size: 20px;
    color: #6b6b6b;
}

.swb-item p {
    margin: 0;
    padding: 0;
    max-width: 230px;
    font-weight: #525252;
    font-size: 14px;
}

a.view-all {
    float: right;
    height: 57px;
    line-height: 57px;
    padding: 0 24px;
    font-size: 19px;
    color: #fff;
    text-decoration: none;
    background: #69698e;
    border-radius: 5px;
    transition: background 0.5s;
}

a.view-all:hover {
    background: #37374b;
}

.achievements-block {
    padding: 40px 10px;
    text-align: center;
    border-top: 23px solid #f3f3f3;
}

.achievements-block h2 {
    margin: 0 0 20px;
    padding: 0;
    font-weight: 300;
    font-size: 36px;
    color: #333333;
    text-transform: uppercase;
}

.ab-descr {
    max-width: 970px;
    margin: 0 auto 30px;
    padding: 0;
    font-weight: 300;
    font-size: 18px;
    color: #a0a0a0;
}

.ab-item {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin: 0 3% 20px;
}

.ab-item h3 {
    margin: 0 0 10px;
    font-weight: 300;
    font-size: 24px;
    color: #757575;
}

.ab-item p {
    padding: 0;
    margin: 0 0 1em;
    font-weight: 300;
    font-size: 15px;
}

.mentors-wrapper {
    max-width: 80%;
    margin: 60px auto;
}

.mentors-block {
    padding: 0 12% 40px;
}

.mb-banner {
    margin-bottom: 50px;
}

.mb-banner img {
    display: block;
    width: 100%;
}

.mb-l {
    float: left;
    width: 47%;
    margin-right: 3%;
    margin-bottom: 30px;
}

.mb-r {
    float: left;
    width: 50%;
    margin-bottom: 30px;
}

.bg-block {
    margin-bottom: 40px;
    padding: 140px 10px;
    background-image: url('/images/banner-1.jpg');
    background-size: cover;
}

.bg-block.bg-alt {
    background-image: url('/images/mentors/tatiana-1.jpg');
}

.bg-block:after {
    content: '';
    display: block;
    clear: both;
}

.bg-block .wrapper {
    margin-right: 20%;
    max-width: 580px;
    float: right;
    font-weight: 400;
    font-size: 32px;
    color: #fff;
    text-transform: uppercase;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.mb-images {
    margin: 30px 0;
    text-align: center;
}

.mb-images img {
    margin: 0 20px;
}

.gallery-page {
    padding: 20px 10px;
    max-width: 1600px;
    margin: 0 auto;
    text-align: center;
}

.programs-wrapper {
    margin: 30px auto;
    max-width: 1570px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.programs-item {
    margin-bottom: 60px;
    width: 30%;
    position: relative;
}

.pi-pic {
    margin-bottom: 15px;
    background-size: cover;
}

.pi-pic img {
    width: 100%;
    display: block;
}

.programs-item h4 {
    font-weight: 300;
    font-size: 36px;
    margin: 0 0 15px;
    padding: 0;
    color: #1d1d1d;
}

.pi-descr p {
    padding: 0;
    margin: 0 0 1em;
    font-weight: 300;
    font-size: 18px;
    color: #525252;
}

.programs-item a {
    display: inline-block;
    vertical-align: top;
    height: 52px;
    line-height: 52px;
    padding: 0 45px;
    font-size: 19px;
    color: #fff;
    background: #df5a62;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.5s;
}

.programs-item a:hover {
    background: #a34148;
}

.fancybox-slide > div {
    background: transparent !important;
}

/* === New About Page Modern Styles === */
/* .about-page { font-size: 17px; line-height: 1.55; color: #444; }
.about-page a { color: #ff5740; }
.about-page h1, .about-page h2, .about-page h3 { font-weight: 300; line-height: 1.15; margin: 0 0 .6em; color: #1d1d1d; }
.about-page h1 { font-size: 48px; margin-top: 10px; }
.about-page h2 { font-size: 36px; margin-top: 40px; }
.about-page h3 { font-size: 28px; margin-top: 32px; }
.about-page h1 span, .about-page h2 span { color: #ff5740; }
.about-page p { margin: 0 0 1.1em; padding: 0; }
.about-page section { max-width: 1180px; margin: 0 auto; padding: 10px 2% 5px; }
.about-page .ap-intro { padding-top: 30px; }
.about-page .ap-block + .ap-block { border-top: 1px solid #ececec; padding-top: 30px; }
.about-page .about-slider-wrapper { margin: 50px auto 30px; }
.about-page .ap-mentors { max-width: 1300px; }
.about-page .ap-mentors h3 { margin-top: 50px; }
.about-page .mentor-thumb { margin-top: 25px; }
.about-page .ap-gallery { padding-bottom: 60px; }
.about-page .view-all { margin: 15px 0 30px; float: none; }
.about-page .swb-wrapper { margin-top: 15px; }

@media (max-width: 900px) {
  .about-page h1 { font-size: 40px; }
  .about-page h2 { font-size: 32px; }
  .about-page h3 { font-size: 24px; }
}
@media (max-width: 600px) {
  .about-page h1 { font-size: 34px; }
  .about-page h2 { font-size: 28px; }
  .about-page h3 { font-size: 22px; }
  .about-page section { padding-left: 15px; padding-right: 15px; }
} */

@media print {
    .header,
    .subheader,
    .contact,
    .socials,
    .slider-home,
    .tabs,
    .unesco-logo,
    .inner-sep,
    iframe,
    .quote,
    .g-enlarge,
    .cnt-L,
    .reg-form,
    .contact-form-inner {
        display: none;
    }
    .cb-col,
    .auditions-L,
    .auditions-R,
    .cnt-R,
    .programs-L,
    .programs-R,
    .contact-data-wp {
        width: 100%;
    }
    .programs-thumbs A:link,
    .programs-thumbs A:visited {
        width: auto;
        max-width: 100%;
        _width: 100%;
    }
}

@media (max-width: 1620px) {
    .tm-link:link,
    .tm-link:visited {
        font-size: 19px;
    }

    .tm-link:link,
    .tm-link:visited {
        padding: 15px 5px 0;
    }
}

@media (max-width: 1565px) {
    .tm-link:link,
    .tm-link:visited {
        padding: 15px 0px 0;
    }
}

@media (max-width: 1475px) {
    .tm-link:link,
    .tm-link:visited {
        padding: 15px 1px 0;
    }

    .tm-sep {
        margin: 0 8px;
    }
}

@media (max-width: 1470px) {
    .tabs A:link,
    .tabs A:visited {
        width: auto;
        padding-right: 15px;
    }
}

@media (max-width: 1400px) {
    .about-descr-block {
        padding: 50px 2% 40px;
    }

    .student-work-block {
        padding: 20px 2% 40px;
    }

    .mentors-block {
        padding: 0 2% 40px;
    }
}

@media (max-width: 1330px) {
    .tm-link:link,
    .tm-link:visited {
        font-size: 17px;
    }
}

@media (max-width: 1275px) {
    .header-phone {
        margin: 7px 10px 0 10px;
    }
}

@media screen and (max-width: 1260px) {
    .header-txt {
        padding-right: 15px;
    }
}

@media (max-width: 1190px) {
    .footer,
    .top-menu {
        display: none;
    }
    .footer-m,
    .pull-wp {
        display: block;
    }
}

@media (max-width: 1150px) {
    .mentor-thumb,
    .mentor-thumb:nth-child(odd) {
        float: left;
        width: 100%;
    }
}

@media screen and (max-width: 1060px) {
    .programs-item h4 {
        font-size: 28px;
    }

    a.view-all {
        float: none;
        display: block;
        clear: left;
        text-align: center;
    }
}

@media screen and (max-width: 990px) {
    .since {
        display: none;
    }

    .auditions {
        padding: 0;
    }

    .tabs A:link,
    .tabs A:visited {
        width: 155px;
    }

    .programs-item {
        width: 45%;
    }
}

@media screen and (max-width: 870px) {
    .cnt-L {
        display: none;
    }

    .menu-hidden {
        display: block;
    }

    .cnt-R {
        width: 94%;
        padding: 0 2%;
    }
}

@media screen and (max-width: 810px) {
    .hb-col {
        width: 50%;
    }
    .tabs A:link,
    .tabs A:visited {
        width: 120px;
    }

    .bg-block .wrapper {
        float: none;
        margin: 0;
    }
}

@media (max-width: 775px) {
    .about-descr-block {
        padding-top: 20px;
    }

    .about-descr-block h2 {
        font-size: 36px;
    }

    .adb-halve {
        float: none;
        width: auto;
    }
}

@media (max-width: 715px) {
    .mb-images img {
        margin: 0;
    }
}

@media screen and (max-width: 690px) {
    .logo {
        padding-left: 10px;
    }

    .contact {
        padding-right: 10px;
    }

    .news-media,
    .programs-media {
        width: 100%;
        padding-right: 0;
    }

    .news-txt,
    .programs-txt {
        width: 100%;
    }
    .tabs {
        display: flex;
    }
    .tabs div {
        display: flex;
        /* display: block;
		float: left;
		width: 24%; */
        margin: 0 0 0 0.3%;
    }

    .tabs A:link,
    .tabs A:visited {
        width: auto;
        padding: 15px 15px 0;
    }

    .mb-l,
    .mb-r {
        float: none;
        width: auto;
    }
}

@media screen and (max-width: 630px) {
    .socials {
        display: none;
    }
    .contact {
        padding-left: 0;
    }
    .cb-col {
        width: 100%;
    }
    .auditions-L,
    .auditions-R,
    .programs-L,
    .programs-R {
        width: 100%;
    }
    .inner-p {
        padding: 0;
    }

    .programs-item {
        width: 95%;
    }
}

@media (max-width: 600px) {
    .mt-l,
    .mt-r {
        float: none;
        width: auto;
        margin: 0 0 10px;
    }

    .mentor-thumb {
        margin-bottom: 15px;
    }
}

@media screen and (max-width: 510px) {
    .tabs-home {
        top: 594px;
    }
    .tabs-common {
        margin-top: -57px;
    }
    .tabs A:link,
    .tabs A:visited {
        font-size: 9pt;
        padding: 5px 5px 0;
        height: 50px;
    }
}

@media (max-width: 490px) {
    .logo a {
        background-size: 145px;
        background-position: 0 -57px;
        transition: background-position 0.5s;
    }

    .logo,
    .logo.minified {
        width: 145px;
        top: 0;
        left: 1px;
        padding-left: 0;
    }

    .header-phone {
        margin-left: 0;
        margin-right: -5px;
        background-image: none;
        padding: 8px 5px 0;
    }
}

@media screen and (max-width: 450px) {
    .hb-col {
        width: 100%;
    }
    .contact {
        padding-top: 25px;
    }
    .block-ttl {
        font-size: 38pt;
    }
}

@media (max-width: 360px) {
    .ab-item {
        width: 97%;
        margin: 0 1.5% 20px;
    }
}

@media (max-width: 340px) {
    .logo,
    .logo.minified {
        top: 4px;
        width: 125px;
    }
    .logo a,
    .logo.minified a {
        background-size: 125px;
        background-position: 0 -51px;
    }
}

/* === Modern About Page (BEM) Additions === */
.ap {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
}
.ap__title {
    font-weight: 300;
    line-height: 1.15;
    margin: 0 0 0.65em;
    color: #111;
}
.ap__title--h1 {
    font-size: 54px;
    margin-top: 20px;
}
.ap__title--h2 {
    font-size: 42px;
    /* margin-top: 50px; */
}
.ap__title--h3 {
    font-size: 28px;
    margin-top: 40px;
}
.ap__title span {
    color: #ff5740;
}
.ap__section {
    max-width: 1180px;
    margin: 0 auto;
    padding: 20px 3% 10px;
    position: relative;
}
.ap__section--intro {
    padding-top: 40px;
}
.ap__section--gallery {
    max-width: 1500px;
}
.ap__section--philosophy,
.ap__section--approach,
.ap__section--why {
    background: #fafafa;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
    margin-top: 60px;
    /* padding: 55px 4% 50px; */
    padding: 30px 4% 50px;
}
.ap__section--gallery {
    margin-top: 60px;
}
.ap p {
    margin: 0 0 1.15em;
    padding: 0;
    font-weight: 300;
}

/* Grid */
.ap__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 60px;
    align-items: flex-start;
}
.ap__grid--2 .ap__col {
    flex: 1 1 0;
    min-width: 280px;
}
.ap__col {
    max-width: 760px;
}

/* Visual container width for slider + works wrappers */
.about-slider-wrapper,
.swb-wrapper {
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}
.about-slider-wrapper {
    padding-left: 2%;
    padding-right: 2%;
}
.swb-wrapper {
    padding-left: 1%;
    padding-right: 1%;
}

/* Typography refinements */
.ap a {
    color: #ff5740;
    text-decoration: underline;
    transition: color 0.3s;
}
.ap a:not(.mentor-card__link, .mentor-card__link):hover {
    color: #c13826;
    text-decoration: none;
}

/* Section separators (optional decorative) */
.ap__section + .ap__section--philosophy:before,
.ap__section + .ap__section--approach:before,
.ap__section + .ap__section--why:before {
    content: '';
    position: absolute;
    left: 50%;
    top: -30px;
    width: 90px;
    height: 4px;
    background: linear-gradient(90deg, #ff5740, #ff9069);
    transform: translateX(-50%);
    border-radius: 2px;
}

/* Responsive two-column behavior */
@media (max-width: 1200px) {
    .ap__title--h1 {
        font-size: 48px;
    }
    .ap__title--h2 {
        font-size: 38px;
    }
}
@media (max-width: 1000px) {
    .ap__title--h1 {
        font-size: 44px;
    }
    .ap__title--h2 {
        font-size: 34px;
    }
    .ap__title--h3 {
        font-size: 26px;
    }
    .ap__grid {
        gap: 35px 40px;
    }
}
@media (max-width: 820px) {
    .ap {
        font-size: 17px;
    }
    .ap__title--h1 {
        font-size: 40px;
    }
    .ap__title--h2 {
        font-size: 32px;
    }
    .ap__title--h3 {
        font-size: 24px;
    }
    .ap__section--philosophy,
    .ap__section--approach,
    .ap__section--why {
        padding: 45px 6% 40px;
    }
    .ap__grid {
        flex-direction: column;
        gap: 25px;
    }
    .ap__grid--reverse-mobile .ap__col:first-child {
        order: 2;
    }
    .ap__grid--reverse-mobile .ap__col:last-child {
        order: 1;
    }
}
@media (max-width: 560px) {
    .ap__title--h1 {
        font-size: 34px;
    }
    .ap__title--h2 {
        font-size: 28px;
    }
    .ap__title--h3 {
        font-size: 22px;
    }
    .ap__section {
        padding-left: 18px;
        padding-right: 18px;
    }
    .ap__section--philosophy,
    .ap__section--approach,
    .ap__section--why {
        border-radius: 10px;
    }
}
@media (max-width: 420px) {
    .ap__title--h1 {
        font-size: 30px;
    }
    .ap__title--h2 {
        font-size: 26px;
    }
    .ap__title--h3 {
        font-size: 21px;
    }
}

/* Light animation (progressive enhancement, no harm if unsupported) */
@media (prefers-reduced-motion: no-preference) {
    .ap__section--philosophy,
    .ap__section--approach,
    .ap__section--why {
        animation: fadeSlide 0.6s ease 0s 1;
    }
    @keyframes fadeSlide {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* === Mentors Section (BEM) === */
.ap__section--mentors {
    max-width: 1450px;
    margin-top: 70px;
}
.ap__lead {
    font-size: 20px;
    font-weight: 300;
    max-width: 1050px;
    margin: 0 0 2.2em;
}
.ap__mentors-list {
    display: flex;
    flex-wrap: wrap;
    gap: 60px 5%;
    align-items: stretch;
}
.mentor-card {
    display: flex;
    flex: 1 1 45%;
    /* min-width: 420px; */
    max-width: calc(100% - 40px);
    background: #fff;
    border-radius: 16px;
    padding: 30px 34px;
    box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.08), 0 2px 6px -1px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
}
.mentor-card:before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 85% 15%, rgba(255, 87, 64, 0.18), transparent 60%);
    pointer-events: none;
}
.mentor-card__media {
    width: 210px;
    flex: 0 0 210px;
    margin-right: 32px;
    align-self: flex-start;
}
.mentor-card__media img {
    display: block;
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.mentor-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.mentor-card__name {
    font-size: 30px;
    font-weight: 300;
    margin: 0 0 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.mentor-card__name span {
    color: #ff5740;
}
.mentor-card__sep {
    width: 70px;
    height: 4px;
    background: linear-gradient(90deg, #ff5740, #ffa38a);
    border-radius: 2px;
    margin: 0 0 18px;
}
.mentor-card__text {
    margin: 0 0 20px;
    padding: 0;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 300;
    color: #444;
}
.ap .mentor-card__link {
    align-self: flex-start;
    display: inline-block;
    padding: 14px 34px 13px;
    background: #ff5740;
    color: #fff;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.5px;
    box-shadow: 0 6px 16px -6px rgba(255, 87, 64, 0.55);
    transition: background 0.35s, transform 0.35s, box-shadow 0.35s;
}
.ap a.view-all{
    color: #fff;
    text-decoration: none;
}
.ap a.view-all:hover{
    color: #fff;
}
.ap .mentor-card__link:hover {
    background: #c43d2b;
    transform: translateY(-2px);
    box-shadow: 0 10px 22px -8px rgba(196, 61, 43, 0.6);
}
.mentor-card--vladimir .mentor-card__link {
    background: #df5a62;
}
.mentor-card--vladimir .mentor-card__link:hover {
    background: #a34148;
}
.mentor-card--tatiana .mentor-card__link {
    background: #69698e;
}
.mentor-card--tatiana .mentor-card__link:hover {
    background: #37374b;
}

/* Mentor responsive */
@media (max-width: 1250px) {
    .mentor-card {
        min-width: 48%;
    }
}
@media (max-width: 1100px) {
    .ap__mentors-list {
        gap: 40px;
    }
    .mentor-card {
        flex: 1 1 100%;
        max-width: calc(100% -40px);
    }
}
@media (max-width: 640px) {
    .mentor-card {
        flex-direction: column;
        padding: 26px 26px 30px;
        max-width: calc(100% - 26px * 2);
        min-width: auto;
    }
    .mentor-card__media {
        width: 100%;
        flex: 0 0 auto;
        margin: 0 0 20px;
    }
    .mentor-card__name {
        font-size: 26px;
    }
    .mentor-card__text {
        font-size: 15px;
    }
    .ap__lead {
        font-size: 18px;
    }
}
@media (max-width: 420px) {
    .mentor-card__link {
        /* width: 100%; */
        text-align: center;
    }
}

/* Force 2-column mentors layout on desktop */
@media (min-width: 981px) {
    .ap__mentors-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 60px 6%;
    }
    .mentor-card {
        width: 100%;
        min-width: 0;
    }
}

/* === About Gallery Head Layout === */
.gallery-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 60px;
    flex-wrap: wrap;
    margin-bottom: 25px;
}
.gallery-head__text {
    flex: 1 1 620px;
    min-width: 300px;
}
.gallery-head__intro,
.gallery-head__descr {
    margin: 0 0 1.15em;
    padding: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #555;
    font-weight: 300;
}
.gallery-head__cta {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    min-width: 240px;
    margin-bottom: 1.15em;
}
.view-all--gallery {
    margin: 0;
    position: relative;
    top: 4px;
}
/* Adjust spacing when button wraps */
@media (max-width: 920px) {
    .gallery-head {
        align-items: stretch;
    }
    .gallery-head__cta {
        width: 100%;
        justify-content: flex-start;
        margin-top: 5px;
    }
    .view-all--gallery {
        top: 0;
    }
}
@media (max-width: 560px) {
    .gallery-head {
        gap: 25px;
    }
}
