
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/


:root {
    --size-content:1280px;
    --top_message_gb:#ffcbcb;
    --top_message_color:#000;
    --bg-body:#f3f3f3;

    --size-header:100%;
    --bg-header:#425870;
    
    --bg-footer:#425870;
    
    --cl-line:#8e8c87;
    --cl-link:#016581;
    --cl-link-hover:#3c899f;
}

@font-face {
	font-family: 'Montserrat-Regular';
	
	src: local('Montserrat-Regular'), local('Montserrat Regular'),
		url('../fonts/Montserrat-Regular.ttf') format('truetype');}
		
@font-face {
	font-family: 'Pelmeshka';
	src: local('Pelmeshka'), local('Pelmeshka'),
		url('../../../../../fonts/Pelmeshka.ttf') format('truetype');}
		
@font-face {
	font-family: 'Marvin';
	src: local('Marvin'), local('Marvin'),
		url('../../../../../fonts/Marvin.otf') format('opentype');}
		
		

@font-face {
	font-family: 'bodoniclassic';
	src: url('../fonts/bodoniclassic.ttf');
	src: local('bodoniclassic'),
		url('../fonts/bodoniclassic.ttf') format('truetype');
	font-style: normal;}
	
@font-face {
    font-family: 'DoulosSilCompact';
    src: local('DoulosSilCompact'), local('DoulosSilCompact'),
    url('../../../../../fonts/DoulosSilCompact.ttf') format('truetype');}

html{
    height: 100%;}

body{
    background:var(--bg-body);
    min-width:365px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    
    min-height: 100%;
	font-family: 'Montserrat-Regular';
	font-weight: normal;
	font-style: normal;
    font-size:13pt}

* {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;}

a {
    color:var(--cl-link);
    text-decoration:none;}
    
a:hover {
    color:var(--cl-link-hover);}

header {
    width:100%;
    max-width:var(--size-header);
    margin:0 auto;
    background:var(--bg-header);
    padding:0 0 10px;
    -webkit-box-flex:0;
        -ms-flex:0 0 auto;
            flex:0 0 auto;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
    padding:0 20px;}
    
@media screen and (max-width:700px){
    header {
        padding:0 20px 10px;}
}

header .header{
    width:100%;
    max-width:var(--size-content);
    padding:5px 0 5px;
    margin:0 auto;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack:flex-end;
        -ms-flex-pack:flex-end;
            justify-content:flex-end;}

header .header2{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;}
    
header a{
    color:#fff;
    -webkit-transition-duration: .2s;
         -o-transition-duration: .2s;
            transition-duration: .2s;}
            
header a:hover{
        color:var(--cl-link);}


/***** ***** ***** ***** ***** ***** Название театра ***** ***** ***** ***** ***** *****/

header .name {
    float:left;
    width:70%;
    color:#fff;
    text-transform:uppercase;
    line-height:1.4;
    font-size:11pt;}

@media screen and (max-width:1000px){
    header .name {
        width:80%;}    
}

@media screen and (max-width:700px){
    header .name {
        padding:0 0 0 60px;
        min-height:60px;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;}
}

@media screen and (max-width:600px){
    header .name {
        width:100%;
        padding:0 0 0 30%;
        -webkit-box-ordinal-group:3;
        -ms-flex-order:2;
        order:2;}
}

@media screen and (max-width:380px){
    header .name {
        font-size:9pt;}
}

header .name p{
    margin: auto;}

/***** ***** ***** ***** ***** ***** Переключение языков ***** ***** ***** ***** ***** *****/
header .lang {
    width:30%;
    text-align:right;
    float:right;
    color:#fff;
    text-transform:uppercase;
    line-height:1.2;
    clear:right;}

@media screen and (max-width:1000px){
    header .lang {
        width:20%;}    
}

@media screen and (max-width:700px){
    header .lang {
        padding:0 0 30px;}   
}

@media screen and (max-width:600px){
    header .lang {
        width:100%;;
        -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
        order:1;}   
}

header .lang li {
    margin:0 !important;
    display:table;}
    
header .lang a{
    padding:0;
    margin:0;
    font-size:11pt;}
    
header .lang a:hover{
    color:var(--cl-link);
    text-shadow:.3px .3px 0px var(--cl-link);}


/***** ***** ***** ***** ***** ***** Логотип ***** ***** ***** ***** ***** *****/    

header .logo {
    padding:5px 10px 0px 120px;
    display:table;
    float:left;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    max-width:510px;
    //border:1px dotted #ccc;
    position:relative;}
    
header .logo p,
header .logo a{
    color:#fff;
    line-height:1.2;
    font-size:14pt;
    text-transform:uppercase;}
    
header .logo img{
    position:absolute;
    float:left;
    width:100px;
    left:0;
    top:-22px;}

    @media screen and (max-width:600px){
        header .logo {
            max-width:calc(100% - 100px);
            padding:5px 10px 0px 100px;}
            
        header .logo img{
            width:80px;
            //top:-16px;
            
        }
        
        header .logo p,
        header .logo p a{
            font-size:11pt;
            line-height:1.3;}
    }
    
    @media screen and (max-width:450px){
        header .logo {
        padding:15px 10px 0px 100px;    
    }
        header .logo img{
            top:0px;}
    }


/***** ***** ***** ***** ***** ***** Телефон и купить билет в шапке ***** ***** ***** ***** ***** *****/  
    
header .kassa {
    width:100%;
    float:right;
    text-align:right;
    padding:21px 0 10px 10px;
    max-width:calc(100% - 510px);
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;}

header .kassa p{
    display:block;
    color:#fff;
    line-height:1.3;
    float:left;
    margin:0;}

