html,
body {
    height: 100%;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -303px;
    padding: 0 0 303px;
}
.home_wrap {
    min-height: 100%;
    height: auto;
    background: url("../img/backgr-head_2.jpg") center no-repeat;
    background-size: cover;
    color: #ffffff;
    padding-top: 9vh;

/*    margin: 0 auto -60px;
    padding: 0 0 60px;*/
}


.home_wrap_sva {
    min-height: 100%;
    height: auto;
    background: url("../img/backgr-head.jpg") center no-repeat;
    background-size: cover;
    color: #ffffff;
    padding-top: 9vh;

/*    margin: 0 auto -60px;
    padding: 0 0 60px;*/
}
.head-info  {
    font-size:18px; ;
    float: right;
}
.home-header-main {
    margin-top: 17vh; text-align: center;
}
.home-header-main .btn { max-width: 350px; font-size: 1.3em; margin: 0 auto; border: 2px solid transparent; transition: all 0.5s; margin-bottom: 8vh; }
.home-header-main .btn:hover { background: rgba(0,0,0,0.3); border: 2px solid #ffffff;}
.home-header-main h1 {
    font-size: 1.7em; margin-bottom: 4vh;
}
.sva-slava {font-size: 6vh; margin: 7.3vh 0 0 0;}
.home-header-links { margin: 4vh auto; padding: 0;}
.home-header-links li { list-style: none; display: inline-block; padding-left: 45px; height: 40px; line-height: 40px;}
.home-header-links li:nth-child(n+2) { margin-left: 5vw;}
.home-header-links li:nth-child(1) {background: url("../img/header-icons.png") 0 0 no-repeat;}
.home-header-links li:nth-child(2) {background: url("../img/header-icons.png") 0 -40px no-repeat;}
.home-header-links li:nth-child(3) {background: url("../img/header-icons.png") 0 -80px no-repeat;}
.home-header-links li a { color: #ffffff; text-decoration: underline; transition: color 0.5s ;}
.home-header-links li a:hover { color: #af3936; text-decoration: none; }
.arrow-down { width: 6vh; height: 6vh; position: absolute; bottom: 1vh; left: 0; right: 0; margin: 0 auto; z-index: 0; cursor: pointer;
animation: 1s ease 0s alternate none infinite running up-to-bottom;}




.wrap > .container {
    padding: 70px 15px 20px;
}

.footer {
    min-height: 303px;
    background-color: #343d47;
    border-top: 1px solid #ddd;
    padding-top: 35px;
    padding-bottom: 15px;
    color:#ffffff;
}
.footer a {  color: #ffffff; text-decoration: none;}
.footer .social { margin: 10px auto; padding: 0;}
.footer .social li { list-style: none; margin-top: 5px; font-size: 18px;}
.footer .social .fa { font-size: 24px; width: 35px; height: 30px; line-height: 30px; background: #cc4e4a; border-radius:5px;
    text-align: center; display: inline-block; vertical-align: middle; margin-right: 10px;
}
.footer .fabig { font-size: 32px; width: 60px; height: 50px; line-height: 50px; background: #cc4e4a; border-radius:10px;
    text-align: center; display: inline-block; vertical-align: middle; margin-right: 10px;}
.footer .fgall { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; margin: 7px 0 0 70px;}
.footer .fgall > div {}
.footer .fgall > div > div:nth-child(2) { margin-top: 15px;}
.footer .links { margin-left: 70px; text-decoration: underline;}
.footer .links a:nth-child(n+2) { margin-left: 15px;}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}


.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.hsep { height: 63px; background: url("../img/hsep.jpg") repeat;}
.festivals > div:nth-child(1) > a { background: url("../img/kolyada.jpg") no-repeat;background-size:cover;}
.festivals > div:nth-child(2) > a { background: url("../img/kupalsiy-venok.jpg") no-repeat;background-size:cover;}
.festivals > div:nth-child(3) > a { background: url("../img/perunova-doblest.jpg") no-repeat;background-size:cover;}
.festivals > div:nth-child(4) > a { background: url("../img/sva-slava-sm.jpg") no-repeat;background-size:cover;}

.festivals > div > a { min-height: 262px; padding-top: 20px; box-sizing: border-box; display: block; color: #ffffff; text-decoration: none;
}
.festivals > div > a > div { text-align: center; font-size:1.3em; }
.festivals > div > a > div b { display: block; margin: 35px auto; font-size: 1.7em; }

.btn-primary,.btn-primary:active,.btn-primary:focus { background: #cc4e4a; border-color: transparent;}
.btn-primary:hover {background: #343d47;}

.navbar { background: #ffffff;}
.navbar a { color:#000000;}
.navbar-brand {height: 70px; }
.navbar-brand img { max-height: 100%;}
.navbar-nav { margin-top:10px;}
.navbar-toggle {background-color: #343d47; margin-top:17px;}
.navbar-toggle .icon-bar { background: #ffffff;}


.countdown {  float: right; text-align: center; font-size: 12px;}
.countdown ul { padding: 0; margin-top: 10px;}
.countdown .chart { display: inline-block; width: 95px; height: 95px; margin: 0 10px; vertical-align: top; position: relative;
  -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding-top: 22px; text-align: center; }
.countdown .chart span { display: block; font-size: 2em; font-weight: normal; }
.countdown .chart canvas { position: absolute; left: 0; top: 0; }
.masters { background: url("../img/masters_bg.jpg") center no-repeat; background-size: cover; color:#ffffff; padding-bottom: 170px;}
.masters h2 { padding-left: 10px; text-align: center; font-size: 36px; margin-bottom: 30px; }
.masters h2:before { content: "!"; display:block; float: left; line-height: 100px; font-size: 120px; margin-right: 15px; font-weight: bold; }
.master { background: #bf4c4c;  text-align: center; padding: 20px; font-size: 14px; }
.mastername { font-size: 24px; font-weight: bold; margin: 20px auto 15px auto;}
.masterclass { margin-top: 15px; text-align: left;}
.masterclass-date { float: right; width: 90px; height: 90px; border-radius: 50%; background: #ffffff; color: #bf4c4c; text-align: center; box-sizing: border-box;
    padding-top: 20px; font-size: 16px; line-height: 20px;
}
.masterclass-date span { font-family:Impact; font-size: 30px;line-height: 30px; font-weight: bold;}

.swiper-container { width: 100%; height: auto; margin-left: auto; margin-right: auto; }
.swiper-slide { text-align: center; font-size: 18px; height: 200px; display: flex; justify-content: center; align-items: center; }
.swiper-holder { position: relative;}
.swiper-button-prev { left: -5vw !important;}.swiper-button-next { right: -5vw !important;}
.swiper-pagination-bullet-active { background: #343d47 !important;}

.welcome { text-align: center; padding-bottom: 15px;}
.welcome_dates { font-size: 36px; font-weight: bold;}
.welcome_socials { display: inline-block; margin: 0; padding: 0;}
.welcome_socials,.welcome_socials a { color:#bf4c4c;}
.welcome_socials li { list-style: none; display: inline-block; margin-left: 10px;}
.welcome_socials .fa { font-size: 20px; display: inline-block; margin-right: 5px; border: 1px solid #bf4c4c; border-radius: 50%; width: 32px; height: 32px;
    line-height: 28px; }
.price-holder { background: #393d47; padding: 30px 0;}
.price-holder .row { display: flex; justify-content: center; align-items: stretch; flex-wrap: wrap;}
.price_plan { min-height: 50px; background: #bf4c4c; color: #ffffff; text-align: center; padding-bottom: 60px; margin: 15px; position: relative; width:22%; border-radius: 3px; }
.price-holder .row .price_plan:last-child { background: #1d7373;}
.price_plan > div:nth-child(1) { background: #f3ffe7; font-size: 18px; font-weight: bold; padding: 20px 0; color:#bf4c4c;
    border-top-left-radius: 3px; border-top-right-radius: 3px;box-shadow: 0 1px 4px -1px rgba(0,0,0,0.5);}
.price_plan > div:nth-child(2) { padding: 15px;}
.price_plan ul { margin: 0; padding: 0;}
.price_plan ul li { list-style: none; padding-left: 35px; position: relative; text-align: left; margin-top: 10px; }
.price_plan ul li:before { display: block; position: absolute; top:0; left: 0; content: ""; width: 25px; height: 29px; background: url("../img/check.png") no-repeat; margin-right: 5px; vertical-align: middle;}
.old-price { margin-bottom: 20px;}
.old-price span { text-decoration: line-through; font-size: 48px;  }
.old-price sup { font-size: 14px; text-decoration: none; top:-25px; margin-left: 5px;}
.new-price { margin-bottom: 20px; font-weight: bold;}
.new-price span { font-size: 60px;  }
.new-price sup { font-size: 24px; text-decoration: none; top:-28px; margin-left: 10px;}
.price_plan .btn { max-width: 80%; text-align: center; font-weight: bold; color: #ffffff; font-size: 10px;
    margin: 0 auto 0 auto; position: absolute; bottom: 15px; left: 0; right: 0;}
.price_plan .btn b { font-size: 18px;}
.place { background: #bf4c4c; padding: 15px 0 35px 0; color:#ffffff; text-align: center;}
.place .row > div {float: none !important; margin: 0 auto; font-size: 16px;}

#map { height: 700px;}

.sponsors { padding: 60px 0 120px 0; background: url("../img/sponsors-bg.jpg") center no-repeat; background-size: cover; color:#ffffff; text-align: center;}
.sponsors h2 { margin-bottom: 120px; }
.sponsors .container > div { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-around; }

.pay { padding-bottom: 30px;}
.pay h2  { padding: 0 15px; }
.pay input[type="radio"] { display: none; }
.pay label:not(.control-label) { width: 100%; display: block; height: 70px; line-height: 70px; text-align: center; background: #bf4c4c; color: #ffffff; cursor: pointer; font-size: 30px;}
.pay .rooms label {line-height: 45px; }
.pay .rooms:nth-child(3) label {line-height: 45px; }
.pay .rooms label span { font-size: 16px; display: block; margin-top: -15px;}
.pay input:checked ~ label { color:#000001; background: #449d44;}
.pay select { width: 80%; display: block; margin: 0 auto;}
.pay h2 { margin-top: 5vh;}
.pay #pay-feeding > div:last-child label,.pay #pay-living > div:last-child label {font-size: 18px;}
.form-group { position: relative;}
.pay .field-pay-count .help-block,.pay .field-pay-orgvznos .help-block { position: absolute; top:-10px; left: 15px;}
.result_price { font-size: 2em;}
.result_price span { font-size: 2em; display: inline-block; margin-left:50px; }
.pay-btn .btn { font-size: 24px; height: 60px;  line-height: 50px; color:#000000; max-width: 65%;  margin: 10px auto 0 auto; }



.navbar-toggle .icon-bar { transition: all 0.5s;}
.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(2) { transform: rotate(-37deg) translate(-7px,11px);transform-origin: 0 0; height: 3px; width: 110%; }
.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(3) { opacity: 0;}
.navbar-toggle[aria-expanded="true"] .icon-bar:nth-child(4) {transform: rotate(37deg) translate(-7px,-13px); transform-origin: 0 0; height: 3px; width: 110%;}
.navbar-toggle[aria-expanded="false"] .icon-bar { transform: none; opacity: 1; height: 2px; width: 22px; }
.dev { text-align: right;}
.dev, .dev a { color: #565656; }
.dev, .copy { padding: 5px 0;}
.dev a { text-decoration: underline;}

@media (min-width: 1200px) and (max-width: 1264px) {
    .swiper-button-prev { left: -2vw !important;} .swiper-button-next { right:-2vw !important;}
}
@media (min-width: 991px) and (max-width: 1043px) {
    .swiper-button-prev { left: -2vw !important;} .swiper-button-next { right:-2vw !important;}
}
@media (min-width: 768px) and (max-width: 797px) {
    .swiper-button-prev { left: -2vw !important;} .swiper-button-next { right:-2vw !important;}
}
@media  (max-width: 767px) {
    .swiper-button-prev { left: 1vw !important;} .swiper-button-next { right:1vw !important;}
    #map { height: 300px;}
    .sponsors { padding: 30px 0 40px 0; }
    .sponsors h2 { margin-bottom: 20px; }
    .place .row > div img { margin-top: 15px;}
    .pay h1 { font-size: 7vw;}
    .pay h2 { font-size: 6vw;}
    .dev,.copy  { text-align: center;}
}


@media(max-width:1200px) {
    .price_plan { width: 40%;}
}
@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
    .home_wrap {padding-top: 1vh;}
    .head-info { float: none; text-align: center; margin-top: 10px; }
    .logo { margin: 0 auto;}
    .home-header-main h1 {
        font-size: 1.3em;
    }
    .home-header-main {margin-top: 2vh;}
    .festivals > div > a { margin-top: 15px;}
    .footer .fgall,.footer .links { margin-left: 0;}
    .countdown { float: none; margin-top: 70px;
/*        transform: scale(0.7) translateY(28px);*/
    }
    .countdown ul {display: table; margin: 0 auto 0 auto;}
    .masters { padding-bottom: 70px;}
    .masters h2 { font-size: 30px;}
    .price_plan { width: 45%;}

}


.gallery { text-align: center; display: flex; flex-direction: row; justify-content: space-between; flex-wrap: wrap;}
.gallery > a { position: relative; display: inline-block;
/*    width: 187px;
    height: 125px;*/
    width: 24%;
    overflow: hidden;
    margin-top: 15px;
}

.gallery > a > img {
    transition: transform 0.15s ease 0s;
    transform: scale3d(1, 1, 1);
   /* width: 100%;*/
}
.gallery > a:hover > img {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
}
.gallery  > a:hover .gallery-poster {
    background-color: rgba(0, 0, 0, 0.5);
}
.gallery  > a .gallery-poster {
    background-color: rgba(0, 0, 0, 0.1);
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.15s ease 0s;
    -o-transition: background-color 0.15s ease 0s;
    transition: background-color 0.15s ease 0s;
}
.gallery  > a .gallery-poster > img {
    left: 50%;
    margin-left: -10px;
    margin-top: -10px;
    opacity: 0;
    position: absolute;
    top: 50%;
    -webkit-transition: opacity 0.3s ease 0s;
    -o-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
}
.gallery > a:hover .gallery-poster > img {
    opacity: 1;
}
.programm { padding: 50px 0;}
.programm > .day-holder { min-height: 400px; border: 1px solid #494848; padding-top: 15px; padding-bottom: 10px; margin-top: 30px; margin-bottom: 15px; }
.programm > .day-holder .row { margin: 15px 0 0 0;}
.programm > .day-holder .day-label { background: #ff3334; text-align: center; padding: 15px 0;}
.programm > .day-holder .day-label > div { color: #ffffff;}
.programm > .day-holder .day-label > div:nth-child(1) { font-size: 1em; border-right: 1px solid rgba(255,255,255,0.3);}
.programm > .day-holder .day-label > div:nth-child(1) span { font-size: 2.5em; display: block;margin-bottom: -0.8em;}
.programm > .day-holder .day-label > div:nth-child(2) { font-size: 1.7em;line-height: 2.6em;}
.programm > .day-holder .day-title { margin-top: 10px;}
.programm > .day-holder .time-holder > div { background: #f0c9ca; float: left; width: 45%; text-align: center;}
.programm > .day-holder .time-holder > div:nth-child(2) { margin-left: 10%;}
.programm > .day-holder .time-alt > div { background: #99a1c4; }

.programm > .day-holder .label-rest,.programm > .day-holder .label-person {  color: #ffffff; padding: 8px; margin-top: -8px; }
.programm > .day-holder .label-rest span,.programm > .day-holder .label-person span { float: right; margin: -4px 5px 0 5px; }
.programm > .day-holder .label-person { background: #bf4c4c;}
.programm > .day-holder .label-rest { background: #7cb9b9; }
.programm blockquote { font-size: 1em;}

@media(max-width:767px) {
    .gallery > a { width: 32%; }

}
@media(max-width:600px) {
    .price_plan { width: 60%;}
}
@media(max-width:500px) {
    .home-header-main h1 {
        font-size: 1.1em;
    }
    .head-info { font-size: 12px;}
    .logo { max-height: 10vh;}
    .sva-slava { margin: 2vh auto 0 auto;}
    .home-header-main .btn { max-width: 80%;}
    .home-header-links { max-width: 70%; text-align: left; margin: 10px auto; }
    .home-header-links li:nth-child(n+2) { margin-left: 0;}
    .masters { padding-bottom: 30px;}
    .masters h2 { font-size: 24px;}
    .price_plan { width: 80%;}
    .gallery > a { width: 100%; }
}

@media (max-width: 768px ){
    .programm > .day-holder .label-rest,.programm > .day-holder .label-person { margin-top: 5px; }
    .pay-btn .btn{   white-space: normal; height: auto;line-height: 40px; line-height: 28px; font-size: 20px  }
}

@media(max-width:360px) {
    .price_plan { width: 100%;}
}

@media (min-width: 768px ) and (max-height: 750px){
    .arrow-down { display: none;}
}
@media (min-width: 320px ) and (max-height: 533px){
    .arrow-down { display: none;}
}

@media (max-height: 569px) {
    .sva-slava,.home-header-main h1 { margin: 0 !important;}
}

@keyframes up-to-bottom{0%{bottom:0}100%{bottom:1.5vh}}
