/* common reset */
html, body, body div, span, label, legend, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, button, table, caption, tbody, tfoot, thead, tr, th, td, form, fieldset, article, aside, footer, header, nav, section, input, select, option, textarea {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: none;
    border-collapse: collapse;
    list-style: none;
    box-sizing: content-box;
}
/* font adjusting hack */
html * {
    max-height:10000000px;
}
.overhidden {
    display: none!important;;
}
/* common styles */
button {
    cursor: pointer;
}
a {
    color: inherit;
    text-decoration: none;
}
.container {
    margin: 0 auto;
    width: 980px;
    position: relative;
    height: 100%;
}
/* hull */
html {
    height: 100%;
    width: 100%;
}
body {
    height: 100%;
    width: 100%;
    min-width: 980px;
    background: #fff;
    position: relative;
    font-family: 'Roboto', Arial, sans-serif;
    font-style: normal;
}
header {
    position: relative;
    width: 100%;
}
header.sticked {
    z-index: 3
}
footer {
    position: relative;
    color: #000;
    font-weight: 300;
    font-size: 18px;
    margin-top: 40px;
}
.wrapper {
    display: table;
    width: 100%;
    height: 100%;
    min-width: 980px;
    background: #fff;
    overflow: hidden;
}
.content {
    display: table-row;
    height: 100%;
}
#main {
    padding-top: 20px;
}
/* header */
.topfon {
    background: -moz-linear-gradient(left, #de4347 0%, #de4347 50%, #33aeb0 50%);
    background: -webkit-linear-gradient(left, #de4347 0%, #de4347 50%, #33aeb0 50%);
    background: linear-gradient(to right, #de4347 0%, #de4347 50%, #33aeb0 50%);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 83px;
}
.topangle {
    width: 100%;
    height: 147px;
    position: relative;
    overflow: hidden;
    padding-bottom: 4px;
}
.stripe {
    height: 294px;
    width: 120%;
    position: absolute;
    left: -60%;
    top: -147px;
    filter: drop-shadow(2px 2px 4px rgba(81, 78, 78, 0.75));
}
.maingreen .stripe {
    right: -60%;
    left: auto;
}
.topline {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 83px;
    margin: 0;
    color: #fff;
    font-family: 'Comfortaa', cursive;
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
}
.topthere {
    float: left;
    width: 50%;
    height: 83px;
    padding: 6px;
    box-sizing: border-box;
}
.topbetv {
    float: left;
    width: 10%;
    height: 83px;
    box-sizing: border-box;
}
.topother {
    float: left;
    width: 40%;
    height: 83px;
    text-align: left;
    padding: 25px 0 0;
    box-sizing: border-box;
}
.topname {
    display: inline-block;
    padding: 19px 0;
    vertical-align: top;
}
.topname-comment {
    display: block;
    font-size: 14px;
}
.toplogo {
    display: inline-block;
    width: 62px;
    height: 62px;
    vertical-align: top;
    margin-right: 10px;
}
.toplogo-30 {
    width: 212px;
    height: 83px;
}
.topothername .short {
    display: none;
}
.topothermenu {
    font-family: 'Roboto', Arial, sans-serif;
    font-weight: 300;
    font-size: 11px;
    line-height: 14px;
    padding: 3px 0;
}
.tompoint {
    display: inline-block;
    white-space: nowrap;
    text-transform: uppercase;
    color: #191919;
}
.tompoint:hover {
    color: #fff;
}
.tomcall {
    display: none;
}
.toputils {
    height: 35px;
    margin-bottom: 10px;
}
.toplever {
    padding: 5px 0 5px 20px;
    float: left;
    font-weight: 300;
    font-size: 19px;
    line-height: 25px;
    color: #000;
}
.toplang,
.topsearch {
    display: inline-block;
    vertical-align: top;
    height: 25px;
}
.toplang .current {
    color: #de4347;
}
.topsearch {
    width: 250px;
}
.toplang {
    margin-right: 20px;
}
.toplang *:first-child {
    border-right: 1px solid #de4347;
    padding-right: 4px;
}

.maingreen .toplang .current {
    color: #33aeb0;
    border-right-color: #33aeb0;
}
.topsearch input {
    display: inline-block;
    vertical-align: top;
    height: 23px;
    width: 133px;
    border: 1px solid #8f8f8f;
    background: #fff;
    color: #000;
    line-height: 23px;
    margin: 0 0 0 10px;
}
.topsearch button,
.topsearch  button.gsc-search-button,
.topsearch  button.gsc-search-button:hover
{
    display: inline-block;
    vertical-align: top;
    height: 25px;
    width: 25px;
    background: url('/images/srcbtn.png') center center no-repeat;
    padding: 0;
    margin: 0;
    border: none;
}
.topsocials {
    padding: 0 20px 0 0;
    float: right;
    height: 35px;
}
.topsoc {
    display: inline-block;
    vertical-align: top;
    height: 35px;
    width: 35px;
    border-radius: 4px;
    background: url('/images/soc-vk.png') center center no-repeat;
}
.topsoc:hover {
    background-color: #ededed;
}
.topsoc.fb {
    background-image: url('/images/soc-fb.png');
}
.topsoc.you {
    background-image: url('/images/soc-you.png');
}
.topsoc.cld {
    background-image: url('/images/soc-cld.png');
}
.topsoc.ins {
    background-image: url('/images/soc-ins.png');
}
.mobilemenu,
.mobileother {
    display: none;
}
.topmainmenu {
    height: 45px;
}
.topmainmenu.fixed {
    height: 78px;
}
.topmainmenu.sticked {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
}
/* top menu */
.menuline {
    width: 100%;
    padding: 17px 0 5px;
    margin: 0;
    font-weight: 300;
    font-size: 19px;
    line-height: 23px;
    color: #000;
    position: relative;
    z-index: 10;
    background: #fff;
    box-shadow: 0 4px 4px rgba(81, 78, 78, 0);
    -webkit-transition: box-shadow 0.5s ease;
    -moz-transition: box-shadow 0.5s ease;
    -ms-transition: box-shadow 0.5s ease;
    -o-transition: box-shadow 0.5s ease;
    transition: box-shadow 0.5s ease;
}
.fixed .menuline {
    padding-bottom: 0;
}
.menuline.shadowed,
.sticked .menuline {
    box-shadow: 0 4px 4px rgba(81, 78, 78, .4);
}
.menupoint {
    display: inline-block;
    vertical-align: top;
}
.menuflex {
    margin-left: 45px;
}
.mpwrap {
    padding: 0 20px;
}
.mpwrap > a {
    text-transform: uppercase;
}
.submenu {
    display: none;
    position: relative;
    z-index: 10;
    background: #fff;
    padding-bottom: 12px;
}
.current_child + .submenu {
    margin-top: -33px;
}
.menupoint:hover .submenu,
.submenu:hover {
    display: block;
}
.menupoint:hover .submenu {
    z-index: 1000;
}
.submenu li {
    display: block;
    position: relative;
    height: 26px;
    font-size: 18px;
    line-height: 26px;
    width: 100%;
}
.submenu li a,
.current_child a {
    position: absolute;
    display: block;
    height: 26px;
    white-space: nowrap;
    top: 0;
    left: 0;
    background: #fff;
    font-size: 16px;
    line-height: 26px;
}
.menupoint.house {
    margin-top: -17px;
    margin-left: 20px;
    padding: 0;
    height: 40px;
    float: left;
}
.menupoint.house a {
    display: block;
    width: 33px;
    height: 40px;
    background: url('/images/ico_house.png') left center no-repeat;
}
.menupoint.house.current a,
.menupoint.house:hover a {
    background-position: left bottom;
}
.maingreen .menupoint.house.current a,
.maingreen .menupoint.house:hover a {
    background-position: left top;
}
.menupoint.current .mpwrap > a,
.menupoint:hover .mpwrap > a,
.submenu li.current a,
.submenu li:hover a {
    color: #de4347;
}
.maingreen .menupoint.current .mpwrap > a,
.maingreen .menupoint:hover .mpwrap > a,
.maingreen .submenu li.current a,
.maingreen .submenu li:hover a {
    color: #33aeb0;
}
.current_child {
    background: #fff;
    padding-bottom: 12px;
    position: relative;
    height: 21px;
    font-size: 18px;
    line-height: 21px;
    width: 100%;
    -webkit-transition: opacity 0.2s ease;
    -moz-transition: opacity 0.2s ease;
    -ms-transition: opacity 0.2s ease;
    -o-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
}
.menuline.upped .current_child {
    opacity: 0;
}
/* footer */
footer .topfon {
    position: relative;
    height: 10px;
    background: -moz-linear-gradient(left, #33aeb0 0%, #33aeb0 50%, #de4347 50%);
    background: -webkit-linear-gradient(left, #33aeb0 0%, #33aeb0 50%, #de4347 50%);
    background: linear-gradient(to right, #33aeb0 0%, #33aeb0 50%, #de4347 50%);
}
footer .topfon:after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -60px;
    height: 0;
    width: 0;
    border-left: 120px solid #33aeb0;
    border-bottom: 10px solid #de4347;
}
.mediumfon {
    background: #4d4d4d;
    color: #fff;
}
.subscribeform {
    float: left;
    width: 50%;
    box-sizing: border-box;
    padding: 20px;
}
.subscribeform label {
    display: block;
    line-height: 35px;
}
.subscribeform input {
    display: block;
    float: left;
    width: 180px;
    height: 20px;
    padding: 5px 10px;
    border: none;
    background: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    color: #000;
}
.subscribeform button {
    display: block;
    width: 110px;
    height: 20px;
    padding: 5px 10px;
    border: none;
    background: #ddd;
    font-weight: 300;
    font-size: 12px;
    line-height: 20px;
    color: #000;
}
.bottomsocials,
.subscribeform .short {
    display: none;
}
.sponsorthanks {
    margin: 0 0 0 50%;
    padding: 25px 30px 35px;
    box-sizing: border-box;
    font-weight: 400;
    line-height: 22px;
}
.sponsorthanks span {
    display: block;
}
.sponsorthanks img {
    display: block;
    margin-top: 20px;
}
.credits {
    font-size: 10px;
    font-weight: 300;
    color: #fff;
    position: absolute;
    left: 20px;
    bottom: 20px;
}
.brickhead {
    margin: 15px 0;
    line-height: 22px;
}
.bricks {
    line-height: 0;
    display: table;
    width: 100%;
    height: 100px;
    margin: 15px 0;
}
.bricks > a,
.bricks > span {
    display: table-cell;
    vertical-align: middle;
    height: 100px;
}
/* popup */
#grayscreener {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    background: #4d4d4d;
}
#grayscreener.drowned {
    z-index: -1;
}
#grayscreener .fotorama__stage__frame {
    background: #4d4d4d;
}
#grayscreener .screener-wrapper {
    margin: 0 auto;
    height: 100%;
    display: table;
}
#grayscreener .screener-in {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    position: relative;
    top: 20px;
}
#grayscreener .fotorama-title {
    max-width: 980px;
    margin: 0 64px 0 20px;
    position: absolute;
    left: 0;
    top: 30px;
    font: 300 24px 'Roboto', Arial, sans-serif;
    color: #fff;
    z-index: 11;
}
#bigpopup {
    padding: 20px;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -335px;
    width: 630px;
    background: #fff;
    font-weight: 300;
    font-size: 16px;
    line-height: 19px;
    color: #000;
    z-index: -100;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -ms-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