header .kassa p:nth-child(1) a{
    color:#fff;
    text-shadow:.2px .2px 0px #fff;}
    
header .kassa p:nth-child(1) a:hover{
    opacity:0.7;}  

header .kassa p:nth-child(2) {
    padding:10px 0 0;}
    
header .kassa p:nth-child(2) a{
    font-size:12pt;
    color:var(--bg-header);
    background:#fff;
    padding:10px 25px;
    border-radius:7px;
    margin-left:40px;
    text-shadow:.3px .3px 0px var(--bg-header);}

header .kassa p:nth-child(2) a:hover{
    background:rgba(255,255,255,.7);}

header .kassa p span{
    color:#eee;
    font-size:10pt;}
    
    @media screen and (max-width:1000px){
        header .kassa {
            max-width:calc(100% - 100px);}
    }

    @media screen and (max-width:600px){
        header .kassa {
            max-width:100%;
            padding:21px 0 10px 0px;
            display:flex;
            justify-content:space-between;}
    
        header .kassa .custom {
            width:100%;
            display:flex;
            flex-wrap:wrap;
            justify-content:space-between;}
            
        header .kassa p{
            display:inline-block;}
    }
    
    @media screen and (max-width:500px){
        header .kassa .custom {
            width:100%;
            display:flex;
            flex-wrap:wrap;
            gap:15px 20px;
            justify-content:center;}
            
        header .kassa p:nth-child(2) a{
            margin-left:0px;}
    }
    
    @media screen and (max-width:450px){
        
        
    }


/***** ***** ***** ***** ***** ****** Версия для слабовидящих ***** ***** ***** ***** ***** ******/

header .templates{
    width:40px;
    display:none;
    float:right;
    display:table;
    padding:7px 0 0 0;}

header .templates img{
    width:45px;
    opacity:1;}
    
header .templates img:hover{
    opacity:0.7;}
    
    @media screen and (max-width:450px){
        header .templates{
            margin:5px 70px 0 0;}
    }    
    


/***** ***** ***** ***** ***** ****** Главное меню ***** ***** ***** ***** ***** ******/

.menu{
    padding:45px 0 20px;
    width:100%;
    max-width:100%;
    float:right;
    box-sizing:border-box;}
    
.menu .nav {
    width:100%;
    display:flex;
    flex-wrap: wrap;
    justify-content:center;

    gap:6px 60px;}

.menu .nav a,
.menu .nav span{
    font-family: 'Marvin';
    color:#fff;
    padding:0 0 10px;
    color:rgba(255,255,255,.7);
    font-size:16pt;
    text-transform:uppercase;}

ul.mod-menu a:hover,
ul.mod-menu li.active :is(a, span){
    color:#fff;}


.menu .nav li ul {
    position: absolute;
    display: none;
    list-style: none;
    margin:10px 0;
    max-width:220px;

}

.menu .nav li:hover ul {
    display:block;
                border-radius:6px;
            overflow:hidden;
    z-index:99999;}

.menu .nav li ul li {
    display:flex;
    flex-direction: column;}

.menu .nav li ul li a,
.menu .nav li ul li span{
    font-family: 'Montserrat-Regular';
    background:var(--bg-body);
    color:#000;
    padding: 9px 20px;
    font-size:12pt;
    box-shadow:1px 1px 2px #999;}

.menu .nav li ul li a:hover{
    background:var(--cl-link);
    color:#fff;}

.menu .nav li ul li:hover {
    background-color: #f0f0f0;}

/* Стили для ссылок в выпадающем меню */
.menu .nav > ul li a {
    color: #333;
    text-decoration: none;}

.menu .nav > ul li a:hover {
    color: #007bff;}
    
.menu .topmenu {
    display:none;}
    
@media screen and (max-width:1050px){
    .menu{
        max-width:100%;}
}

@media screen and (max-width: 600px){
    
    .menu{
        position: absolute;
        max-width:100%;
        z-index: 99999;
        top:20px;
        right:20px;
    }
        
    .menu .topmenu {
        font-family: 'Montserrat-Regular';
        position: absolute;
        width:50px;
        height:40px;
        float:right;
        display: block;
        overflow: hidden;
        background:#ccc;
        font-size:9pt;
        text-align:center;
        background-repeat:no-repeat;
        background-size:45px;
        z-index: 55;
        cursor: pointer;
        border-radius:5px;
        overflow:hidden;
        padding:16px 0;
        background:var(--cl-link);
        color:#fff;
        transition-duration: .2s;
        right:0px;
    }

    .menu .topmenu:hover{
        background:var(--cl-link-hover);
        transition-duration: .2s;}

    .menu .nav{
        width:auto;
        display:table;
        position: absolute;
        right:0px;
        left: auto; /* Добавляем принудительное выравнивание по правому краю */
        top:100px;
        min-width:calc(100% - 40px);
        max-width: calc(100% - 60px); /* Ограничиваем максимальную ширину */
        border-radius:5px;
        overflow:hidden;
        padding:0;
        display:none;
        background:#fff;
        box-shadow:2px 2px 10px #555 ;
    }

    .menu .nav li{
        clear: both;
        padding:0;}

    .menu .nav li a,
    .menu .nav li span{
        display: block;
        min-width: 100%;
        color:var(--bg-header);
        padding:10px 20px 8px 25px;
        background: var(--cl-body);
        font-size: 13pt;
        box-sizing: border-box;
    }
        
    .menu .nav li span{
        background: #f3f3f3;}
    
    .menu .nav li a:hover {
        background: var(--cl-link);
        color:#fff;
    }
    
    .menu .nav li ul,
    .menu .nav li:hover ul{
        position: relative;
        display: block;
        width:100%;
        z-index: 99;
        top:0;}
    
    .menu .nav li ul {
        padding:0;
        max-width:100%;
    }
        
    .menu .nav li ul li a{
        padding:7px 20px 6px 40px;
        background: var(--cl-body);
        box-shadow:none;
        font-size:11pt;
        line-height:1.2;
        min-width:100%;
    }
        
    ul.mod-menu li.active a{
        background:var(--cl-link-hover);}
        
    ul.mod-menu li.active :is(span){
        color:var(--bg-header);}
        
    .menu .nav li ul li.active a{
        background:var(--cl-link-hover);
        color:#fff;}
}

@media screen and (max-width:450px){
    .menu{
        top:-35px;}
    .menu .nav {
        min-width: calc(100% - 30px);
        max-width: calc(100% - 30px);
        right: 0px;
    }
}

    @media screen and (max-width:450px){
        .menu{
            top:-35px;}
    } 

        

/***** ***** ***** ***** ***** ****** СЛАЙДЕР на главной странице ***** ***** ***** ***** ***** ******/


.moduletable.slider_block{
    width:100%;
    background:var(--bg-header);
    padding:0 20px 20px;
    margin:0 0 50px;
    color:#fff;
    background-image:url(../../../../../images/style/fon_06.png);
    background-size:auto 100%;}

.slider_block .nspArtScroll2{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;
    padding: 0 0px 10px;
    position:relative;
    color:rgba(255,255,255,.8);

}
    
.slider_block .nspArtPage p{
    line-height:1.2;
    margin:12px 0;
    font-size:12pt;}

.slider_block .nspImageWrapper {
    float:right;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width:100%;
    max-width:55%;
    min-height:100%;
    padding:40px 0 50px 70px;
    background-image:url(../../../../../images/style/sled_01.png);
    background-position:20px 265px;
    background-size:80%;
    background-repeat:no-repeat;
    overflow:hidden;
    //background:rgba(255,255,255,.025);
    border-radius:10px;}
    
.slider_block .nspImageWrapper img.nspImage{
    width:100%;
    min-height:100%;
    border-radius:10px;
    -o-object-fit: cover;
       object-fit: cover;}
    
.slider_block .nspArtPage{
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;}
        
.slider_block .nspArtPage table {
    width:100%;
    max-width:44%;
    float:left;
    margin:105px 0 0;}
    
.slider_block .nspArtPage table tr{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    padding-right: 10px;}

.slider_block .nspArtPage .nspInfo { /* Дата */
    font-size:18pt;
    text-shadow:.3px .3px #fff;
    margin:0;
    position:absolute;
    top:70px;
    text-transform:lowercase;
    left:0;}


.slider_block .nspArtPage strong {
    font-size:11pt;
    margin:0;
    position:absolute;
    top:40px;
    left:0;
    display:table-cell;
    padding:5px 20px;
    background:var(--cl-link);
    border-radius:5px;}

.slider_block .nspArtPage h2{ /* Название спектакля */
    font-family: 'Marvin';
    display:table;
    min-width:100%;
    font-size:35pt;
    margin:20px 0 30px;
    line-height:1;}

.slider_block .nspArtPage h2 a{
    color:#fff;
    text-shadow:.3px .3px #fff;
    line-height:1;}

.slider_block .nspArtPage span[style="text-decoration: underline;"]{
    text-decoration: none !important;
    position:absolute;
    display:table-cell;
    padding:8px 6px;
    right:12px;
    top:60px;
    font-size:14pt;}

.slider_block .nspArtPage table tr td:nth-child(2) a{
    font-size: 12pt;
    color: var(--bg-header);
    background: #fff;
    padding: 10px 25px;
    border-radius: 7px;
    margin:20px 0 10px;
    display:inline-block;
    text-shadow: .3px .3px 0px var(--bg-header);}
    
.slider_block .nspArtPage table tr td:nth-child(2) a:hover{
    background:rgba(255,255,255,.7);}

.slider_block .nspArtPage table tr td:nth-child(2) img{ /* Пушкинская карта */
    -o-object-fit: cover;
       object-fit: cover;
    width:40px;
    float:right;
    display:none;}
    
.slider_block .nspText {
    display:none;}
    
.slider_block .owl-controls{
    position:absolute;
    right:0px;
    bottom:35px;
    display:table;}
    
.slider_block .owl-controls .owl-dot{
    width:10px;
    height:10px;
    display:block;
    background:rgba(255,255,255,.4);
    margin:4px;
    float:left;
    border-radius:5px;}
    
.slider_block .owl-controls .active{
    background:#fff;}


/* ===== АДАПТИВНЫЕ БРЕЙКПОИНТЫ (ТОЛЬКО РАСПОЛОЖЕНИЕ) ===== */

        /* 1200px – планшеты / ноутбуки */
        @media screen and (max-width: 1200px) {
            .slider_block .nspImageWrapper {
                max-width: 50%;
                padding: 30px 0 40px 40px;
                background-position: 20px 200px;
                background-size: 70%;
                background:none;
            }

            .slider_block .nspArtPage table {
                max-width: 48%;
                margin: 80px 0 0;
            }

            .slider_block .nspArtPage h2 {
                font-size: 28pt;
                margin: 15px 0 20px;
            }

            .slider_block .nspArtPage .nspInfo {
                font-size: 16pt;
                top: 55px;
            }

            .slider_block .nspArtPage strong {
                top: 30px;
                font-size: 10pt;
                padding: 4px 16px;
            }

            .slider_block .nspArtPage span[style="text-decoration: underline;"] {
                right: 10px;
                top: 45px;
                font-size: 12pt;
            }

            .slider_block .owl-controls {
                bottom: 25px;
                right: 5px;
            }
        }

        /* 750px – планшеты вертикально / большие телефоны */
        @media screen and (max-width: 750px) {
            
            .moduletable.slider_block{
                background-size:auto 50%;
                background-repeat:no-repeat;
                background-position:left bottom;
            }
            
            .slider_block {
                padding: 0 0px 15px;
            }

            .slider_block .nspArtScroll2 {
                padding: 0 0 5px;
            }

            .slider_block .nspImageWrapper {
                float: none;
                max-width: 100%;
                min-height: auto;
                padding: 20px 0 30px 0;
                background-position: 10px 150px;
                background-size: 60%;
                border-radius: 8px;
                margin-bottom: 10px;
                order: -1; /* картинка сверху */
            }

            .slider_block .nspImageWrapper img.nspImage {
                min-height: 220px;
                border-radius: 8px;
            }

            .slider_block .nspArtPage {
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                -ms-flex-direction: column;
                flex-direction: column;
            }

            .slider_block .nspArtPage table {
                max-width: 100%;
                float: none;
                margin: 20px 0 0;
            }

            .slider_block .nspArtPage table tr {
                padding-right: 0;
                width: 100%;
            }

            .slider_block .nspArtPage table tr td:nth-child(2) {
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                gap: 10px;
                margin-top: 5px;
            }

            .slider_block .nspArtPage table tr td:nth-child(2) a {
                margin: 5px 0;
                padding: 8px 18px;
                font-size: 11pt;
            }

            .slider_block .nspArtPage table tr td:nth-child(2) img {
                display: block; /* показываем иконку Пушкинской карты */
                width: 70%;
                margin:-9px 0 0;
                height:auto;
                float: none;
            }

            .slider_block .nspArtPage .nspInfo {
                position: relative;
                top: auto;
                left: auto;
                font-size: 16pt;
                margin: 8px 0 0;
                text-shadow: none;
                display: inline-block;
                background: rgba(0, 0, 0, 0.25);
                padding: 2px 12px;
                border-radius: 20px;
            }

            .slider_block .nspArtPage strong {
                position: relative;
                top: auto;
                left: auto;
                display: inline-block;
                padding: 4px 16px;
                font-size: 10pt;
                margin-right: 10px;
            }

            .slider_block .nspArtPage span[style="text-decoration: underline;"] {
                position: absolute;
                right: auto;
                top: auto;
                display: inline-block;
                padding: 4px 10px;
                font-size: 12pt;
                //background: rgba(255, 255, 255, 0.1);
                //border-radius: 20px;
                margin: 0 0 5px 0;
                top:30px;
                right:10px;
            }

            .slider_block .nspArtPage h2 {
                font-size: 22pt;
                line-height:1.2;
                margin: 10px 0 12px;
                min-width: auto;
                display: block;
            }

            .slider_block .nspArtPage p {
                font-size: 11pt;
                margin: 6px 0;
            }

            .slider_block .owl-controls {
                position: relative;
                bottom: auto;
                right: auto;
                display: flex;
                justify-content: center;
                gap: 8px;
                margin-top: 16px;
                width: 100%;
            }

            .slider_block .owl-controls .owl-dot {
                float: none;
                display: inline-block;
                width: 12px;
                height: 12px;
                margin: 0 5px;
            }
        }

        /* 450px – мобильные телефоны */
        @media screen and (max-width: 450px) {
            .slider_block {
                padding: 0 0px 10px;
                margin: 0 0 30px;
            }

            .slider_block .nspArtScroll2 {
                padding: 0;
            }

            .slider_block .nspImageWrapper {
                padding: 10px 0 20px 0;
                background-position: 5px 80px;
                background-size: 50%;
                border-radius: 6px;
            }

            .slider_block .nspImageWrapper img.nspImage {
                min-height: 160px;
                border-radius: 6px;
            }

            .slider_block .nspArtPage table {
                margin: 10px 0 0;
            }

            .slider_block .nspArtPage h2 {
                font-size: 18pt;
                margin: 8px 0 10px;
            }

            .slider_block .nspArtPage .nspInfo {
                font-size: 13pt;
                padding: 2px 10px;
            }

            .slider_block .nspArtPage strong {
                font-size: 9pt;
                padding: 3px 12px;
            }

            .slider_block .nspArtPage span[style="text-decoration: underline;"] {
                font-size: 10pt;
                padding: 2px 8px;
            }

            .slider_block .nspArtPage table tr td:nth-child(2) a {
                font-size: 10pt;
                padding: 6px 14px;
                margin: 5px 0;
            }

            .slider_block .nspArtPage table tr td:nth-child(2) img {
                width: 65%;
                margin:-5px 0 0 -10px;
            }

            .slider_block .nspArtPage p {
                font-size: 10pt;
                margin: 4px 0;
            }

            .slider_block .owl-controls {
                gap: 6px;
                margin-top: 12px;
            }

            .slider_block .owl-controls .owl-dot {
                width: 10px;
                height: 10px;
            }
        }







    
main{
    -webkit-box-flex:1;
    -ms-flex:1 0 auto;
    flex:1 0 auto;
    
    background-image:url(../../../../../images/style/fon_bottom_01.png);
    background-repeat:repeat-x;
    background-position:bottom;
    //background-size:1300px;
    padding:0 0 160px;
    position:relative;
}

/*
main:before{
    content: '';
    display:block;
    position:absolute;
    width:200px;
    height:500px;
    top:500px;
    right:-95px;
    background-image:url(../../../../../images/style/sled_02.png);
    background-repeat:no-repeat;
}

main:after{
    content: '';
    display:block;
    position:absolute;
    width:200px;
    height:400px;
    top:1000px;
    left:15px;
    background-image:url(../../../../../images/style/sled_03.png);
    background-repeat:no-repeat;
}*/

main .content-block{
    width:100%;
    max-width:calc(var(--size-content) + 40px);
    margin:0 auto;
    padding:0 20px;
    display:table;
    height:100%;}

h1 {
    font-family: 'Marvin';
    text-transform:uppercase;
    color:var(--bg-header);
    //text-align:center;
    font-size:28pt;
    margin:15px 0;}



h5 {
    margin:10px 0;}
    
.com-content-article {
    padding:10px 0;
    display:table;
    width:100%;}

.com-content-article h1{
    display:none;}

.com-content-article h2{
    //font-family: 'Marvin';
    color:var(--bg-header);
    text-transform:uppercase;
    text-shadow:.3px .3px #000;
    font-size:20pt;
    margin:20px 0 10px;
    line-height:1.2;}
    
.com-content-article h3{

    text-shadow:.3px .3px #000;
    font-size:16pt;
    margin:20px 0 10px;
    line-height:1.2;}
    
.com-content-article .create{
    color:var(--cl-link-hover);
    font-size:11pt;
    margin:0 0 15px;}

.com-content-article p,
.com-content-category-blog p{
    margin:10px 0;
    line-height:1.4;
    font-size:12pt;}

.com-content-article .item-image{
    float:right;
    margin:0 0 0 30px;
    width:40%;}

.com-content-article .item-image img{
    width:100%;
    border-radius:10px;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;}
       
.com-content-article strong{
    text-shadow:.4px .3px #000;}


/***** ***** ***** ***** ***** ***** ОТОБРАЖЕНИЕ МАТЕРИАЛОВ В БЛОГЕ ***** ***** ***** ***** ***** *****/

.com-content-category-blog .blog-item{
    width:100%;
    display:table;
    clear:both;
    margin:20px 0;
    //border-bottom:1px solid var(--cl-line);
    padding:0 0 20px;}
    
.com-content-category-blog .blog-item:last-child{
    border-bottom:none;
    padding:0px;}

.com-content-category-blog .item-image{
    width:35%;
    float:right;
    margin:6px 0 10px 30px;}
    
.com-content-category-blog .item-image img{
    width:100%;
    border-radius:10px;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;}
    
.com-content-category-blog h2{
    text-transform:uppercase;
    text-shadow:.3px .3px #000;
    font-size:20pt;
    margin:0px 0 10px;
    line-height:1.2;}
    
.com-content-category-blog h2 a{
    color:#000;}

.com-content-category-blog h2 a:hover{
    color:var(--cl-link);}

.com-content-category-blog .create {
    color:var(--cl-link-hover);
    font-size:11pt;}
    
.com-content-category-blog .btn-secondary {
    color:var(--cl-link-hover);
    font-size:11pt;
    border-bottom: 1px dotted var(--cl-link-hover);
}
    
.com-content-category-blog .btn-secondary:hover {
    color:var(--cl-link);}
    
@media screen and (max-width:1000px){
    .com-content-category-blog .item-image{
        width:45%;}
}

@media screen and (max-width:700px){
    .com-content-category-blog .item-image{
        width:100%;}
} 

@media screen and (max-width:700px){
    .com-content-article .item-image{
        width:100%;
        margin:0 0 10px;}
}



footer {
    width:100%;
    -webkit-box-flex:0;
        -ms-flex:0 0 auto;
            flex:0 0 auto;
    background:var(--bg-footer);
    padding:0 20px;
    min-height:300px;
    color:#ccc;}

footer > div:first-child{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;
    padding:30px 0 20px;}

footer .autor{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;
    padding:15px 0 10px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
        justify-content:space-between;
    gap:0px 20px;
    clear:both;
    border-top:1px solid #fff;}


footer .autor div{
    font-size:11pt;
    line-height:1.4;}

footer .autor div:first-child{
    width:calc(45% - 14px);}

@media screen and (max-width:1000px){
    footer .autor div:first-child{
        width:calc(70% - 20px);
        -webkit-box-ordinal-group:2;
        -ms-flex-order:1;
        order:1;}
}

@media screen and (max-width:450px){
    footer .autor div:first-child{
        width:calc(90% - 20px);}
}

footer .autor div:nth-child(2){
    width:calc(30% - 14px);
    text-align:center;}
    
@media screen and (max-width:1000px){
    footer .autor div:nth-child(2){
        width:calc(70% - 20px);
        -webkit-box-ordinal-group:4;
        -ms-flex-order:3;
        order:3;
        text-align:left;}
}
        
@media screen and (max-width:500px){
    footer .autor div:nth-child(2){
        width:100%;
        padding:10px 0 0;}    
}

footer .autor div:last-child{
    width:calc(25% - 14px);
    text-align:right;}

@media screen and (max-width:1000px){
    footer .autor div:last-child{
        width:calc(30% - 20px);
        -webkit-box-ordinal-group:3;
        -ms-flex-order:2;
        order:2;}
}

@media screen and (max-width:500px){
    footer .autor div:last-child{
        width:100%;
        -webkit-box-ordinal-group:5;
        -ms-flex-order:4;
        order:4;
        text-align:left;
        padding:10px 0 0;}
}


footer a{
    color:#fff;}
    
footer a:hover{
    color:#ccc;}

footer .logo {
    max-width:200px;
    float:left;
    padding:20px 0;}
    
footer .logo img{
    width:100%;}

footer .logo p{

}


footer .kassa {
    width:100%;
    float:right;
    height:90px;
    text-align:left;
    color:#fff;
    padding:10px 0 20px;
    max-width:260px;
    display:table;}

@media screen and (max-width:600px){
    footer .kassa {
        padding:0 0 10px;
        max-width:100%;}
}

footer .kassa p{
    line-height:1.4;
    font-size:11.3pt;
    color:#eee;}

footer .kassa a{
    font-size:19pt;
    text-shadow:.3px .3px 0px #fff;}

footer .kassa a:hover{
    color:#ccc;
    text-shadow:.3px .3px 0px #ccc;}
    
footer .kassa p:nth-child(3) a:nth-child(1){
    font-size:9pt;
    color:#ccc;}
    
footer .kassa p:nth-child(2){
    font-size:12pt;
    line-height:1.3;
    margin:10px 0;
    color:#fff;
    text-shadow:.3px .3px #fff;}



/***** ***** ***** ***** ***** ***** ******************** ***** ***** ***** ***** ***** *****/
/***** ***** ***** ***** ***** ***** БЛИЖАЙШИЕ СПЕКТАКЛИ! ***** ***** ***** ***** ***** *****/


.moduletable.afisha_block{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;
    padding:0px 0px 0}
    
/***** ***** ***** ***** ***** ***** ЗАГОЛОВОК МОДУЛЯ ***** ***** ***** ***** ***** *****/

.moduletable.afisha_block > h3{
    font-family: 'Marvin';
    font-weight: 400;
    color:var(--bg-header);
    text-transform:uppercase;
    text-align:left;
    font-size:28pt;
    margin:20px 0 0;}

.afisha_block p {
    font-size:11pt;}

#nsp-news .nspArt{
    width:100%;}

.afisha_block .blog p,
.afisha_block .nspArtPage p{
    margin:10px 0 0;
    line-height:1.2;}


/***** ***** ***** ***** ***** ***** ITEMS МАТЕРИАЛ ***** ***** ***** ***** ***** *****/

.afisha_block .nspArt,
.afisha_block .blog-item{
    width:100%;
    padding:25px 20px 25px !important;
    border-radius:10px;
    display: table;
    margin:30px 0;
    //border-bottom:2px dotted #777;
    position:relative;
    background:#fff;
    box-shadow:2px 2px 10px #ccc;
}

.afisha_block .nspArtPage:first-child .nspArt,
.afisha_block .nspArtPage:nth-child(5n) .nspArt{
    background:#e5f9ff;}

.afisha_block .nspArtPage:nth-child(2n) .nspArt{
    background:#e9f9e5;}
    
.afisha_block .nspArtPage:nth-child(3n) .nspArt{
    background:#fcffdb;}
    
.afisha_block .nspArtPage:nth-child(4n) .nspArt{
    background:#eae3fd;}



.afisha_block .nspArt:hover,
.afisha_block .blog-item:hover{
    box-shadow:2px 2px 20px #ccc;
}
    
.afisha_block .nspArtPage:last-child .nspArt,
.afisha_block .blog-item:last-child{
    border-bottom:none;}

/***** ***** ***** ***** ***** ***** Изображение ***** ***** ***** ***** ***** *****/

.afisha_block .nspArt .nspImageWrapper,
.afisha_block .blog-item .item-image {
        display:block;
        width:34%;
        overflow:hidden;
        border-radius:10px;
        float:left;
        margin:0 30px 0 0 !important;}
    
.afisha_block .nspArt .nspImageWrapper img,
.afisha_block .blog-item .item-image img{
    height: auto;
    width:100%;
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 0.9;
    float:left;
    border-radius:10px;}

.afisha_block .nspArt:hover .nspImageWrapperimg,
.afisha_block .blog-item:hover .item-image img{
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 1;}
    
/***** ***** ***** ***** ***** ***** ТАБЛИЦА ***** ***** ***** ***** ***** *****/
    
.afisha_block table{
    width:100%;
    max-width:calc(66% - 30px);
    float:right;}

.afisha_block table tr{
    min-width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;}

.afisha_block table tr td:first-child{
    width:calc(100% - 200px);
    padding:0 20px 0 0;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;}

.afisha_block table tr td:last-child{
    width:200px;
    min-width:180px;
    height:auto;
    text-align:right;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;
    vertical-align:middle;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;}

/***** ***** ***** ***** ***** ***** Дата события ***** ***** ***** ***** ***** *****/

.afisha_block .nspInfo,
.afisha_block .com-content-category-blog .create{
    font-size:15pt;
    text-shadow:.3px .3px #000;
    text-transform:lowercase;
    color:#000;
    padding:15px 0 0;
    line-height:1;}
    
.afisha_block .nspInfo{
    margin:0 0 0;}
    
.afisha_block .com-content-category-blog .create{
    margin:10px 0 0;}
    
/***** ***** ***** ***** ***** ***** Большой или Малый зал ***** ***** ***** ***** *****/

.afisha_block table tr td p{
    margin:15px 0;
}

.afisha_block table tr td p:first-child{
    
    line-height:1;
    color:#000;}
    
/***** ***** ***** ***** ***** ***** Премьера ***** ***** ***** ***** *****/

.afisha_block table tr td strong{
    display:table-cell;
    position:absolute;
    top:80px;
    line-height:1;
    color:#fff;
    background:var(--cl-link-hover);
    padding:4px 20px;
    border-radius:5px;
    text-transform:uppercase;
    font-size:9pt;
    -webkit-box-sizing:border-box;
            box-sizing:border-box;}

@media screen and (max-width:700px){
    .afisha_block table tr td strong{
        top:12px;
        left:20px;
        font-size:12pt;
        padding:5px 20px 4px;}
}

/***** ***** ***** ***** ***** ***** Заголовок Название спектакля ***** ***** ***** *****/

.afisha_block h2{
    font-family: 'Montserrat-Regular';
    padding:10px 0 0;
    width:100%;
    min-height:60px;
    text-transform:uppercase;
    margin:10px 0;}

.afisha_block h2 a{
    color:#000;
    font-size:24pt;
    text-shadow:.3px .3px #000;
    line-height:1.1;}

.afisha_block h2 a:hover{
    color:var(--cl-link);}
    
/***** ***** ***** ***** ***** ***** Основной текст ***** ***** ***** ***** *****/

.afisha_block table tr td p{
    font-size:12pt;
    line-height:1.4;
    color:#333;}
    
/***** ***** ***** ***** ***** ***** Возростной ценз ***** ***** ***** ***** *****/

.afisha_block table tr td:nth-child(2) span[style="text-decoration: underline;"]{
    font-size:12pt;
    display:table;
    border-radius:7px;
    color:#000;
    background:var(--bg-body);
    width:40px;
    height:38px;
    margin:10px 0;
    padding:12px 8px;
    display:block;
    position:absolute;
    top:15px;
    text-align:center;
    right:20px;
    text-decoration:none !important;}
    
/***** ***** ***** ***** ***** ***** Картинка Пушкинской карты ***** ***** *****/

.afisha_block table tr td:nth-child(2) img{
    max-width:40px;
    background:#f3f3f3;
    border-radius:7px;
    padding:4px 0 0;
    position:absolute;
    top:72px;
    right:20px;
    max-height:38px;}

/***** ***** ***** ***** ***** ***** Купить билеты ***** ***** ***** ***** *****/

.afisha_block table tr td:nth-child(2) a{
    min-width:190px;
    text-align:center;
    padding:10px 20px;
    display:inline-block;
    cursor:pointer;
    background:var(--cl-link);
    margin:0 auto;
    color:#fff;
    font-size: 12pt;
    position:absolute;
    bottom:25px;
    right:20px;
    border-radius:7px;}

.afisha_block table tr td:nth-child(2) a:hover{
    background:var(--cl-link-hover);}

/***** ***** ***** ***** ***** ***** Ссылка на полную афишу: ***** ***** ***** ***** *****/     
.afisha_block .full-afisha{
    text-align:center;
    margin:0 0 15px;}
    
.afisha_block .full-afisha a{
    min-width: 190px;
    text-align: center;
    padding: 10px 20px;
    display: inline-block;
    cursor: pointer;
    background: var(--cl-link);
    margin: 0 auto;
    color: #fff;
    font-size: 12pt;

    bottom: 25px;
    right: 20px;
    border-radius: 7px;}

.afisha_block .full-afisha a:hover{
    background: var(--cl-link-hover);}


    
    
/***** ***** ***** ***** ***** ***** Отключены: ***** ***** ***** ***** *****/    
    
.afisha_block .nspArtPage p.nspText {
        display:none;}


@media screen and (max-width:920px){
    
    .afisha_block table tr td:first-child{
        width:100%;}

    .afisha_block table tr td:last-child{
        width:100%;
        min-width:100%;
        -ms-flex-wrap:wrap;
            flex-wrap:wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;}
    
    .afisha_block .nspArt .nspImageWrapper,
    .afisha_block .blog-item .item-image {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:end;
            -ms-flex-pack:end;
                justify-content:flex-end;
        width:40%;
        //min-height:100%;
        //height:100%;
        overflow:hidden;
        border-radius:10px;
        float:left;}
        
    .afisha_block .nspArt .nspImageWrapper img,
    .afisha_block .blog-item .item-image img{
        //min-width:200%;
        height:auto;
        -o-object-position: center;
           object-position: center;}
           
    .afisha_block table{
        width:100%;
        max-width:calc(60% - 30px);}
    
    .afisha_block table tr td:nth-child(2){
        -webkit-box-pack:end;
            -ms-flex-pack:end;
                justify-content:flex-end;}

    .afisha_block table tr td:last-child p:nth-child(2){
        -webkit-box-ordinal-group:2;
            -ms-flex-order:1;
                order:1;}
    
    .afisha_block table tr td:last-child p:nth-child(1){
        -webkit-box-ordinal-group:3;
            -ms-flex-order:2;
                order:2;}
    
    .afisha_block table tr td:last-child p:nth-child(3){
        -webkit-box-ordinal-group:4;
            -ms-flex-order:3;
                order:3;}
        
    .afisha_block table tr td:last-child p:nth-child(3) a{
        margin:5px 0 5px;}
        
    .afisha_block table tr td:nth-child(2) a{
        left:20px;
        width:calc(40% - 15px);
        padding: 10px 20px !important;}
    
    .afisha_block table tr td:nth-child(2) span[style="text-decoration: underline;"]{
        top:-5px;
        right:20px;}
    
    .afisha_block table tr td:nth-child(2) img{
        top:5px;
        right:70px;}
}

@media screen and (max-width:700px){
    
    .afisha_block .nspArt .nspImageWrapper,
    .afisha_block .blog-item .item-image {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:end;
            -ms-flex-pack:end;
                justify-content:flex-end;
        width:100%;
        min-height:200%;
        height:100%;
        overflow:hidden;
        border-radius:10px;
        float:left;
        margin:0;}
        
    .afisha_block .nspArt .nspImageWrapper img,
    .afisha_block .blog-item .item-image img{
        max-width:100%;
        min-width:100%;
        margin:0 0 15px;}
        
    .afisha_block table{
        width:100%;
        max-width:100%;}
        
    .afisha_block h2 a{
        font-size:20pt;}
        
    .afisha_block table tr td:nth-child(2) a{
        left:15px;}
        
    .afisha_block table tr td:nth-child(2) span[style="text-decoration: underline;"]{
        background:var(--bg-body);
        bottom:20px;
        top:auto;}
        
    .afisha_block table tr td:nth-child(2) img{
        bottom:30px;
        top:auto;}
    
    .afisha_block h2{
        padding:10px 0 0;
        width:100%;
        min-height:auto;}

    .afisha_block table tr td:nth-child(2){
        padding:12px 0 0;}
        
    .afisha_block table tr td:nth-child(2) p{
        margin:0;}
        
    .afisha_block .nspArt{
        padding:20px 15px 70px !important;
    }
    
    .afisha_block .nspInfo,
.afisha_block .com-content-category-blog .create{
    font-size:13pt;
}
}

@media screen and (max-width:500px){}



/***** ***** ***** ***** ***** ***** ******************** ***** ***** ***** ***** ***** *****/
/***** ***** ***** ***** ***** ***** ***** ** НОВОСТИ! ** ***** ***** ***** ***** ***** *****/

.moduletable.new_block{
    width:100%;
    clear:both;
    margin:20px auto;
    padding:20px 0px 0px;}
    
.moduletable.new_block .new_block {
    max-width:var(--size-content);
    margin:20px auto;
    
    
}
 
#nsp-news{
    font-size:11pt;}
    
/***** ***** ***** ***** ***** ***** ЗАГОЛОВОК МОДУЛЯ ***** ***** ***** ***** ***** *****/

.moduletable.new_block > h3{
    font-family: 'Marvin';
    font-weight: 400;
    color: var(--bg-header);
    text-transform: uppercase;
    text-align: left;
    font-size: 28pt;
    margin: 10px 0 30px;}
    

#nsp-news .nspPages4{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    gap:20px;}
    
#nsp-news .nspArtPage{
    background:#fff;
    border-radius:10px;
    padding:20px;
    width:calc(25% - 20px*3/4);
    box-shadow: 2px 2px 10px #ccc;}
    
#nsp-news .nspArtPage .nspArt {
    display:flex;
    height:100%;
    flex-direction:column;}

#nsp-news .nspArtPage:nth-child(2n) .nspArt {
    justify-content:space-between;}

#nsp-news .nspArtPage .nspImageWrapper {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    min-height:250px;
    max-height:250px;
    overflow:hidden;
    margin:-20px -20px 30px !important;
    position:relative;
    border-radius:10px 10px 0 0;}
    
#nsp-news .nspArtPage:nth-child(2n) .nspImageWrapper {
    order:1;
    margin:0px -20px -20px !important;
    border-radius:0 0 10px 10px;}
    
#nsp-news .nspArtPage img{
    width:100%;
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 1}

#nsp-news .nspArtPage p{
    margin:10px 0;
    line-height:1.2;}

#nsp-news .nspArtPage .nspHeader {
    font-family: 'DoulosSilCompact';
    letter-spacing:.5px;
    text-shadow:.3px .3px #000;
    font-size:16pt;
    margin:-5px 0 10px;
    line-height:1.2;
    min-height:50px;
    text-transform:uppercase;}

#nsp-news .nspArtPage .nspHeader a{
    color:#000;}
    
#nsp-news .nspArtPage .nspHeader a:hover{
    color:var(--cl-link);}

#nsp-news .nspArtPage .nspInfo {
    font-family: 'DoulosSilCompact';
    font-size:12pt;
    text-shadow:.3px .3px var(--cl-link-hover);
    color:var(--cl-link-hover);
    letter-spacing:.5px;}
    
    

/***** ***** ***** ***** ***** ***** Ссылка на все новости: ***** ***** ***** ***** *****/     

#nsp-news .full-news{
    text-align:center;
    padding:30px 0 5px;}
    

#nsp-news .full-news a{
    min-width: 190px;
    text-align: center;
    padding: 10px 20px;
    display: inline-block;
    cursor: pointer;
    background: var(--cl-link);
    margin: 5px auto;
    color: #fff;
    font-size: 12pt;
    bottom: 25px;
    right: 20px;
    border-radius: 7px;}

#nsp-news .full-news a:hover{
    background: var(--cl-link-hover);}

    @media screen and (max-width:1300px){
        
        #nsp-news .nspArtPage:nth-child(2n) .nspArt {
            justify-content:flex-start;}
        
        #nsp-news .nspArtPage .nspImageWrapper,    
        #nsp-news .nspArtPage:nth-child(2n) .nspImageWrapper {
            order:0;
            margin:-20px -20px 20px !important;
            border-radius:10px 10px 0 0;}
        
        #nsp-news .nspArtPage,
        #nsp-news .nspArtPage:first-child{
            width:calc(50% - 10px);}
            
    
        #nsp-news .nspArtPage .nspImageWrapper {
            min-height:auto;
            max-height:auto;
            height:auto;
            display:table;
            border:none;}
                
        #nsp-news .nspArtPage .nspImageWrapper img{
            border:1px solid #000;}
    }

    @media screen and (max-width:700px){
        #nsp-news .nspArtPage,
        #nsp-news .nspArtPage:first-child,
        #nsp-news .nspArtPage:last-child{
            width:100%;
            display:block;}
            
        #nsp-news .nspArtPage .nspHeader {
            margin:-8px 0 15px;
            min-height:auto;}
    }



.news-page .blog-items .blog-item{
    background:#fff;
    padding:60px 20px 40px;
    margin:20px 0;
    position:relative;
    border:0 !important;
    border-radius:10px;}

.news-page .blog-items .blog-item p,
.news-page .blog-items .blog-item ul,
.news-page .blog-items .blog-item ol{
    color:#333;}
    
.news-page .com-content-category-blog .create {
    position:absolute;
    top:30px;
    display:table;
    border-radius:5px;
    color:var(--cl-link);}
    
.news-page .com-content-category-blog .btn-secondary {
    background:none;
    position:absolute;
    bottom:20px;}



/***** ***** ***** ***** ***** ***** МОДУЛИ. РЕПЕРТУАР ***** ***** ***** ***** *****/

.bottom-a {
    width:100%;
    clear:both;
    margin:15px 0 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;}
    
.bottom-a .moduletable {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    float:left;
    padding:0 0 15px;}

@media screen and (max-width:900px){
    .bottom-a .moduletable {
        width:100%;}
}

@media screen and (max-width:800px){
    .bottom-a .moduletable {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;}
}

.rep_block h3 {
    font-family: 'DoulosSilCompact';
    background:var(--bg-header);
    letter-spacing:1px;
    text-transform:uppercase;
    font-size:16pt;
    text-shadow:.3px .3px 0 #fff;
    color:#fff;
    padding:8px 0 6px 45px;
    margin:0 0 15px;}

@media screen and (max-width:900px){
    .rep_block h3 {
        padding:8px 0 6px 15px;}
}

@media screen and (max-width:600px){
    .rep_block h3 {
        font-size:14pt;}
}

.rep_block .nspArtPage{
    min-width:100%;
    padding-left: 45px;}

@media screen and (max-width:900px){
    .rep_block .nspArtPage{
        padding-left: 15px;}
}

.rep_block .nspArtPage :is(h4, p){
    display:inline-block;}
    
.rep_block .nspArtPage h4{
    margin: 5px 10px 0 0;}
    
.rep_block .nspArtPage h4 a{
    color:#000;}
    
.rep_block .nspArtPage h4 a:hover{
    color:var(--cl-link);}


.rep_block .nspArtPage h4 ~ p{
    font-size:11pt;
    padding:3px 3px 2px;
    text-align:center;}
    
.rep_block .nspArtPage h4:hover ~ p{
    background:var(--cl-link);
    color:#fff;
    font-size:11pt;
    padding:3px 0 2px 7px;
    border-radius:3px;}

/***** ***** ***** ***** ***** ***** СТРАНИЦА. РЕПЕРТУАР ***** ***** ***** ***** *****/    


.com-content-category-blog .repertuar{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    gap:20px 30px;}
    
.com-content-category-blog .repertuar .blog-item{
    border-bottom:none;
    padding:0;
    margin:10px 0;
    width:calc(33.3333% - 20px);
    position:relative;}

@media screen and (max-width:1000px){
    .com-content-category-blog .repertuar .blog-item{
        width:calc(50% - 15px);}
}

@media screen and (max-width:600px){
    .com-content-category-blog .repertuar .blog-item{
        width:100%;}
}

.com-content-category-blog .repertuar .blog-item:last-child{
    padding:0px;}

.com-content-category-blog .repertuar .item-image{
    width:100%;
    float:right;
    margin:6px 0 10px 30px;}
    
.com-content-category-blog .repertuar .item-image img{
    width:100%;
    border-radius:7px;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;}
    
.com-content-category-blog .repertuar h2{
    font-family: 'Montserrat-Regular';
    text-transform:uppercase;
    text-shadow:.3px .3px #000;
    font-size:20pt;
    margin:0px 0 10px;
    line-height:1.2;}
    
.com-content-category-blog .repertuar h5{
    position:absolute;
    width:40px;
    height:40px;
    padding:12px 7px;
    text-align:center;
    display:block;
    top:10px;
    right:10px;
    background:#fff;
    border-radius:49.5%;
    font-weight:600;}

.com-content-category-blog .repertuar p {
    line-height:1.3;
    margin:0;}

/* Премьера, Рекомендуем.. */
    
.com-content-category-blog .repertuar h6{
    position:absolute;
    top:-7px;
    left:20px;
    display:table;
    padding:6px 15px 4px;
    text-transform:uppercase;
    border-radius:5px;
    background:var(--cl-link);
    color:#fff;
    font-size:10pt;}

.com-content-article__body p{
    text-align:justify;}

@media screen and (max-width:600px){
    .com-content-article__body p{
        text-align:left;}
}

.com-content-article__body ol{
    list-style: decimal;
}

.com-content-article__body ul li,
.com-content-article__body ol li{
    margin:5px 0 5px 25px;
    font-family: 'Montserrat-Regular';
	font-weight: normal;
	font-style: normal;
    font-size:12pt;
    line-height:1.4;
    position:relative;}
    
.com-content-article__body ul li:before{
    content:"";
    position:absolute;
    width:7px;
    height:7px;
    left:-18px;
    top:8px;
    border-radius:49.5%;
    display:block;
    background:var(--cl-link);}
    
.com-content-article__body ul li:hover:before{
    background:var(--cl-link-hover);}

/* Изображение в материале по правому краю..  */
.com-content-article__body .float-end {
    float:right;
    margin:10px 0 10px 30px;
    max-width:300px;
    -o-object-fit: cover;
       object-fit: cover;}
       
       
@media screen and (max-width:600px){
    .com-content-article__body .float-end {
        float:none;
        margin:10px auto;
        max-width:100% !important;
        min-width:100% !important;
        width:100% !important;
        height:auto;}
}

/* Изображение в материале по левому краю..  */
.com-content-article__body .float-start {
    float:left;
    margin:10px 30px 10px 0;
    max-width:300px;
    -o-object-fit: cover;
       object-fit: cover;}

@media screen and (max-width:600px){
    .com-content-article__body .float-start {
        float:none;
        margin:10px auto;
        max-width:100% !important;
        min-width:100% !important;
        width:100% !important;
        height:auto;}
}
    
.repertuar-page h2{
    font-family: 'Montserrat-Regular';
    text-transform:uppercase;
    text-shadow:.3px .3px #000;
    font-size:20pt;}
    
.repertuar-page h6{
    display:table;
    padding:6px 15px 4px;
    text-transform:uppercase;
    border-radius:5px;
    background:var(--cl-link);
    color:#fff;
    font-size:10pt;}
    

.item-pagerepertuar-page h6 {
    background:var(--cl-link-hover);}

.item-pagerepertuar-page {
    position:relative;
}
    
.item-pagerepertuar-page .item-image {
    float:left;
    margin:20px 25px 0 0;
}
    
.item-pagerepertuar-page .page-header {
    width:calc(60% - 25px);
    float:right;
    padding:0 0 15px;
}

.item-pagerepertuar-page p:nth-child(1) {
    font-size: 12pt;
    display: table;
    border-radius: 7px;
    color: #000;
    background: #fff;
    width: 40px;
    height: 38px;
    margin: 10px 0;
    padding: 10px 8px;
    display: block;
    position: absolute;
    top: 0px;
    text-align: center;
    right: 0px;
    text-decoration: none !important;
}


    
/* 8 фото спектакля: */

.repertuar-page table {
    min-width:100%;
    clear:both;
    display:block;
    padding:30px 0 0;
    //margin:30px 0 0;
    
}

.repertuar-page table tr td,
.repertuar-page table p {
    width:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    gap:10px;
    line-height:0;
    font-size:0;
}

.repertuar-page table a:has(img){
    width:calc(25% - 10px*3/4) !important;}
    
@media screen and (max-width:900px){
    .repertuar-page table a:has(img){
        width:calc(50% - 15px) !important;}
}

@media screen and (max-width:700px){
    .repertuar-page table a:has(img){
        width:100% !important;}
}

.repertuar-page table a:has(img):nth-child(3){
    display:block;}
    
    
@media screen and (max-width:900px){
    .repertuar-page table a:has(img):nth-child(3){
        display:none;}
}

@media screen and (max-width:700px){
    .item-pagerepertuar-page .page-header {
        width:100%;}
        
    .item-pagerepertuar-page .item-image {
        float:none;
        margin:0px 0px 15px 0;}
    
    .repertuar-page table a:has(img):nth-child(3){
        display:block;}
}

.repertuar-page table a img {
    min-width:100% !important;
    max-width:100% !important;
    height:auto;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius:7px;}
    
    

/*Сложности с получением «Пушкинской карты» или приобретением билетов?*/
.pk {
    
    background:#fff;
    padding:0;}
    
.pk > div{
    width:100%;
    max-width:var(--size-content);
    margin:0 auto;}

/* Справочная информация */

.spinfo {
    background:var(--bg-header);
    padding:30px 20px;
    margin:0;
    text-align:center;
    color:#fff;}
    
.spinfo p{
    font-size:22pt;
    text-transform:uppercase;
    color:#fff;
    line-height:1.1;}
    
.spinfo a{
    display:inline-block;
    color:#f3f3f3;}
    
    @media screen and (max-width:800px){
        .spinfo p{
            line-height:1.2;
            font-size:20pt;}
    }
    
    @media screen and (max-width:600px){
        .spinfo p{
            line-height:1.2;
            font-size:18pt;}
    }




/***** ***** ***** ***** ***** ***** ПАГИНАЦИЯ. НАВИГАЦИЯ ***** ***** ***** ***** *****/

.com-content-category-blog__navigation {
    text-align:center;}
    
.com-content-category-blog__navigation li{
    display:inline-block;
    margin: 0 2px;}


.com-content-category-blog__navigation li a{
    color:#fff;
    background:var(--cl-link);
    padding:5px;
    min-width:30px;
    display:inline-block;
    border-radius:5px;}

.com-content-category-blog__navigation li a:hover{
    background:var(--cl-link-hover);}

.com-content-category-blog__navigation li a:has(span){
    display:none;}

/***** ***** ***** ***** ***** ***** АКТЕРЫ, Администрация ***** ***** ***** ***** *****/

.blog-items.actors {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    gap:15px 30px;
    
}

.actors .blog-item {
    max-width:calc(25% - (30px*3/4));
    position:relative;
    //background:#fff;
    //border-radius:10px;
    padding:0;}

    @media screen and (max-width:1200px){
        .actors .blog-item {
            max-width:calc(33.33% - (30px*2/3));}
    }
    
    @media screen and (max-width:900px){
        .actors .blog-item {
            max-width:calc(50% - (30px*1/2));}
    }
    
    @media screen and (max-width:550px){
        .actors .blog-item {
            max-width:100%;}   
    }

.actors .blog-item .item-image {
    width:100%;
    aspect-ratio:1 / 1;
    overflow: hidden;
    border-radius:10px;}
    
.actors .blog-item .item-image img{
    width:100%;}

.actors .blog-item .page-header h2{
    font-size:14pt;
    width:100%;
    border:0;}

.actors .blog-item h3{
    font-size:20pt;
}
    
.actors .blog-item .item-content {
    //position:absolute;
    bottom:11px;
    width:100%;
    
    border-radius: 0 0 10px 10px;
    padding:10px 20px 5px;
    color:#000;
}

.actors .blog-item .item-content:hover {
    
}
    
@media screen and (max-width:900px){
    .actors .blog-item .page-header h2{
        font-size:13pt;}
}

.actors .blog-item .page-header h2 a{
    width:100%;
    display:block;
    border:0;}

.actors-page .com-content-category-blog .blog-item{
    border:0;
    margin:0;}

.item-pageactors-page .item-image{
    width:100%;
    max-width:30%;
    padding:0 0 20px 20px;
    margin:-35px 0 0;}
    
@media screen and (max-width:600px){
    .item-pageactors-page .item-image{
        margin:0;
        max-width:100%;
        padding:0 0 10px;}
}




footer a:is(.vk, .tel, .odn){
    width:40px;
    height:40px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    overflow:hidden;
    padding:40px 0 0;
    margin:40px 20px 0 0;
    float:left;
    background:url(../../../../../images/style/icons.svg);
    background-size:cover;}
    
footer a:is(.vk, .tel, .odn):hover{
    opacity:.5;
}


footer a.tel {
    background-position:-53px;}

footer a.odn {
    background-position:-106px;}


/* Форма обратной связи */

.forma-pr {
    margin:20px 0 0;
    border-top:1px solid var(--cl-link);
    padding:20px 0;}
    
.forma-pr h2{
    font-size:16pt;
    text-shadow:.2px .2px 0 #000 ;}

.forma-pr input{
    outline:none;
    border-radius:5px;
    padding:10px 20px;
    border:1px solid var(--cl-link);
    font-family: 'Montserrat-Regular';
    font-size:12pt;
    color: var(--cl-link);}

.forma-pr input:focus{
    border:1px solid var(--cl-link-hover);}

.forma-pr textarea{
    width:100%;
    resize:none;
    outline:none;
    border-radius:5px;
    padding:15px 20px;
    border:1px solid var(--cl-link);
    font-family: 'Montserrat-Regular';
    font-size:12pt;
    color: var(--cl-link);}
    
.forma-pr textarea:focus{
    border:1px solid var(--cl-link-hover);}

.forma-pr input[type="checkbox"]{
    display:none;}
    
.forma-pr input[type="checkbox"]+ label{
    position:relative;
    padding:0 0 0 33px;
    line-height:1.2;}

.forma-pr input[type="checkbox"] + label:before {
  content: "";
  display: block;
  width: 1.1em;
  height: 1.1em;
  border: 1px solid var(--cl-link);
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all 0.2s, background 0.2s ease-in-out;
  -o-transition: all 0.2s, background 0.2s ease-in-out;
  transition: all 0.2s, background 0.2s ease-in-out;
  background: #fff;
  cursor:pointer;}
  
.forma-pr input[type="checkbox"]:checked + label:before {
  width: 1.1em;
  height: 1.1em;
  border-radius: 5px;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  background: var(--cl-link);
  border:none;}
    
.forma-pr button{
    background: var(--cl-link);
    color:#fff;
    padding:10px 30px;
    font-family: 'Montserrat-Regular';
    font-size:13pt;
    border:none;
    outline:none;
    margin:15px 0 0;
    border-radius:5px;
    cursor:pointer;
    -webkit-transition-duration: .2s;
         -o-transition-duration: .2s;
            transition-duration: .2s;}

.forma-pr button:hover{
    -webkit-transition-duration: .2s;
         -o-transition-duration: .2s;
            transition-duration: .2s;
    background: var(--cl-link-hover);}

.forma-pr input::-webkit-input-placeholder,
.forma-pr input::-moz-placeholder,
.forma-pr input:-moz-placeholder,
.forma-pr input:-ms-input-placeholder,
.forma-pr input:placeholder-shown{
    color:#ccc;}
    
/* Благодарность */

.rsfp_thankyou_popup_inner {
    border-radius:15px;}
    
.rsfp_thankyou_popup_inner p{
    margin:10px 0;
    line-height:1.3;}
    
.rsfp_thankou_popup_close_btn {
    color:var(--cl-link);
    font-size:20pt;}
    

/* Страница КОНТАКТЫ */

.contact .content table {
    width:100%;}
    
.contact .content table tr{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
    width:100%;}
    
.contact .content table tr td{
    padding:5px;}

@media screen and (max-width:650px){    
    .contact .content table tr td{
        width:100%;
        text-align:left !important;}
}


/* Управленческий персонал */

.item-pageup-personal table {
    width:100% !important;
    margin:0;}
    
.item-pageup-personal table tr{
    width:100%;
    display:flex;
    gap:0 20px;
    flex-wrap:wrap;
    padding:0;}

.item-pageup-personal table tr td{
    width:100%;
    max-width:calc(25% - 20px*3/4);
    display:flex;
    padding:20px 0;
    flex-direction:column;
    justify-content:center;}
    
.item-pageup-personal table tr td:nth-child(2n){
    padding-right:15px;
    text-align:left;
    line-height:1.4;}

.item-pageup-personal table tr td h3{
    font-family: 'DoulosSilCompact';
    font-size:18pt;
    line-height:1.2;}
    
.item-pageup-personal table tr td p{
    text-align:left;}
    
.item-pageup-personal table tr td img{
    width:100% !important;
    height: auto !important;
    border-radius:10px;
}
    
@media screen and (max-width:1100px){
    .item-pageup-personal table tr td{
        width:100%;
        max-width:calc(50% - 20px*2);}
}

@media screen and (max-width:650px){
    .item-pageup-personal table tr td{
        width:100%;
        max-width:100%;}
    
    .item-pageup-personal table tr td:nth-child(2n){
        padding:0 0 20px;}
}
    
/* Художественно творческий персонал */

.item-pagepersonal table {
    width:100% !important;
    margin:0;}

.item-pagepersonal table tr{
    display:flex;
    flex-wrap:wrap;
    gap:15px 40px;
    padding:20px 0;}

.item-pagepersonal table tr td{
    width:100%;
    max-width:calc(50% - 20px);
    padding:0;
    display:flex;
    flex-direction:column;
    justify-content:center;}

@media screen and (max-width:700px){
    .item-pagepersonal table tr td{
        max-width:100%;}
}

.item-pagepersonal table tr:nth-child(odd) td p,
.item-pagepersonal table tr:nth-child(odd) td h3,
.item-pagepersonal table tr:nth-child(odd) td h4,
.item-pagepersonal table tr:nth-child(odd) td h5,
.item-pagepersonal table tr:nth-child(odd) td h6 {
    text-align:right;}
    
.item-pagepersonal table tr td h3{
    font-size:25pt;
    line-height:1;
    margin:0;
    font-family: 'DoulosSilCompact';}
    
@media screen and (max-width:700px){
    .item-pagepersonal table tr td h3{
        font-size:20pt;}
}
    
.item-pagepersonal table tr td p{
    margin:5px 0;
    text-align:left;
}

.item-pagepersonal table img {
    height:auto !important;
    width:100%;
    object-fit:cover;
    border-radius:15px;
}
    
@media screen and (max-width:700px){
    .item-pagepersonal table tr:nth-child(odd) td:first-child{
        order:2;
        
    }
        
    .item-pagepersonal table tr:nth-child(odd) td:last-child{
        order:1;}
    
    .item-pagepersonal table tr:nth-child(odd) td p,
    .item-pagepersonal table tr:nth-child(odd) td h3,
    .item-pagepersonal table tr:nth-child(odd) td h4,
    .item-pagepersonal table tr:nth-child(odd) td h5,
    .item-pagepersonal table tr:nth-child(odd) td h6 {
        text-align:left;}
}

@media screen and (max-width:700px){
    .page-header h1{
        font-size:20pt;}
}


#js-show-iframe-wrapper{
    background:var(--pos-banner-fluid-41__background)}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2{
    width:100%;min-height:52px;background:#fff;color:#0d4cd3;font-size:16px;font-family:LatoWeb,sans-serif;font-weight:400;padding:0;line-height:1.2;border:2px solid #0d4cd3}#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:active,#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:focus,#js-show-iframe-wrapper .pos-banner-fluid .pos-banner-btn_2:hover{background:#e4ecfd}#js-show-iframe-wrapper .bf-41{position:relative;display:grid;grid-template-columns:var(--pos-banner-fluid-41__grid-template-columns);grid-template-rows:var(--pos-banner-fluid-41__grid-template-rows);width:100%;max-width:var(--pos-banner-fluid-41__max-width);box-sizing:border-box;grid-auto-flow:row dense}#js-show-iframe-wrapper .bf-41__decor{background:var(--pos-banner-fluid-41__bg-url) var(--pos-banner-fluid-41__bg-url-position) no-repeat;background-size:cover;position:relative;background-color:#fff}#js-show-iframe-wrapper .bf-41__content{display:flex;flex-direction:column;padding:var(--pos-banner-fluid-41__content-padding);grid-row:var(--pos-banner-fluid-41__content-grid-row);justify-content:center}#js-show-iframe-wrapper .bf-41__description{display:flex;flex-direction:column;margin:var(--pos-banner-fluid-41__description-margin)}#js-show-iframe-wrapper .bf-41__text{margin:var(--pos-banner-fluid-41__text-margin);font-size:var(--pos-banner-fluid-41__text-font-size);line-height:1.4;font-family:LatoWeb,sans-serif;font-weight:700;color:#0b1f33}#js-show-iframe-wrapper .bf-41__text_small{font-size:var(--pos-banner-fluid-41__text-small-font-size);font-weight:400;margin:0}#js-show-iframe-wrapper .bf-41__bottom-wrap{display:flex;flex-direction:row;align-items:center}#js-show-iframe-wrapper .bf-41__logo-wrap{position:absolute;top:var(--pos-banner-fluid-41__logo-wrap-top);left:0;padding:var(--pos-banner-fluid-41__logo-wrap-padding);background:#fff;border-radius:0 0 8px 0}#js-show-iframe-wrapper .bf-41__logo{width:var(--pos-banner-fluid-41__logo-width);margin-left:1px}#js-show-iframe-wrapper .bf-41__slogan{font-family:LatoWeb,sans-serif;font-weight:700;font-size:var(--pos-banner-fluid-41__slogan-font-size);line-height:1.2;color:#005ca9}#js-show-iframe-wrapper .bf-41__btn-wrap{width:100%;max-width:var(--pos-banner-fluid-41__button-wrap-max-width)}


    @media screen and (min-width:700px) and (max-width:4000px){
        .pos-banner-fluid {
            display:flex !important;
            flex-wrap:wrap;
            min-height:400px;}
        
        .bf-41__decor {
            width:48%;}
        
        .bf-41__content {
            width:48%;}
    }

#specialButton{
    filter: invert(1);}

.special-images-1 header .logo img{
    background:#000 !important;}

.special-images-1 img,
.special-images-1 .slider_block .nspImageWrapper,
.special-images-1 .slider_block .nspImageWrapper img.nspImage{

    z-index:2;
}









@media screen and (max-width:750px){

.special-images-1 .slider_block{   
        background:none;}
    
.special-images-1 .slider_block .nspImageWrapper {
    background:none !important;}

.special-color-1 .slider_block .nspImageWrapper img.nspImage{
    background:none !important;
    display:table;}  


}
        
        

/* Согласие на обработку персональных данных */

.cookie {
    position:fixed;
    z-index:99999;
    display:table;
    bottom:15px;
    left:5%;
    width:90%;
    max-width:690px;
    background:rgba(255,255,255,.95);
    -webkit-box-shadow:0px 0px 10px #777;
            box-shadow:0px 0px 10px #777;
    padding:10px 20px;
    line-height:1.2;
    border-radius:10px;
    font-size:10pt}
    
.cookie p{
    margin:5px 0;
    display:table;
    width:70%;
    float:left;
}
    
.cookie a#cookie-agreement-button{
    display:table;
    padding:10px 30px;
    background:var(--cl-link);
    color:#fff;
    font-size:12pt;
    border-radius:7px;
    margin:15px 0 0;
    float:right;}
    
.cookie a#cookie-agreement-button:hover{
    background:var(--cl-link-hover);}

        
        
        
/* Репертуар */        


.block-afisha {
    width:100%;
    max-width:calc(var(--content-size));
    //padding:0 20px;
    margin:20px auto 0;}

.block-afisha .block-afisha-content {
    //font-size: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;}

.block-afisha .block-afisha-content>input[type="radio"] {
    display: none;}

.block-afisha .block-afisha-content>div {
    display: none;
    padding: 0;
    margin:-7px 0 0 0;
    
    border-bottom-left-radius:10px;
    border-bottom-right-radius:10px;}
    
.block-afisha #tab-btn-1:checked~#content-1,
.block-afisha #tab-btn-2:checked~#content-2,
.block-afisha #tab-btn-3:checked~#content-3,
.block-afisha #tab-btn-4:checked~#content-4,
.block-afisha #tab-btn-5:checked~#content-5{
    display: block;}

.block-afisha .block-afisha-content>label {
    display: inline-block;
    background:#fff;
    padding:10px 20px;
    border-radius:7px;
    box-shadow:1px 1px 4px #ccc;
    //width:25%;
    text-align: left;
    vertical-align: middle;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    color:#222;
    //padding: 14px 20px 10px 0px;
    font-size: 12pt;
    line-height: 1.1;
    cursor: pointer;
    position: relative;
    margin: 10px 15px 10px 0px;
    -webkit-transition:all 0.5s;
    -o-transition:all 0.3s;
    transition:all 0.3s;}

.block-afisha .block-afisha-content>label:not(:first-of-type) {
    border-left: none;}

.block-afisha .block-afisha-content>input[type="radio"]:checked+label {
    background:none;
    box-shadow:none;
    color:#000;}

.block-afisha .block-afisha-content>label:hover {
    background:var(--cl-link-hover);
    color:#fff !important;}
    
.block-afisha .block-afisha-content>input[type="radio"]:checked+label:hover{
    background:none;
    color:#000 !important;;
} 

    
.block-afisha .block-afisha-content>label:nth-child(4){
    background:#e5f9ff;}

.block-afisha .block-afisha-content>label:nth-child(6){
    background:#e9f9e5;}
    
.block-afisha .block-afisha-content>label:nth-child(8){
    background:#fcffdb;}
    
.block-afisha .block-afisha-content>label:nth-child(10){
    background:#eae3fd;}

.block-afisha .block-afisha-content>label:nth-child(4):hover,
.block-afisha .block-afisha-content>label:nth-child(6):hover,
.block-afisha .block-afisha-content>label:nth-child(8):hover,
.block-afisha .block-afisha-content>label:nth-child(10):hover{
    background:var(--cl-link-hover);
}

@media screen and (max-width:800px){
    .block-afisha .block-afisha-content>label {
        font-size: 11pt;
        padding:7px 15px;}
}

@media screen and (max-width:600px){
    .block-afisha .block-afisha-content>label {
        padding:7px 12px;}
}
    


.repertuar-block .nspArtScroll1 {
    margin:30px 0;}

.repertuar-block .nspArtScroll2 {
    border-radius:7px;
    display:flex;
    flex-wrap:wrap;
    gap:20px;}

.repertuar-block .nspArtScroll2 .nspArtPage {
    width:calc(33.33% - 20px*3/4);
    background:#fff;
    position:relative;
    border-radius:7px;
    box-shadow: 2px 2px 10px #ccc;}

.repertuar-block .nspArtScroll2 .nspImageWrapper{
    display:flex;
    position: relative;
    border-radius: 10px 10px 0 0;}

.repertuar-block img {
    width:100%;
    border-radius: 10px 10px 0 0;}

.repertuar-block .nspArtScroll2 h4{
    width:100%;
    min-height:80px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;}

.repertuar-block .nspArtScroll2 h4 a {
    color: #000;
    font-size: 20pt;
    text-shadow: .3px .3px #000;
    line-height: 1.3;
    text-transform:uppercase;
    padding:20px;}

.repertuar-block .nspArtScroll2 p a{
    position:absolute;
    top:10px;
    right:10px;
    color:#fff;}

    @media screen and (max-width:1200px){
        .repertuar-block .nspArtScroll2 .nspArtPage {
            width:calc(50% - 10px);}
            
        .repertuar-block .nspArtScroll2 h4 a {
            font-size: 16pt;}
    }
    
    @media screen and (max-width:600px){
        .repertuar-block .nspArtScroll2 .nspArtPage {
            width:100%;}
            
        .repertuar-block .nspArtScroll2 h4 a {
            font-size: 14pt;}
    }



.moduletable.god {
    background:#fff;
    padding:10px 0 0;
    border-top:1px solid var(--bg-header);}
    
.moduletable.god .custom {
    margin:0 auto;
    max-width:var(--size-content);
    padding:15px 0px;}

.moduletable.god .custom p{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:20px;}

.moduletable.god .custom img{
    height:auto !important;
    width:calc(25% - 20px*4/3) !important;}

    @media screen and (max-width:1300px){
        .moduletable.god {
            padding:10px 20px;}
    }
    
    @media screen and (max-width:600px){
        .moduletable.god .custom img{
            width:calc(50% - 10px) !important;}
    }




/* Основной блок комментариев */
#comments {
    margin-bottom: 30px;
}

/* Заголовок "Добавить отзыв" */
.h6 {
    font-size: 18px;
    color: var(--cl-link);
    text-shadow:.2px .2px var(--cl-link);
    margin-bottom: 10px;

}

/* Форма добавления комментария */
#comments-form {
    background: #f9f9f9;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid var(--cl-link);
    margin-bottom: 30px;
}

/* Поля ввода */
#comments-form .form-control {
    border: 1px solid var(--cl-link);
    border-radius: 8px;
    font-size:12pt;
    padding: 8px 12px;
    transition: all 0.3s ease;
}

#comments-form .form-control:focus {
    border-color: var(--bg-header, #007bff);
    box-shadow: 0 0 0 3px rgba(var(--bg-header-rgb, 0, 123, 255), 0.15);
    outline: none;
}

/* Метки */
#comments-form .form-label {
    color: #555;
    font-size:12pt;
    margin-bottom: 0;
}

/* Текстовое поле комментария */
#comments-form textarea {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px 15px;
    resize: vertical;
    font-size:15pt;
    transition: all 0.3s ease;
}

#comments-form textarea:focus {
    border-color: var(--bg-header, #007bff);
    box-shadow: 0 0 0 3px rgba(var(--bg-header-rgb, 0, 123, 255), 0.15);
    outline: none;
}

/* Контейнер капчи */
.captcha-container {
    display:flex;
    flex-wrap:wrap;
    background: #f0f0f0;
    padding: 15px 20px;
    border-radius: 4px;
    margin-bottom: 20px;
    border-left: 3px solid var(--bg-header, #007bff);
}

.captcha-container .captcha {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 5px;
    float:left;

}

.captcha-reload {
    margin: 22px 40px 12px 20px;
    float:left;
}

.captcha-reload a {
    color: var(--cl-link);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.captcha-reload a:hover {
    color: var(--cl-link-hover);

}

.captcha-reload .icon-loop {
    display: inline-block;
    margin-right: 5px;
}

.captcha-container input[type="text"] {
    width: 120px !important;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 10px;
}

.captcha-container input[type="text"]:focus {
    border-color: var(--bg-header, #007bff);
    box-shadow: 0 0 0 3px rgba(var(--bg-header-rgb, 0, 123, 255), 0.15);
    outline: none;
}

/* Кнопки */
#comments-form-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 10px;}

#comments-form-buttons .btn {
    font-size: 12pt;
    background: var(--cl-link);
    padding: 10px 25px;
    border-radius: 7px;
    border:0;
    font-family: 'Montserrat-Regular';}
    
#comments-form-buttons .btn {
    background: var(--cl-link-link);}

.btn-success {
    background: var(--cl-link) !important;
    color: #fff;
    cursor:pointer;
}

.btn-success:hover {
    background: var(--cl-link-hover) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.btn-secondary {
    background: #6c757d;
    color: #fff;
}

.btn-secondary:hover {
    background: #5a6268;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Скрытые поля */
#id_honeypot {
    display: none;
}

/* Стили для списка комментариев (если он появится в #comments) */
#comments .comment-item {
    padding: 15px 20px;
    background: #fff;
    margin-bottom: 20px;
    border-radius: 6px;
    border-left: 3px solid var(--bg-header, #007bff);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

#comments .comment-item .avatar {
    float: left;
    margin-right: 15px;
    margin-bottom: 10px;
}

#comments .comment-item .name {
    font-weight: 700;
    color: #333;
    padding-bottom: 3px;
    padding-top: 3px;
}

#comments .comment-item .date {
    font-weight: 400;
    color: #888;
    font-size: 13px;
}

#comments .comment-item .comment-text {
    color: #333;
    line-height: 1.6;
}

/* Пагинация */
#comments .pagination {
    display: inline-block;
    margin: 0 0 30px 0;
    padding: 0;
}

#comments .pagination > li {
    display: inline;
    margin: 0 3px;
}

#comments .pagination > li a {
    padding: 6px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    text-decoration: none;
    color: var(--bg-header, #007bff);
    transition: all 0.3s ease;
}

#comments .pagination > li a:hover {
    background: var(--bg-header, #007bff);
    color: #fff;
    border-color: var(--bg-header, #007bff);
}

/* Заголовок списка комментариев */
.comments-list-header {
    font-weight: 700;
    color: #333;
    margin: 30px 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bg-header, #007bff);
}


.row.align-items-center {
    width:50%;
    float:left;
    display:flex;
    flex-direction: row-reverse;
    justify-content:flex-end;
    gap:15px;
    margin:0 0 20px;
}

.row.align-items-center .col-auto {
    padding:7px 0 0;
}

#comments-form .form-label.visually-hidden,
#comments-form .grippie,
#comments-form .btn.btn-secondary.btn-sm{
    display:none;
}




/* Адаптивность */
@media (max-width: 1000px) {
    
    .row.align-items-center {
    width:50%;
    float:left;
    display:flex;
    flex-direction: column-reverse;
    justify-content:flex-end;
    gap:15px;
    margin:0 0 20px;}
}

@media (max-width: 600px) {
    .row.align-items-center {
    width:100%;}
    
    .captcha-reload a {
        font-size:10pt;}
    
    .captcha-reload {
    margin: 22px 10px 12px 10px;}
    
}

/* Анимация загрузки для кнопки отправки */
#comments-form-send:active {
    transform: scale(0.97);
}

/* Стили для авторизованных пользователей */
.comments-authenticated {
    padding: 15px;
    background: #f5f5f5;
    border-radius: 6px;
    margin-bottom: 20px;
    border-left: 3px solid var(--bg-header, #007bff);
}

.comments-authenticated img {
    height: 35px;
    width: 35px;
    border-radius: 50%;
}

.logged-in-text {
    display: inline-block;
    vertical-align: bottom;
    margin-left: 10px;
    font-weight: 500;
    color: #333;
}

/* Сообщения об ошибках */
.invalid-feedback {
    color: #dc3545;
    font-size: 14px;
    margin-top: 5px;
}

/* Плейсхолдеры */
::placeholder {
    color: #999;
    opacity: 1;
}

:-ms-input-placeholder {
    color: #999;
}

::-ms-input-placeholder {
    color: #999;
}

#comments-form-reset {
    display:none;
}

#comments-form-message {
    color:#ff0000;
    padding:15px 0;
}



.comments-list > div {
    background:#fff;
    margin:10px 0;
    border-radius:10px;
    padding:15px;}

.comments-list > div .comment-info .permalink{
    font-size:12pt !important;}

.comments-list > div .comment-info dd span[itemprop="name"]{
    font-size:14pt !important;}

.comments-list > div .comment-info dd.published {
    color:#777;
    float:right;
    padding:5px 0;}

#comments .comment-box {
    padding:30px 0px 0 30px;}




/* Оцените работу нашего театра */

.qr-ocenka {
    width:230px;
    float:right;
    padding:20px 40px;
    font-size:11pt;
    text-align:center;
}

.qr-ocenka img {
    margin:0 0 20px;
}

.qr-ocenka p{
    line-height:1.3;
}

@media (max-width: 600px) {
    
    .qr-ocenka {
        width:100%;
        padding:20px 0;
        text-align:left;}
    
    .qr-ocenka br{
        display:none;}
    
    .qr-ocenka img {
        float:left;
        margin:-15px 20px 0 0;
        width:50px !important;
        height:50px !important;}
}













































        