* {
    margin: 0;
    padding: 0;
}

body {
    font-family: rale, sans-serif;
    font-size: 13px;
    background-image: url("/images/bg.jpg");
}
a {
    text-decoration: none;
    color: #979797;
    text-transform: uppercase;
}
a:hover {color: #2226e9;}
ul {list-style: none;}

@font-face{font-family:rale;src:url(/fonts/Raleway-Light.ttf);}
/*@font-face{font-family:raleMedium;src:url(/fonts/ralewaymedium.ttf);}*/
@font-face {
    font-family: 'fontello';
    src: url('/fonts/fontello/font/fontello.eot?90109167');
    src: url('/fonts/fontello/font/fontello.eot?90109167#iefix') format('embedded-opentype'),
    url('/fonts/fontello/font/fontello.woff2?90109167') format('woff2'),
    url('/fonts/fontello/font/fontello.woff?90109167') format('woff'),
    url('/fonts/fontello/font/fontello.ttf?90109167') format('truetype'),
    url('/fonts/fontello/font/fontello.svg?90109167#fontello') format('svg');
    font-weight: normal;
    font-style: normal;
}

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

}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "fontello";
    font-size: 20px;
    font-style: normal;
    font-weight: normal;
}

.icon-facebook:before { content: '\f09a'; } /* '' */
.icon-mail-alt:before { content: '\f0e0'; } /* '' */
.icon-youtube-play:before { content: '\f16a'; } /* '' */
.icon-instagram:before { content: '\f16d'; } /* '' */

.container {
    overflow: hidden;
    margin: 0 auto;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
    background-color: #fff;
}
.wrap {padding: 0 15px;}
.center {text-align: center;}