#bigpopup.showed {
    z-index: 100;
    opacity: 1;
}
.pop-cls {
    float: right;
    position: relative;
    width: 25px;
    height: 25px;
    z-index: 15;
}
#grayscreener .pop-cls {
    position: absolute;
    right: 30px;
    top: 30px;
}
.pop-cls:before,
.pop-cls:after {
    position: absolute;
    top: -4px;
    left: 13px;
    content: '';
    height: 30px;
    width: 1px;
    background-color: #33aeb0;
}
#grayscreener .pop-cls:after,
#grayscreener .pop-cls:before {
    background-color: #fff;
    width: 2px;
}
.pop-cls:before {
    transform: rotate(45deg);
}
.pop-cls:after {
    transform: rotate(-45deg);
}
.pop-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 20px;
    margin: 20px 0;
}
.pop-text {
    text-align: left;
}
.gallery-cd .pop-title {
    color: #de4347;
}
.gallery-cd .pop-short {
    color: #000;
    font-weight: 300;
}
/* mainpage */
.tile-30years {
    width: 940px;
    height: 210px;
    padding: 20px 20px 0;
}
.mainpage {
    position: relative;
    padding: 20px;
}
.mp-unit {
    display: block;
    position: absolute;
    left: 20px;
    height: 460px;
    width: 300px;
    overflow: hidden;
    font-weight: 300;
    font-size: 16px;
    line-height: 50px;
    box-shadow: 2px 2px 4px rgba(81, 78, 78, 0);
    -webkit-transition: box-shadow 0.5s ease;
    -moz-transition: box-shadow 0.5s ease;
    -ms-transition: box-shadow 0.5s ease;
    -o-transition: box-shadow 0.5s ease;
    transition: box-shadow 0.5s ease;
}
.mp-unit:hover {
    box-shadow: 2px 2px 4px rgba(81, 78, 78, .75);
}
.gal-unit:hover {
    box-shadow: 2px 2px 4px rgba(81, 78, 78, .75);
}
.mp-image {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 240px;
    -o-object-fit: contain;
    object-fit: contain;
    margin-left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    transform: translateX(-50%);
}
img.mp-image {
    opacity: 0; /* для дуотона */
}
.mp-descr {
    position: absolute;
    top: 240px;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 15px 25px;
    color: #fff;
}
.mp-date {
    font-size: 20px;
    line-height: 22px;
    margin-bottom: 4px;
}
.mp-name {
    font-weight: 500;
    font-size: 18px;
    line-height: 22px;
    margin-bottom: 4px;
}
.mp-text {
    font-size: 14px;
    line-height: 18px;
}
.mp-time {
    font-size: 16px;
    line-height: 20px;
    margin-top: 4px;
}
.mp-single {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 15px 45px;
    font-size: 24px;
    line-height: 28px;
    font-weight: 500;
    top: 80px;
}
.mp-topangle {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    height: 50px;
    width: 220px;
    box-sizing: border-box;
    padding-left: 25px;
    color: #666;
    text-transform: lowercase;
}
.mp-topangle.long {
    width: 300px;
}
.mp-botangle {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    height: 50px;
    width: 100%;
    box-sizing: border-box;
    text-align: right;
    padding-right: 10px;
    color: #666;
    text-transform: uppercase;
}
.mp-topangle:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    box-sizing: border-box;
    border-top: 50px solid #e9aab0;
    border-right: 120px solid transparent;
    height: 50px;
    width: 100%;
}
.mp-botangle:before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-sizing: border-box;
    border-bottom: 50px solid #e9aab0;
    border-left: 120px solid transparent;
    height: 50px;
    width: 100%;
}
.mp-descr.trans {
    background: transparent;
}
.nobg.mp-descr {
    background: none;
}
/* calendar */
.calendar {
    padding: 20px;
}
.cal-selectline {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    height: 30px;
    z-index: 4;
    padding-top: 5px;
    background: #fff;
}
.cal-selectcell {
    display: flex;
    flex: none;
    width: 50%;
    justify-content: space-around;
    align-items: center;
    background: #de4347;
}
.cal-selectcell + .cal-selectcell {
    background: #33aeb0;
}
.cal-option {
    display: block;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
    color: #000;
    padding: 0 20px;
    width: 100px;
    position: relative;
    text-transform: uppercase;
    text-align: center;
}
.cal-selectcell + .cal-selectcell .cal-option {
    width: 50px;
}
.cal-option a {
    position: absolute;
    top: 0;
    border: 10px solid transparent;
    box-sizing: border-box;
    height: 20px;
    width: 10px;
}
.cal-option .cal-optleft {
    border-left: none;
    border-right-color: #fff;
    left: 0;
}
.cal-option .cal-optright {
    border-right: none;
    border-left-color: #fff;
    right: 0;
}
.cal-option .hidden {
    display: none;
}
.ds-selector {
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    display: block;
    background: #de4347;
    z-index: 3;
}
.cal-selectcell + .cal-selectcell .ds-selector {
    background: #33aeb0;
}
.ds-selector .ds-option {
    position: static;
    display: block;
    padding: 2px 20px;
    height: 24px;
    width: 100%;
    font-weight: 400;
    font-size: 15px;
    line-height: 20px;
    color: #fff;
    text-decoration: none;
    border: none;
}
.ds-selector .ds-option.current,
.ds-selector .ds-option:hover {
    color: #000;
}
.cal-unit {
    padding: 20px;
    background-color: #fff;
    -webkit-transition: background-color 0.5s ease;
    -moz-transition: background-color 0.5s ease;
    -ms-transition: background-color 0.5s ease;
    -o-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease;
}
.cal-unit:hover {
    background-color: #e9e9e9;
}
.cal-unit.open,
.cal-unit.open:hover {
    background: #f3f3f3;
}
.cal-table {
    display: table;
    width: 100%;
}
.cal-left {
    float: left;
    width: 140px;
    min-height: 30px;
    position: relative;
    line-height: 0;
}
.open .cal-left {
    margin-bottom: 60px;
}
.cal-image {
    width: 140px;
}
.cal-city {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    height: 30px;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    padding-left: 30px;
    color: #000;
    font-weight: 400;
    font-size: 15px;
    line-height: 30px;
}
.cal-city:before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-sizing: border-box;
    border-bottom: 30px solid #33aeb0;
    border-left: 30px solid transparent;
    height: 30px;
    width: 100%;
}
.cal-unit-red .cal-city:before {
    border-bottom-color: #de4347;
}
.cal-left .ya-share2 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 145px;
}
.open .cal-left .ya-share2 {
    display: block;
}
.cal-left .ya-share2 li {
    margin: 5px 5px 0 0;
}
.cal-left ul li .ya-share2__badge {
    background-color: #909090;
    border-radius: 5px;
}
.cal-left .ya-share2__item_service_lj .ya-share2__icon {
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M17.815 13.3c.438 2.114.868 4.221 1.306 6.336.037.178-.148.385-.334.311-2.025-.741-4.006-1.49-6.01-2.24a.625.625 0 0 1-.318-.23l-7.39-8.903c-.067-.082-.082-.215-.06-.32.312-1.23.72-2.143 1.752-3.019C7.799 4.36 8.779 4.1 10.047 4.004c.156-.015.223.014.312.133 2.418 2.909 4.837 5.817 7.248 8.725a.888.888 0 0 1 .208.438z' fill='%23FFF'/%3E%3Cpath d='M6.175 8.462c.69-1.795 2.3-3.004 3.835-3.301l-.185-.223a4.242 4.242 0 0 0-3.85 3.272l.2.252z' fill='%23909090'/%3E%3Cpath d='M10.53 5.792c-1.744.326-3.124 1.513-3.851 3.271l.905 1.091c.787-1.78 2.3-2.997 3.836-3.302l-.89-1.06zm2.76 7.827L9.364 8.9a6.119 6.119 0 0 0-1.269 1.87l4.89 5.89c.289-.385.867-2.359.303-3.041zM9.647 8.633l3.947 4.748c.445.542 2.456.327 3.086-.193l-4.756-5.72c-.793.156-1.587.564-2.277 1.165zm7.308 5.045c-.609.46-1.9.735-2.931.527.074.823-.096 1.892-.616 2.745l1.885.712 1.528.564c.223-.378.542-.608.913-.764l-.35-1.692-.43-2.092z' fill='%23909090'/%3E%3C/g%3E%3C/svg%3E");
}
.cal-right {
    margin-left: 160px;
    font-weight: 500;
    font-size: 16px;
    color: #000;
}
.totickets {
    display: block;
    float: right;
    font-weight: 400;
    font-size: 15px;
    line-height: 24px;
    margin-right: 20px;
    margin-left: 10px;
    background: #33aeb0;
    border-radius: 12px;
    padding: 0 6px;
}
.totickets:hover {
    color: white;
}
.cal-date {
    font-size: 24px;
    line-height: 24px;
    color: #de4347;
}
.cal-place {
    font-weight: 400;
    line-height: 20px;
}
.cal-name {
    font-size: 21px;
    line-height: 30px;
    text-transform: uppercase;
}
.cal-type {
    font-weight: 300;
    line-height: 16px;
}
.cal-inprog {
    font-weight: 400;
    margin-top: 20px;
}
.cal-info {
    font-weight: 300;
    line-height: 20px;
    margin-top: 40px;
    display: none;
}
.open .cal-info {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    justify-content: space-between;
}
.cal-info p {
    margin-top: 20px;
}
.cal-column .cal-cell > div:first-child > p,
.text p:first-child {
    margin-top: 0;
}
.cal-header {
    font-weight: 500;
}
.cal-column {
    width: 280px;
    flex: none;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
}
.cal-descr:only-child,
.cal-column:only-child {
    width: 740px;
}
.cal-descr {
    width: 440px;
    flex: none;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
}
.cal-morephoto,
.cal-herephoto {
    flex: none;
    line-height: 0;
}
.cal-column:only-child .cal-cell img {
    max-width: 280px;
}
.cal-cell {
    flex: 1 1 auto;
}
.cal-herephoto + .cal-cell,
.cal-cell + .cal-herephoto {
    margin-top: 20px;
}
.cal-morephoto {
    margin: 20px 0 0 -160px;
}
.cal-info img {
    max-width: 100%;
    height: auto;
}
.cal-loading {
    width: 100%;
    text-align: center;
    font-size: 24px;
    line-height: 40px;
}
.cal-month,
.cal-subheading {
    font-size: 21px;
    line-height: 21px;
    padding: 8px 20px;
    background: #8f8f8f;
    color: #fff;
    font-weight: 300;
}
.cal-subheading {
    background: #de4347;
    display: block;
}
a.cal-subheading:hover {
    text-decoration: underline;
}
.cal-subheading + .cal-month {
    margin-top: 20px;
}
.cal-month-empty {
    height: 0;
}

