html {
  position: relative;
  min-height: 100%;
}

body {
  font-family: 'Roboto', sans-serif;
  margin-bottom: 60px;
}

body > .container {
  padding: 0 15px;
}

.footer {
  background-color: #171717;
  bottom: 0;
  color: #FFF;
  position: absolute;
  padding: 15px 0;
  text-transform: uppercase;
  width: 100%;
}

@media (min-width: 1200px) {
  .container {
    width: 970px;
  }
}

.container p {
  margin: 20px 0;
}

.footer > .container {
  padding-right: 15px;
  padding-left: 15px;
}

.logo a {
  background: url('/images/ftkklkWw5KE.png') no-repeat;
  background-size: 100% auto;
  display: table;
  height: 50px;
  margin: auto;
  width: 160px;
  margin-top: -10px;
}

.logo a:active {
  opacity: .9;
}

.navbar-default {
  background: #171717;
  /*background: transparent;*/
  border: none;
  border-radius: 0;
}

.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-nav > li > a:focus {
  color: #D6D6D6;
}

.navbar-default .navbar-nav>li>a:hover {
  color: #F8C202;
}

.navbar-toggle {
  z-index: 1;
}

.navbar-brand > img {
  display: inline-block;
}

.navbar-brand {
  left: 0;
  margin: auto;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 0;
}

.navbar-brand .city {
  color: rgba(255, 255, 255, .5);
  font-size: 14px;
  line-height: 20px;
  margin-left: -20px;
  position: absolute;
}

.navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus .city {
  color: #777;
}

.nav > li > a {
  padding: 10px;
}

.section {
  height: 100% !important;
}

@media (min-width: 970px) {
  .navbar-default {
    /*background: #171717;*/
    /*background: #333;*/
    background: #1F1A17;
    border: none;
  }

  .navbar-brand,
  .navbar-nav li a {
    font-size: 17px;
    font-weight: bold;
    line-height: 150px;
    height: 150px;
    padding-top: 0;
  }

  .logo a {
    height: 80px;
    width: 291px;
    margin-top: 35px;
  }
}

/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */
.btn-yellow-1 {
  background-color: #F8C202;
  border-color: #F8C202;
}
.btn-yellow-1:hover,
.btn-yellow-1:focus,
.btn-yellow-1:active,
.btn-yellow-1.active {
  background-color: #dfae02;
  border-color: #c59a02;
}
.btn-yellow-1.disabled:hover,
.btn-yellow-1.disabled:focus,
.btn-yellow-1.disabled:active,
.btn-yellow-1.disabled.active,
.btn-yellow-1[disabled]:hover,
.btn-yellow-1[disabled]:focus,
.btn-yellow-1[disabled]:active,
.btn-yellow-1[disabled].active,
fieldset[disabled] .btn-yellow-1:hover,
fieldset[disabled] .btn-yellow-1:focus,
fieldset[disabled] .btn-yellow-1:active,
fieldset[disabled] .btn-yellow-1.active {
  background-color: #F8C202;
  border-color: #F8C202;
}

/* ****************************************************************************************************************** */

.btn-dark-gray {
  background-color: #333;
  border-color: #333;
  color: #FFF;
}
.btn-dark-gray:hover,
.btn-dark-gray:focus,
.btn-dark-gray:active,
.btn-dark-gray.active {
  background-color: #262626;
  border-color: #1a1a1a;
  color: #FFF;
}
.btn-dark-gray.disabled:hover,
.btn-dark-gray.disabled:focus,
.btn-dark-gray.disabled:active,
.btn-dark-gray.disabled.active,
.btn-dark-gray[disabled]:hover,
.btn-dark-gray[disabled]:focus,
.btn-dark-gray[disabled]:active,
.btn-dark-gray[disabled].active,
fieldset[disabled] .btn-dark-gray:hover,
fieldset[disabled] .btn-dark-gray:focus,
fieldset[disabled] .btn-dark-gray:active,
fieldset[disabled] .btn-dark-gray.active {
  background-color: #333;
  border-color: #333;
}

/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */

#contacts .socials {
  margin-top: 0;
}

#contacts .socials a {
  color: #333;
  font-size: 40px;
  height: 50px;
  margin-left: 5px;
  margin-right: 5px;
  width: 50px;
}