.top-line {
    padding: 3px 30px;
    line-height: 24px;
    background-color: #f5f5f5;
    color: #979797;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}
.language-panel {font-size: 17px;}

.logo {
    text-align: center;
    margin-bottom: 30px;
}

.logo a {
    text-transform: uppercase;
    font-weight: 600;
    line-height: 50px;
    font-size: 35px;
    color: #333;
}
.logo a span {
    line-height: 20px;
    font-size: 17px;
}

nav {text-align: center;}
button:focus{ outline-color: #fff; }
.hamburger {
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin-bottom: 30px;
    overflow: visible; }
.hamburger:hover {
    opacity: 0.7; }
.hamburger.is-active:hover {
    opacity: 0.7; }
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {background-color: #000;}

.hamburger-box {
    width: 40px;
    height: 24px;
    display: inline-block;
    position: relative; }

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 40px;
    height: 2px;
    background-color: #000;
    border-radius: 2px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}
.hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block;
}
.hamburger-inner::before {top: -10px;}
.hamburger-inner::after {bottom: -10px;}

.hamburger--squeeze .hamburger-inner {
    transition-duration: 0.075s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {transition: top 0.075s 0.12s ease, opacity 0.075s ease;}
.hamburger--squeeze .hamburger-inner::after {transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);}

.hamburger--squeeze.is-active .hamburger-inner {
    transform: rotate(45deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.mobile-menu-call {
    text-align: center;
    margin-bottom: 30px;
    font-weight: 600;
    font-size: 20px;
}
.nav-menu-mobile {
    display: none;
    margin-bottom: 30px;
}
.nav-menu-mobile li {margin-bottom: 10px;}
.nav-menu-mobile li.active a {color: #2226e9;}
.nav-menu{
    padding: 0 30px;
    display: none;
    justify-content: space-around;
    border: 4px solid #505050;
    margin-bottom: 40px;
}
.nav-menu li a {
    border: 4px solid transparent;
    display: block;
    margin: -4px 0;
    line-height: 56px;
    font-weight: 700;
}
.nav-menu li a:hover, .nav-menu li.active a{
    border-top: 4px solid #2226e9;
    border-bottom: 4px solid #2226e9;
}
.slider {
    display: flex;
    position: relative;
    justify-content: center;
    margin-bottom: 50px;
}
.slider-item{
    transition: opacity 1s ease-in;
    opacity: 0;
}
.slider img {max-width: 100%;}
.slider-dots {
    position: absolute;
    display: flex;
    bottom: 15px;
    text-align: center;
}
.slider .dot {
    cursor: pointer;
    margin: 0 4px;
    width: 10px;
    height: 10px;
    background-color: #fff;
    opacity: 0.3;
}
.slider .slider-dots .dot-active {opacity: 1;}
.fade {
    opacity:0;
    transition:all 0.7s ease-in-out;
    -webkit-transition:all 0.7s ease-in-out;
    -webkit-animation-name: fade;
    animation-name: fade;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
}
@-webkit-keyframes fade {
    0% {opacity: 0.5;}
    23%{opacity: 1;}
    92%{opacity: 1;}
    100%{opacity: 0.1;}
}
@keyframes fade {
    0% {opacity: 0.5;}
    23%{opacity: 1;}
    92%{opacity: 1;}
    100%{opacity: 0.1;}
}

.banner {
    margin-bottom: 50px;
    max-width: 100%;
 }
.banner img{max-width: 100%;}
.title {
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 50px;
    font-size: 35px;
    color: #505050;
}

.portfolio {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-between;
    text-align: center;
}
.portfolio .portfolio-item{
    margin-bottom: 50px;
    position: relative;
    width: 92%;
}
.portfolio .portfolio-item:before{
    content: '';
    position: absolute;
    z-index: 30;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    border: 3px solid #505050;
    opacity: 0;
    transition: opacity .5s ease-in-out;
}
.portfolio .portfolio-item:hover:before {
    opacity: 1;
}
.portfolio .portfolio-item img {
    width: 100%;
    margin-bottom: 25px;
}
.portfolio .portfolio-item .portfolio-name {
    text-transform: uppercase;
    font-weight: 700;
    line-height: 20px;
    font-size: 15px;
    color: #2226e9;
}
.portfolio .portfolio-item .portfolio-desc {
    line-height: 25px;
    padding-bottom: 15px;
}

.about {
    text-align: justify;
    font-size: 18px;
    font-family: rale, sans-serif;
    margin-bottom: 50px;
}
.about p {
    margin-bottom: 15px;
    line-height: 25px;
}


footer {
    color: #9b9b9b;
    overflow: hidden;
    background-color: #f5f5f5;
    text-align: center;
    border-top: 1px solid #484848;
}
.copyright {
    color: #2226e9;
    padding: 20px 0;
}
.social {margin-bottom: 10px;}
.social ul {
    display: flex;
    justify-content: center;
}
.social ul li {margin: 10px}
.social ul li a {line-height: 20px;}


.poster {text-align: center;}
.nav-month {
    text-align: center;
    margin-bottom: 30px;
}
.nav-month-mobile {
    text-transform: uppercase;
    display: none;
}
.nav-month-ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.nav-month ul li {margin: 20px 15px 0;}
.nav-month li.active a {color: #2226e9}
.nav-month a {font-weight: 900;}
.poster-item a {
    color: #505050;
    font-weight: 400;
    display: inline-block;
    margin-bottom: 50px;
    min-width: 51%;
    text-transform: none;
}
.poster-item a:hover {color: #2226e9;}
.poster-item .poster-small{font-size: 18px;}
.poster-item .poster-medium{font-size: 24px; margin-bottom: 15px;}
.poster-item .poster-large{font-size: 32px; margin-bottom: 15px;}

.video {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.video-item {
    margin: 0 auto 15px;
    position: relative;
    width: 49%;
    padding-top: 27.5%;
}
.video-item-37 {
    margin-bottom: 15px;
    position: relative;
    width: 100%;
    padding-top: 37%;
}
.video-item-full {
    margin-bottom: 15px;
    position: relative;
    width: 100%;
    padding-top: 45%;
}
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.rider, .gallery, .repertoire {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.repertoire {
    justify-content: space-between;
    margin-bottom: 40px;
}
.rider-item, .gallery-item {
    margin: auto;
    position: relative;
    text-align: center;
    width: 100%;
    background-color: #f4f4f4;
    margin-bottom: 50px;
}
.rider-item img, .gallery-item img {
    display: block;
    background-color: rgba(0,0,0,0);
    width: 100%;}
.rider-item p, .gallery-item p {
    padding: 37px 0 25px;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 17px;
    border-bottom: 2px solid #ededed;
    transition:all 0.3s ease-in-out;
    -webkit-transition:all 0.3s ease-in-out;
}
.rider-item a, .gallery-item a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hover-img{overflow:hidden;position:relative;background-size:cover;}
.hover-img:before{content:'';position:absolute;left:0;top:0;width:100%;height:100%;transition:all 0.3s ease-in-out;-webkit-transition:all 0.3s ease-in-out;}
.rider-item:hover .hover-img:before, .gallery-item:hover .hover-img:before{background-color:rgba(0,0,0,0.38);}
.rider-item:hover P, .gallery-item:hover P {color: #2226e9; border-color: #2226e9}

@import 'https://cdn.rawgit.com/h-ibaldo/Raleway_Fixed_Numerals/master/css/rawline.css';

.contacts {
    display: flex;
    /*align-items: center;*/
    justify-content: center;
    flex-direction: column;
    margin-bottom: 50px;
}

.contacts-details {
    text-align: center;
    margin-bottom: 50px;
}
.contacts-details-row {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
    font-size: 17px;
    font-family: rawline, sans-serif;
}
.contacts-details-row a {text-transform: none; margin: 0 10px}
.contacts-details-row a img{width: 45px;}

.contact-form{
    text-align: center;
    display: flex;
    margin-bottom: 50px;
    justify-content: center;
    align-items: center;
}
.contact-form input, .contact-form textarea {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 15px;
    color: #8d8d8d;
    background: #f4f4f4;
    border: 0;
    line-height: 20px;
    padding: 12px 20px;
    font-family: rale, sans-serif;
    resize: none;
}

.contact-form input:focus, .contact-form textarea:focus {
    outline: 0;
    border: 0;
    box-shadow: none;

}
.contact-form button {
    padding: 10px 60px;
    border: 0;
    color: #fff;
    background-color: #505050;
    font-family: rale, sans-serif;
    font-size: 16px;
}
.error {
    line-height: 30px;
    font-size: 16px;
    margin-bottom: 14px;
    color: #8d8d8d;;
    font-weight: 300;
}
.success {
    display: none;
    font-size: 20px;
    color: #979797;
    line-height: 36px;
}


.repertoire-menu {
    /*width: 100%;*/
    border-bottom: 1px solid rgba(187, 187, 187, .5);
    margin-bottom: 8px;
}
.repertoire-menu ul {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 8px;
}
.repertoire-menu ul li {
    margin-bottom: 8px;
    width: 50%;
}
.repertoire-menu a {
    font-size: 16px;
    line-height: 19px;
    text-transform: capitalize;
    color: #000000;
    font-weight: 600;
}
.repertoire-menu a:hover {
    color: #2226e9;
}
.repertoire-menu a.active {
    color: #2226e9;
    display: flex;
}
.repertoire-item {
    text-transform: capitalize;
    width: 100%;
    margin: 0;
    font-size: 16px;
}
.repertoire-menu a.active:before {
    content: url("../images/svg/arrow_mobile.svg");
    margin-right: 7px;
    line-height: 17px;
}
.repertoire-list li {
    margin-bottom: 4px;
}
.repertoire-item li span {font-weight: 600}

.repertoire-item-second {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #dddddd;
}

.album-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.album-item {
    position: relative;
    cursor: pointer;
    margin: 10px;
}
.album-item img {
    height: 17vh;
}
.album-item .pad {
    pointer-events: none;
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255,255,255,0.7);
    opacity: 0;

    transition: opacity .5s ease-in-out;

}
.album-item:hover .pad {
    opacity: 1;
}
.album-item p {
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 2px;
    color: rgb(80,80,80);
}
.modal {
    z-index: 2;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
}
.modal img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.close {
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 5px;
    background-color: rgba(0,0,0,0.8);
    position: absolute;
    top: 15px;
    right: 15px;
}
.close:before, .close:after {
    position: absolute;
    border-radius: 25%;
    left: 14px;
    content: ' ';
    height: 25px;
    width: 4px;
    top: 4px;
    background-color: #d2d2d2;
}
.close:before {transform: rotate(45deg)}
.close:after {transform: rotate(-45deg)}
.prev {
    left: 10px;
}
.next {
    right: 10px;
}
.prev,.next {
    cursor: pointer;
    border-radius: 5px;
    width: 35px;
    height: 35px;
    background-color: rgba(0,0,0,0.8);
    position: absolute;
    top: 40%;
}
.prev:before, .prev:after, .next:before, .next:after {
    top: 2px;
    position: absolute;
    left: 15px;
    content: ' ';
    height: 18px;
    width: 4px;
    background-color: #d2d2d2;
    border-radius: 15%;
}
.prev:before, .next:after {transform: rotate(45deg);}
.prev:after, .next:before {transform: rotate(-45deg)}
.prev:after, .next:after{top: 13px}
@media (max-width: 480px) {
    .nav-month-mobile {display: block}
    .nav-month-ul {
        display: none;
        flex-direction: column;
        align-items: center;
    }
    .nav-month ul li {
        margin: 4px 0;
    }
    .video-item {
        width: 100%;
        padding-top: 56.25%;
    }
    
    /*.repertoire-menu {*/
    /*    width: 100%;*/
    /*    margin: 0;*/
    /*    padding: 0;*/
    /*    border-right: none;*/
    /*    border-bottom: 1px solid rgba(187, 187, 187, .5);*/
    /*    margin-bottom: 8px;*/
    /*}*/
    /*.repertoire-menu ul {*/
    /*    display: flex;*/
    /*    flex-wrap: wrap;*/
    /*    padding-bottom: 8px;*/
    /*}*/
    /*.repertoire-menu ul li {*/
    /*    margin-bottom: 8px;*/
    /*    width: 50%;*/
    /*}*/
    /*.repertoire-menu a {*/
    /*    font-size: 16px;*/
    /*    line-height: 18px;*/
    /*}*/
    /*.repertoire-item {*/
    /*    width: 100%;*/
    /*    margin: 0;*/
    /*    font-size: 14px;*/
    /*}*/
    /*.repertoire-menu a.active:before {*/
    /*    content: url("../images/svg/arrow_mobile.svg");*/
    /*}*/
}
@media (min-width: 480px){
    .nav-menu {display: flex;}
    .hamburger {display: none;}
    .wrap {padding: 0 30px;}
    .portfolio {
        flex-flow: row wrap;
        align-items: stretch;
    }
    .portfolio .portfolio-item {width: 46%;}
    .rider-item, .gallery-item{width: 48%}
    .contact-form {width: 80%}
    
}
@media screen and (min-width: 560px) {
    .repertoire-item {
        width: 48%;
        border: none;
        padding-top: 0;
        margin-top: 0;
    }
}
@media screen and (min-width: 768px) {
    .container {width: 750px;}
    .nav-menu {padding: 0 110px;}
    .contacts {flex-direction: row}
    .contact-form, .contacts-details
     
    /*, .repertoire-item*/
    {width: 50%}
    .album-item img {height: 30vh}
    .repertoire {
        justify-content: flex-start;
        align-items: flex-start;
    }
    .repertoire div:last-of-type {
        margin-right: 0;
    }
    
    .repertoire-menu {
        width: auto;
        padding-right: 24px;
        border-right: 1px solid rgba(187, 187, 187, .5);
        margin-right: 17px;
        border-bottom: none;
        margin-bottom: 0;
    }
    .repertoire-menu ul {display: block;}
    .repertoire-menu ul li {
        width: auto;
        margin-bottom: 24px;
    }
    .repertoire-menu li:last-of-type {
        margin-bottom: 0;
    }
    .repertoire-menu a {
        display: flex;
        font-size: 18px;
        line-height: 21px;
    }
    .repertoire-menu a.active:before {
        content: url("../images/svg/arrow.svg");
        font-size: 13px;
        margin-right: 8px;
    }

    .repertoire-item {
        width: calc(48% - 115px);
        font-size: 18px;
        margin-right: 3%;
        /*margin-bottom: 30px;*/
        /*max-width: 246px;*/
    }
}
@media screen and (min-width: 992px) {
    .container {width: 970px;}
    .nav-menu {padding: 0 220px;}
    .portfolio .portfolio-item {width: 23%;}
    .contact-form form {margin-left: 50px;}
    .repertoire-item {
        /*max-width: 360px;*/
        /*margin-right: 8px;*/
    }
}
@media screen and (min-width: 1200px) {
    .container {width: 1170px;}
}