/* gallery */
.gallery,
.gallery-cd,
.video-gallery {
    position: relative;
    padding: 20px 0 0 20px;
}
.gal-unit {
    display: block;
    float: left;
    position: relative;
    margin: 0 20px 20px 0;
    width: 300px;
    height: 260px;
    cursor: pointer;
    box-shadow: 2px 2px 4px rgba(81, 78, 78, 0);
    -webkit-transition: box-shadow 0.5s ease;
    -moz-transition: box-shadow 0.5s ease;
    -ms-transition: box-shadow 0.5s ease;
    -o-transition: box-shadow 0.5s ease;
    transition: box-shadow 0.5s ease;
}
.gal-unit.gal-cd,
.gal-unit.gal-photo {
    height: 300px;
    transform: rotate(0);
}
.gal-cd img,
.gal-photo img {
    opacity: 0;
}
.gal-unit .duotone:hover {
    opacity: 0;
}
.gal-image {
    width: 300px;
    height: 260px;
}
.gal-sub {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    z-index: 2;
    padding: 15px 10px 5px;
    background: #33aeb0;
    font-weight: 300;
    font-size: 16px;
    line-height: 20px;
    color: #000;
}
.gal-sub:before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
    height: 20px;
    box-sizing: border-box;
    z-index: -1;
    border-left: 300px solid #33aeb0;
    border-top: 20px solid transparent;
}
.gal-photo-sub {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 50px;
    box-sizing: border-box;
    z-index: 2;
    padding: 15px 10px 5px 105px;
    font-weight: 300;
    font-size: 12px;
    line-height: 15px;
    color: #fff;
}
.gal-photo-sub:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    z-index: -1;
    border-right: 140.1px solid #de4347;
    border-top: 50px solid transparent;
}
.gal-photo-sub:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    height: 40px;
    z-index: -1;
    border-left: 160.1px solid #de4347;
    border-top: 10px solid transparent;
}