#contacts .socials a:hover {
  color: #F8C202;
}

@media (min-width: 768px) and (max-width: 992px) {
  .navbar-collapse {
    margin-top: 5px;
  }
}

#quests .quest h3 {
    width: 80%;
  word-break: break-word;
}

@media (max-width: 767px) {
  #quests .quest p {
    font-size: 20px;
  }
  #quests .quest h3 {
    font-size: 60px;
    /*word-break: break-all;*/
  }
}

@media (max-width: 410px) {
  #quests .quest p {
    font-size: 15px;
  }

  #quests .quest h3 {
    font-size: 25px;
  }

  #quests .quest .preview-image {
    min-height: 220px;
    min-width: 220px;
  }
}

#quests .quest {
  color: #FFF;
  margin-bottom: 30px;
  position: relative;
}

#quests .quest a {
  color: #FFF;
}

#quests .quest:not(.under-construction) a:hover h3,
#quests .quest:not(.under-construction) a:hover p {
  color: #F8C202;
}

#quests .quest a:hover .preview-image {
  display: table;
  outline: 7px solid #F8C202;
}

#quests .quest.under-construction h3,
#quests .quest.under-construction p {
  /*opacity: .7;*/
}

#quests .quest.under-construction a:hover .preview-image {
  outline: 7px solid #B9BCBA;
}

#quests .quest.under-construction a:hover {
  cursor: default;
}

#quests .quest .top-block {
  padding: 15px;
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

#quests .quest .top-block .description,
#quests .quest .top-block .more {
  position: inherit;
  bottom: 35px;
}

#quests .quest .top-block .more {
  right: 15px;
}

#quests .quest .bottom-block {
  padding: 10px;
  position: absolute;
  bottom: 0;
}

#quests .quest>a {
  display: table;
  position: relative;
}

#quests .quest .preview-image {
  background: #333;
  max-width: 700px;
  position: relative;
}

#quests .quest .preview-image .overlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .5);
  color: #fff;
  padding: 50%;
}

#quests .quest .preview-image img.img-responsive.col-xs-12 {
  padding: 0;
}

#quests .quest:not(.under-construction)>a:hover .preview-image .overlay {
  display: block;
}

#quests .quest>a:hover,
#quests .quest>a:hover button {
  color: #FFF;
}

#quests .quest:not(.under-construction)>a:hover h3 {
  text-decoration: underline;
}

.description p {
  margin: 0;
}
.description p:first-of-type {
  margin-bottom: 1rem;
}
.description.h p:first-of-type {
  margin-bottom: 0.75rem;
}
.description p:last-of-type {
  margin-top: 1rem;
}

.description .glyphicon,
.description .fa {
  margin-right: 5px;
}

#quests .quest button.more {
  /*display: none;*/
}

#quests .quest>a:hover button.more {
  display: block;
}

#quests .quest.under-construction .preview-image {
  overflow: hidden;
}

#quests .quest.under-construction .preview-image img {
  /*filter: blur(15px);
  -webkit-filter: blur(15px);
  -moz-filter: blur(15px);
  -o-filter: blur(15px);
  -ms-filter: blur(15px);*/
}

#quests .col-sm-5 > img {
  margin-bottom: 20px;
}

.contacts p {
  margin: 10px 0;
}

.contacts p .glyphicon,
.contacts p .fa {
  margin-right: 10px;
}

.footer .socials a {
  color: #FFF;
  font-size: 18px;
}

.footer .socials a:not(:last-child) {
  margin-right: 15px;
}

.footer .socials a:hover {
  color: #F8C202;
}

h1 a i.fa {
  color: #333;
}

/******************************************************/

/* Dates */
.dayofmonth {
  width: 28px;
  font-size: 23px;
  line-height: 23px;
  float: left;
  text-align: right;
  margin-right: 5px;
}

.dayofweek {
  font-size: 12px;
}

.shortdate {
  font-size: 0.70em;
}

.cost {
  font-size: 10px;
}

.time,
.time:focus {
  background: #FFF;
  border: 1px solid #333;
  border-radius: 30px;
  color: #333 !important;
  font-size: 11px;
  padding: 5px;
}

.time:not(.ordered):hover {
  background: #F8C202;
  color: #fff !important;
}