.gal-unit:nth-child(even) .gal-sub:before {
    border-left: none;
    border-right: 300px solid #33aeb0;
}
.gal-bold {
    font-weight: 400;
}
.gal-info {
    display: none;
}
.ansambl {
    display: table;
}
.quartet {
    display: table;
    width: 640px;
    margin: 20px 300px 0 0;
}
.quartet .gal-sub {
    background: #aad9db;
}
.quartet .gal-sub:before {
    border-left-color: #aad9db;
}
.quartet .gal-unit:nth-child(even) .gal-sub:before {
    border-right-color: #aad9db;
}
.qw-name {
    font-weight: 300;
    font-size: 28px;
    line-height: 30px;
    color: #000;
    margin-top: 20px;
    text-transform: uppercase;
}
/* static page */
.tp-table {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 20px;
    font-size: 16px;
    font-weight: 300;
    margin-top: -20px;
}
.tp-column {
    display: table-cell;
    vertical-align: top;
    width: 50%;
}
.tp-column:only-child {
    display: block;
    width: auto;
}
.tp-image, .autorama img {
    max-width: 100%;
}
.tp-angled {
    position: relative;
    padding-bottom: 24px;
    line-height: 0;
    margin-bottom: 30px;
}
.tp-angled:after {
    content: '';
    position: absolute;
    left: 40px;
    bottom: 0;
    width: 107px;
    height: 37px;
    background: url('/images/threeangle.png') left top no-repeat;
}
.textpage .autorama + p {
    margin-top: 16px;
}
.textpage p,
.tp-column p {
    margin-bottom: 16px;
    text-align: left;
}
.textpage a,
.tp-column a {
    color: #555;
}
.textpage a:hover,
.tp-column a:hover{
    text-decoration: underline;
}
.textpage h2, .textpage h2 a,
.tp-column h2, .tp-column h2 a
{
    font-size: 20px;
    font-weight: 400;
    color: #de4347;
    text-transform: uppercase;
    margin-top: 36px;
    margin-bottom: 12px;
}
.textpage .before-h2,
.tp-column .before-h2 {
    margin-top: 36px;
    margin-bottom: 6px;
}
.textpage .before-h2 + h2,
.tp-column .before-h2 + h2 {
    margin-top: 0;
    margin-bottom: 12px;
}
.textpage h3,
.tp-column h3 {
    font-weight: 500;
}
.textpage .img-full,
.tp-column .img-full {
    margin: 0 auto 16px;
    display: block;
}
.textpage ul,
.textpage ul li,
.tp-column ul,
.tp-column ul li {
    list-style: square inside;
}
.maingreen .textpage h2 {
    color: #33aeb0;
}
.graylink {
    background: #909090;
    padding: 5px 15px;
    color: white;
    font-weight: 400;
}
a.graylink, .graylink a {
    text-decoration: none;
}
.textpage iframe[width] {
    display: block;
    margin: 0 auto;
    max-width: 100%;
}
.textpage iframe:not([width]) {
    width: 100%;
    min-height: 25vh;
    border: none;
}
/* administration */
.rulers {
    margin: 0 14px 0 32px;
}
.rule-list {
    margin: 0;
    display: table;
}
.rule-unit {
    float: left;
    width: 230px;
    height: 270px;
    text-align: center;
    font-weight: 300;
    font-size: 12px;
    line-height: 15px;
    color: #000;
}
.rule-image {
    height: 150px;
    width: 150px;
    display: table;
    margin: 0 auto;
}
.rule-image span {
    height: 150px;
    width: 150px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    line-height: 0;
}
.rule-image img {
    max-height: 150px;
    max-width: 150px;
}
.rule-name {
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    margin-top: 15px;
}
.rule-comment {
    margin-top: 4px;
}
/* partners */
.partners .text {
    font: 16px/22px 'Roboto', Arial, sans-serif;
    margin-left: 20px;
    font-weight: 300;
}
.partner-list {
    margin: 20px;
    text-align: center;
}
.partner-unit {
    display: inline-block;
    width: 150px;
    height: 120px;
    line-height: 0;
    margin: 0;
}
.partner-unit a {
    line-height: 0;
}
.partner-unit span {
    height: 120px;
    width: 150px;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    line-height: 0;
}
.partner-list-flex {
    margin: 20px;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
    align-content: center;
}
.partner-unit-flex {
    margin: 10px 20px;
}
/* press */
.press-list {
    display: table;
}
.press-unit {
    display: block;
    float: left;
    position: relative;
    margin: 0 20px 20px 0;
    width: 300px;
    height: 260px;
    overflow: hidden;
    background-color: #93bebf;
    -webkit-transition: background-color 0.5s ease;
    -moz-transition: background-color 0.5s ease;
    -ms-transition: background-color 0.5s ease;
    -o-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease;
}
.press-unit:hover {
    background-color: #84b4bd;
}
.press-name {
    background: #de4347;
    color: #fff;
    font-size: 18px;
    font-weight: 300;
    text-transform: uppercase;
    line-height: 22px;
    height: 34px;
    padding: 12px 24px 0;
    box-shadow: 0 4px 4px rgba(81, 78, 78, 0);
    -webkit-transition: box-shadow 0.5s ease;
    -moz-transition: box-shadow 0.5s ease;
    -ms-transition: box-shadow 0.5s ease;
    -o-transition: box-shadow 0.5s ease;
    transition: box-shadow 0.5s ease;
}
.press-unit:hover .press-name {
    box-shadow: 0 4px 4px rgba(81, 78, 78, .75);
}
.press-content {
    padding: 12px 24px;
}
.press-content h2 {
    font-size: 18px;
    line-height: 22px;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 12px;
}
.press-content p {
    font-weight: 300;
    margin-bottom: 12px;
}
/* video gallery */
.video-item {
    display: inline-block;
    vertical-align: top;
    margin: 0 20px 40px 0;
    width: 460px;
    font-weight: 300;
    font-size: 18px;
}
.video-item iframe {
    width: 460px;
    height: 259px;
    border: none;
    padding: 0;
    margin: 0;
}
.video-name {
    margin-top: 4px;
    text-transform: uppercase;
    color: #de4347;
    font-weight: 400;
}
/* fotorama popups */
.gal-unit .fotorama-hidden {
    display: none;
}
.fotorama-wrapper {
    position: relative;
}
.download {
    width: 30px;
    height: 30px;
    border-radius: 15px;
    position: absolute;
    top: 20px;
    right: 20px;
    background: #ddd;
}
.download:hover svg {
    fill: #666;
}
/* projects */
.projects {
    padding: 20px;
}
.projects.archive {
    overflow: hidden;
}
.proj-unit {
    margin-bottom: 50px;
    position: relative;
    display: block;
}
.archive .proj-unit {
    float: left;
    width: 450px;
    margin: 0 40px 40px 0;
}
.archive .proj-unit:nth-child(even) {
    margin-right: 0;
}
.proj-unit:hover,
.proj-unit.open {
    background: #e8e8e8;
}
.proj-header {
    background-color: rgba(51, 174, 176, 1);
    color: #fff;
    overflow: hidden;
}
.archive .proj-header {
    position: relative;
    width: 450px;
    height: 300px;
    background-color: transparent;
}
.proj-photo {
    position: relative;
    height: 470px;
    width: 470px;
    overflow: hidden;
    float: left;
}
.archive .proj-photo {
    position: absolute;
    top: 0;
    left: 0;
    height: 300px;
    width: 300px;
    background-color: #999;
}
.proj-photo img {
    opacity: 0;
    height: 470px;
    width: 470px;
}
.archive .proj-photo img {
    height: 300px;
    width: 300px;
}
.proj-photo svg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
}
.duotone {
    -webkit-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -o-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;
    -webkit-transform: rotate(0);
    -moz-transform: rotate(0);
    -ms-transform: rotate(0);
    -o-transform: rotate(0);
    transform: rotate(0);
    opacity: .15;
}

.mp-destkop-gray .duotone-gray,
.mp-tablet-gray .duotone-gray,
.mp-mobile-gray .duotone-gray,
.mp-gray .duotone {
    opacity: 1;
}

.mp-unit:hover .duotone,
.proj-unit:hover .duotone,
.proj-unit.open .duotone {
    opacity: 0;
}
.proj-desc {
    float: right;
    height: 410px;
    width: 410px;
    padding: 30px;
    position: relative;
    transition: background-color 500ms;
    background-color: #60CCCC;
}
.proj-desc:hover {
    background-color: rgba(51, 174, 176, 1);
}
.archive .proj-desc {
    position: absolute;
    top: 0;
    right: 0;
    height: 260px;
    width: 260px;
    padding: 20px;
    background-color: rgba(51, 174, 176, 0.75);
}
.archive .proj-desc:hover {
    background-color: rgba(51, 174, 176, 1);
}
.proj-cell {
    display: table-cell;
    height: 410px;
    width: 410px;
    vertical-align: middle;
    text-align: left;
}
.archive .proj-cell {
    height: 260px;
    width: 260px;
}
.proj-arr {
    display: block;
    position: absolute;
    top: 30px;
    right: 30px;
    width: 27px;
    height: 22px;
}
.proj-desc h2 {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 24px;
    line-height: 24px;
    margin-bottom: 12px;
}
.proj-desc h3 {
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 12px;
}
.proj-short {
    font-weight: 300;
    font-size: 18px;
    line-height: 22px;
}
.proj-short p {
    margin-bottom: 12px;
}
.archive .open .proj-short {
    display: block;
}
.proj-content {
    display: none;
    margin: 30px;
    font-weight: 300;
    font-size: 18px;
}
.proj-unit.open .proj-content {
    display: block;
}
.archive .open .proj-content {
    display: none;
}
.proj-content img {
    max-width: 100%;
}
.proj-content h2 {
    font-weight: 400;
    font-size: 21px;
    color: #de4347;
    margin-top: 30px
}
.proj-content h3 {
    font-weight: 500;
    font-size: 21px;
    margin-bottom: 15px;
    margin-top: 30px
}
.proj-content h2 + h3 {
    margin-top: 0;
}
.proj-group {
    font-size: 24px;
    line-height: 24px;
    padding: 13px 20px;
    background: #8f8f8f;
    color: #fff;
}
/* composers */
.composers {
    padding: 20px;
    font-weight: 300;
    color: #000;
}
.com-top .used,
.com-list .used {
    color: #33aeb0;
}
.com-top {
    height: 30px;
    z-index: 10;
    background: #fff;
}
.com-alpha {
    font-size: 24px;
    line-height: 30px;
    margin-right: 260px;
}
.com-letter {
    margin-right: 3px;
    cursor: pointer;
    font-weight: 400;
}
.com-search {
    float: right;
}
.com-search input {
    display: inline-block;
    vertical-align: top;
    height: 28px;
    width: 200px;
    padding: 0 9px;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    font-size: 14px;
    line-height: 28px;
}
.com-search button {
    display: inline-block;
    vertical-align: top;
    height: 30px;
    width: 30px;
    background: url('/images/srcbtnbig.png') center center no-repeat;
}
.com-field {
    position: relative;
    overflow: hidden;
    margin-top: 10px;
}
.com-list {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 360px;
    overflow: hidden;
}
.com-list .scrolldesk {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -20px;
    overflow-y: scroll;
}
.com-block + .com-block {
    margin-top: 10px;
}
.com-line {
    font-size: 16px;
    line-height: 20px;
    width: 340px;
    padding: 5px 20px 5px 0;
    cursor: pointer;
}
.com-line.used {
    position: relative;
}
.com-line.used:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    height: 0;
    width: 0;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-left: 10px solid #33aeb0;
}
.com-lineinfo {
    display: none;
}
.com-name {
    font-weight: 700;
}
.com-header {
    padding: 0 0 10px;
    font-size: 24px;
    line-height: 30px;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}