.time.ordered {
  background: #333;
  color: #fff !important;
  cursor: default !important;
}

.time:not(.ordered):active {
  background: #dfae02;
  color: #fff !important;
}

.expensive {
  background: rgba(0, 0, 0, .1);
}

td.not-isset-time>div {
  margin-top: 12px;
}

.admin .time:not(.ordered):hover {
  background: none;
  color: #333 !important;
}

.admin .time.on-checking,
.admin .time.on-checking:hover {
  background: #dfae02;
  color: #fff !important;
}

.admin .time.ordered {
  cursor: pointer !important;
}

table.orders td {
  padding: 8px 0 !important;
}

table.orders td:first-child {
  width: 125px;
}

.price-info {
  display: inline-block;
}

.price-info p {
  display: inline-block;
  margin: 0;
}

.price-info td:nth-child(odd) {
  border: 1px solid #333;
  width: 30px;
  height: 30px;
}

.price-info td {
  padding: 5px;
}

.price-info td.holiday {
  background: rgba(0, 0, 0, .1);
}

.is-new {
  position: absolute;
  top: 0;
  padding: 10px;
  color: red;
  right: 10px;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .table-responsive>.table.orders>thead>tr>th,
  .table-responsive>.table.orders>tbody>tr>th,
  .table-responsive>.table.orders>tfoot>tr>th,
  .table-responsive>.table.orders>thead>tr>td,
  .table-responsive>.table.orders>tbody>tr>td,
  .table-responsive>.table.orders>tfoot>tr>td {
      white-space: normal;
  }
}

/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */
/* ****************************************************************************************************************** */

.modal-dialog {
  display: flex;
  align-items: center;
  min-height: calc(100% - (1.75rem * 2));
  margin: 1.75rem auto;
}
.modal-content {
  width: 100%;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 450px;
  }
}

/* Booking modal */
.modal-content .col-xs-5 .price {
  line-height: 74px;
  margin-top: 5px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
}
.modal-content .col-xs-5 .price #price,
.modal-content .total #total {
  font-size: 3rem;
}
.modal-content .total {
  padding: 1rem 2rem 0;
  text-align: right;
}
@media (min-width: 375px) {
  .modal-content .col-xs-5 .price {
    white-space: normal;
  }
}
@media (min-width: 375px) and (max-width: 414px) {
  .modal-content .col-xs-5,
  .modal-content .col-xs-7 {
    width: 50%;
  }
}

/* Transition */
.navbar-nav li a,
.time,
.footer .socials a {
  transition: .25s;
}

/* Phone links */
a.tel {
  color: inherit;
}
a.tel:hover {
  text-decoration: none;
}
a.tel:focus {
  outline: 0;
  text-decoration: none;
}

/* DaData.ru */
.suggestions-promo {
  display: none !important;
}

/* Header */
.container > .page-header {
  margin: 30px 0 20px;
  padding: 0;
}

.lead {
  margin-bottom: 35px;
}

/* Footer */
.copyright,
.socials {
  line-height: 30px;
}
@media (max-width: 767px) {
  .copyright,
  .socials {
    text-align: center;
  }
}

@media (min-width: 768px) {
  .socials {
    text-align: right;
  }
}

/* Certificate */
.certificate {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .certificate .media-left {
    padding-right: 0;
  }
  .certificate .media-body {
    display: block;
    margin-top: 15px;
  }
}

@media (min-width: 768px) {
  .certificate .media-body {
    vertical-align: middle;
    padding-left: 25px;
  }
}

/* AB-Test */
.btn-lg, .btn-group-lg>.btn,
.time, .time:focus {
  border-radius: 4px;
}
table.orders td:first-child {
  min-width: 145px;
  width: 145px;
}
table.orders td {
  padding: 12px 10px 8px 10px !important;
}
.table-responsive>.table.orders>tbody>tr>td {
  white-space: nowrap !important;
}
.dayofmonth {
  width: auto;
  font-size: 35px;
  line-height: 30px;
}
.admin .time.on-checking, .admin .time.on-checking:hover {
  border-color: #dfae02;
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}

.fb-comments {
  border: 1px solid #ddd;
  margin-top: 10px;
  margin-bottom: 25px;
}