.com-info {
    margin-left: 380px;
    padding-top: 40px;
    font-size: 18px;
    line-height: 22px;
    background: #fff;
    min-height: 500px;
}
.com-info p + p {
    margin-top: 16px;
}
.com-zeroblock {
    height: 50px;
}
.com-infoblock {
    position: relative;
    z-index: 1;
    background: #fff;
}
ul.com-works,
ul.com-works li {
    list-style: none;
}
.com-worktitle {
    display: block;
}
.com-annotated .com-worktitle {
    cursor: pointer;
}
.com-annotated .com-worktitle:hover {
    color: #444;
}
.com-workannot {
    display: none;
}
.open .com-workannot {
    display: block;
}
/* releases */
.releases {
    padding: 20px;
}
.rel-block {
    font-size: 18px;
    font-weight: 300;
    line-height: 21px;
    color: #000;
    overflow: hidden;
    margin-bottom: 50px;
}
.rel-image {
    width: 280px;
    float: left;
}
.rel-image + .rel-info {
    margin: 0 0 0 300px;
}
.rel-info p {
    margin-bottom: 10px;
}
.rel-name {
    font-size: 21px;
    line-height: 24px;
    color: #de4347;
    text-transform: uppercase;
}
.rel-subname {
    font-weight: 700;
    margin-bottom: 24px;
}
.rel-pdf {
    display: inline-block;
    height: 30px;
    line-height: 30px;
    padding-left: 40px;
    background: url('/images/download.svg') left center no-repeat;
    text-decoration: none;
}

/* google search override */
.gsc-input {
    background: none !important;
    margin: -3px 0 !important;
    font-family: Roboto, sans-serif !important;
    color: black !important;
}
input.gsc-input::-webkit-input-placeholder {
    color: white !important;
}
input.gsc-input::-ms-input-placeholder {
    color: white !important;
}
input.gsc-input::-moz-placeholder {
    color: white !important;
}
input.gsc-input:-moz-placeholder {
    color: white !important;
}
.gsc-search-button svg {
    display: none;
}
button.gsc-search-button:hover {
    background-color: transparent;
}
.gsib_b {
    display: none;
}

/* image styles for admin editor */
.imgleft {
    float: left;
    margin: 10px 10px 10px 0;
}
.imgright {
    float: right;
    margin: 10px 0 10px 10px;
}
.imgwide {
    width: 100%;
    height: auto;
}

/* biblio */
.book {
    margin: 10px 0;
}

.book p {
    margin: 0 0 4px;
}

.book-comment {
    font-size: 80%;
}

.hidden {
    display: none;
}

.shrink {
    max-height: 60px;
    overflow: hidden;
    position: relative;
}

.shrink::after {
    content: '...';
    font-weight: bold;
    line-height: 12px;
    position: absolute;
    top: 39px;
    left: 0;
    width: 100%;
    background: #fff;
    color: #3563ae;
    cursor: pointer;
    padding-bottom: 12px;
}

.shrink.noshrink {
    max-height: none;
}

.shrink.noshrink::after {
    display: none;
}


.book-tags a,
.pagination a,
.pagination span {
    display: inline-block;
    margin: 0 8px 5px 0;
    line-height: 100%;
    background: #eee;
    padding: 3px 4px;
    border-radius: 4px;
}

.book-tags a:hover,
.pagination a:hover {
    background: #33aeb0;
    transition: 0.4s;
    text-decoration: none;
    color: black;
}

.pagination {
    margin: 16px auto;
    text-align: center;
    max-width: 440px;
}

.pagination span {
    background: #33aeb0;
    color: white;
}

.book-search {
    margin: 4px 0 36px;
    font-size: 16px;
}

.book-search label {
    margin: 4px 0;
}

.input-full {
    display: flex;
    width: 100%;
}

.input-full input[type=text] {
    flex: 1 0 auto;
}

.input-full span {
    margin-right: 8px;
    padding: 4px 6px 4px 0;
    line-height: 20px;
}

.book-search input {
    border: 1px #33aeb0 solid;
    border-radius: 4px;
    padding: 4px 6px;
    font-size: 16px;
}

.book-search input[type=text] {
    border-radius: 4px 0 0 4px;
}

.book-search input[type=submit] {
    background: #33aeb0;
    font-weight: 600;
    border-radius: 0 4px 4px 0;
    color: white;
    cursor: pointer;
}

.topthere-desktop-only {
    display: none;
}


/* only desktop styles */
@media (min-width: 1001px) {
    .mp-unit.thin {
        height: 220px;
    }
    .mp-unit.wide {
        width: 620px;
    }
    .mp-unit.superwide {
        width: 940px;
    }
    .thin .mp-descr {
        top: 0;
        padding-top: 55px;
    }
    .red .mp-descr {
        background: #de4347;
    }
    .green .mp-descr {
        background: #33aeb0;
    }
    .mp-unit.thin .mp-time {
        margin-top: 0;
    }
    .green .mp-topangle:before {
        border-top-color: #b0d2d3;
    }
    .green .mp-botangle:before {
        border-bottom-color: #b0d2d3;
    }
    .mp-desktop-duotone .duotone-gray {
        opacity: 0
    }
    .topthere-mobile-only {
        display: none;
    }
    .topthere-desktop-only {
        display: block;
    }
}
