@font-face {
  font-family: CoFo Sans;
  font-style: normal;
  font-weight: 400;
  src: local("CoFoSans-Regular"), local("CoFoSans-Regular"), url("../fonts/CoFoSans-Regular.woff2") format("woff2"), url("../fonts/CoFoSans-Regular.woff") format("woff"), url("../fonts/CoFoSans-Regular.ttf") format("ttf"), url("../fonts/CoFoSans-Regular.eot") format("eot"); }

@font-face {
  font-family: CoFo Sans;
  font-style: normal;
  font-weight: 500;
  src: local("CoFoSans-Medium"), local("CoFoSans-Medium"), url("../fonts/CoFoSans-Medium.woff2") format("woff2"), url("../fonts/CoFoSans-Medium.woff") format("woff"), url("../fonts/CoFoSans-Medium.ttf") format("ttf"), url("../fonts/CoFoSans-Medium.eot") format("eot"); }

* {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
}

body {  
  font: 100%/1.5em;
  font-family: "CoFo Sans", sans-serif;    
  font-color: #444;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  background: #f6f6f7;
}

img {
  border: none;
  max-width: 100%;
}

/*******************************/

.sticky-request {
  position: fixed;
  z-index: 2;
  width: 75px;
  height: 75px;
  right: 50px;
  bottom: 50px;
  background: url(../img/request.png) center center no-repeat;
  background-size: 100% 100%;
}

/*******************************/

.header-wrapper {
  position: fixed;
  width: 100%;
  background: #f6f6f7;
  padding: 20px 0;
  transition: all 0.4s ease;
  z-index: 2;
}

.header-wrapper-compact {
  box-shadow: 0px 3px 6px 0 rgba(50, 50, 50, 0.4);
}

.header {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/*******************************/

.header-menu-control {
  display: none;
  margin-right: 20px;
}

.header-menu-show {
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/menu-show.png) center center no-repeat;
}

.header-menu-hide {
  display: block;
  width: 40px;
  height: 40px;
  background: url(../img/menu-hide.png) center center no-repeat;
  display: none;
}

/*************************/

.header-logo {
  display: inline-block;
  width: 250px;
  height: 90px;
  background: url(../img/logo.svg) center center no-repeat;
  background-size: contain;
  transition: all 0.4s ease;
}

/****************************/

.header-menu-wrapper {
}

.header-menu-top-wrapper {
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
}

.header-menu-top {
  display: flex;
  justify-content: flex-end;
  font-size: 13px;
  height: 44px;
  transition: all 0.4s ease;
}

.header-menu-top-title {
  font-size: 24px;
  color: #59595c;
  padding-left: 15px;
}

.header-menu-top-login {
  text-transform: none;
  color: #59595c;
  text-decoration: none;
  background: url(../img/icon-login.svg) 0% 0% / 20px 20px no-repeat;
  padding-left: 30px;
  padding-right: 15px;
}

.header-menu-top li {
  display: inline-block;
}

.header-menu-top a {
  color: #f0f0f0;
  text-decoration: none;
  display: block;
  padding: 10px 30px;
  width: 25px;
  height: 25px;
  overflow: hidden;
  text-indent: 50px;
  transition: all 0.4s ease;
}

.header-menu-top a:hover {
  color: #fff;
}

.header-wrapper-compact .header-menu-top {
  padding-top: 10px;
}

.header-wrapper-compact .header-menu-top a {
  width: 20px;
  height: 20px;
}

.header-menu-top li:nth-child(1) a {
  background: url(../img/omk.png) center center no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  margin-top: -3px;
}

.header-menu-top li:nth-child(2) a {
  background: url(../img/header-search.png) center center no-repeat;
  background-size: contain;
  margin-left: 30px;
}

/*******************************/

.header-menu-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 18px;
  height: 44px;
}

.header-menu-bottom > li {
  display: inline-block;
}

.header-menu-bottom > li:hover {
  border-bottom: 3px solid #e31910;
}

.header-menu-bottom > li:hover > ul {
  max-height: 100px;
}

.header-menu-bottom > li > a {
  color: #333;
  text-decoration: none;
  display: block;
  padding: 10px 0px;
  margin: 0 15px;
}

.header-menu-bottom ul {
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  background: #fff;
  width: 100%;
  left: 0;
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s ease;
  justify-content: center;
}

.header-menu-bottom ul > li {
  display: inline-block;
  border-bottom: 1px solid #000;
  position: relative;
  top: 2px;
  margin-top: -2px;
}

.header-menu-bottom ul > li > a {
  color: #444;
  text-decoration: none;
  display: block;
  padding: 20px 20px;
  height: 100%;
  display: flex;
  align-items: center;
}

.header-menu-bottom > li:hover > ul a:hover {
  color: #fff;
  background: #e31910;
}

@media (max-width: 1280px) {
  .header-menu-bottom ul > li {
  }
}

@media (max-width: 1024px) {
  .header-menu-bottom ul > li {
  }
}

@media (max-width: 768px) {
  .header-menu-bottom ul > li {
  }
}

@media (max-width: 480px) {
  .header-menu-bottom ul > li {
  }
}

/*******************************/

.header-place {
  height: 44px;
  line-height: 44px;
  font-size: 16px;
  color: #fff;
  padding-left: 60px;
  background: url(../img/main-geo.png) 20px center no-repeat;
  background-size: 18px auto;
}

.header-phone {
  height: 44px;
  border-top: 2px solid #b8b9ba;
}

.header-phone a {
  display: block;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  padding: 5px 10px;
}

@media (max-width: 1280px) {
  .header {
    padding: 0px 20px;
  }
  .header-menu-bottom {
    font-size: 14px;
  }
  .header-menu-bottom > li > a {
  }
}

@media (max-width: 1024px) {
  .header-wrapper {
    padding: 0;
  }
  .header-menu-control {
    display: inline-block;
  }
  .header-menu-wrapper {
    position: absolute;
    left: -100%;
    top: 130px;
    width: 100%;
    z-index: 3;
    box-shadow: 2px 2px 4px rgba(50, 50, 50, 0.3);
    background: #fff;
    padding: 30px 20px;
  }
  .header-menu-bottom {
    flex-wrap: wrap;
    height: auto;
    font-size: 16px;
  }
  .header-menu-bottom ul {
    display: none;
  }
  .header-menu-bottom > li {
    display: block;
    width: 100%;
  }
  .header-menu-bottom > li > a {
    padding: 10px 30px;
  }
  .header-menu-top-title {
    font-size: 20px;
    padding-left: 0px;
  }
}

@media (max-width: 768px) {
  .header-wrapper {
    padding: 10px 0;
  }
  .header-logo {
    width: 150px;
    height: 60px;
  }
  .header-wrapper-compact .header-logo {
    height: 60px;
  }
  .header-place {
    font-size: 12px;
    padding-left: 30px;
    background-position: 0px center;
  }
  .header-phone a {
    font-size: 16px;
    padding: 5px 0;
  }
}

@media (max-width: 480px) {
  .header-wrapper {
    padding: 0px 0;
  }
  .header {
    padding: 0px 10px;
  }
  .header-phone a {
    font-size: 13px;
  }
}

/********************************/

.main-wrapper {
  width: 100%;
  height: 100vh;
  /*background: url(../img/main-img.jpg) top center no-repeat;*/
  background-size: 100% auto;
  overflow: hidden;
  position: relative;
}

.main-video {
  position: absolute;
}

.main {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
  padding-top: 210px;
  position: relative;
}

.main-count {
  color: #fff;
  background: #e31910;
  padding: 10px 30px 30px 30px;
  display: inline-block;
  font-size: 28px;
  line-height: 1.1;
  display: none;
}

.main-count span {
  display: block;
  font-size: 130px;
  line-height: 1;
  text-align: center;
}

.main-subtitle {
  display: inline-block;
  margin-left: 0px;
  margin-top: 150px;
  color: #fff;
  padding: 25px 40px 25px 40px;
  background: rgba(0, 0, 0, 0.5) 30px center no-repeat;
  border-radius: 5px;
  font-size: 20px;
  text-decoration: none;
}

.main-submenu {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
}

.main-submenu a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  padding: 25px 40px 25px 90px;
  background: rgba(0, 0, 0, 0.5) 30px center no-repeat;
  border-radius: 5px;
  transition: all 0.3s ease;
}

.main-submenu a:nth-child(1) {
  background-image: url(../img/main-geo.png);
  background-size: 30px auto;
}
.main-submenu a:nth-child(2) {
  background-image: url(../img/main-calc.png);
  background-size: 30px auto;
}
.main-submenu a:nth-child(3) {
  background-image: url(../img/main-parts.png);
  background-size: 35px auto;
}

.main-submenu a:hover {
  transform: scale(1.1);
}

.main-arrow {
  display: block;
  /*margin: 200px auto 0 auto;*/
  position: absolute;
  left: calc(50% - 25px);
  bottom: 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #fff url(../img/arrow-down-red.png) center 18px no-repeat;
  background-size: 30px auto;
  z-index: 1;
}

@media (max-width: 1024px) {
  .main-wrapper {
    height: 630px;
    background: url(../img/main-img.jpg) no-repeat;
    background-size: 100% 100%;
  }
  .main-subtitle {
    margin-top: 10px;
  }
  .main-submenu {
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .main-submenu a {
    width: 100%;
    margin-bottom: 15px;
  }
}

@media (max-width: 768px) {
  .main-wrapper {
    height: 300px;
    background-size: 100% 100%;
  }
  .main {
    padding-top: 160px;
  }
}

/****************************/

.slideshow {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}

.slideshow-slides {
  z-index: 1;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.slideshow-slides li {
  display: block;
  position: absolute;
  opacity: 0;
  -webkit-transition: all 1s ease;
  -moz-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: opacity 0.5s ease;
  width: 100%;
  height: 100%;
  background-size: 130% auto;
  background-position: bottom left;
  transition: background-size 8s linear, transform 8s ease, opacity 0.5s ease;
  z-index: 1;
}

#slide-7 {
  background-position: top right;
}

#slide-2 {
  background-position: top right;
}

.slideshow-slides li.active {
  opacity: 1;
  /*background-size: 140% auto;  */
  transform: scale(1.05);
  z-index: 2;
}

.slideshow-slides li > div {
  display: block;
  color: #fff;
  margin: 300px 200px 0 200px;
  z-index: 2;
  position: relative;
  transition: background-size 8s linear, transform 8s ease, opacity 0.5s ease;
}

.slideshow-slides li.active > div {
  transform: scale(0.95);
}

.slider-text {
}

.slider-inline {
  padding: 5px 10px 5px 10px;
  background: rgba(128, 128, 128, 0.5) 30px center no-repeat;
  line-height: 1.1;
  display: inline-block;
}

.slideshow-selector {
  text-align: right;
  position: absolute;
  z-index: 2;
  margin-left: 50px;
  bottom: 50px;
  z-index: 3;
}

.slideshow-selector a {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 15px;
  border-radius: 50%;
  border: 2px solid #fff;
}

.slideshow-selector a.active, .slideshow-selector a:hover {
  background: #e31910;
}


.slideshow-prev {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50px;
  background: url(../img/arrow-left-white.png) center center no-repeat;
  background-size: auto 50px;
  z-index: 2;
}

.slideshow-next {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  right: 50px;
  background: url(../img/arrow-right-white.png) center center no-repeat;
  background-size: auto 50px;
  z-index: 2;
}

.slider-params {
  display: flex;
  justify-content: space-around;
  font-size: 20px;
  align-items: flex-end;
}

.slider-params > div {

}

.slider-params > div > span {
  display: block;
  margin-top: 20px;
}

.slider-params > div > span > span {
  font-size: 60px;
  display: inline-block;
  margin-right: 10px;
}

.slides-reports {
  padding: 25px 40px 25px 90px;
  background: rgba(0, 0, 0, 0.5) url(../img/slides-reports.png) 30px center no-repeat;
  background-size: auto 30px;
  line-height: 1.1;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  transition: all 0.3s ease;
}

.slides-reports:hover {
  transform: scale(1.1);
}

.slides-video {
  padding: 25px 40px 25px 90px;
  background: rgba(0, 0, 0, 0.5) url(../img/slides-video.png) 30px center no-repeat;
  background-size: auto 30px;
  line-height: 1.1;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  margin-left: 100px;
  transition: all 0.3s ease;
}

.slides-video:hover {
  transform: scale(1.1);
}

@media (max-width: 1024px) {
  .slideshow {
    display: none;
  }
}

/*****************************/

.services-wrapper {
  margin-top: 70px;
}

.services {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.services-item {
  width: 25%;
  margin-bottom: 30px;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
  padding: 120px 70px 20px 70px;
  transition: all 0.3s ease;
  text-decoration: none;
  color: #eb1f27;
  font-weight: bold;
  text-transform: uppercase;
}

.services .services-item:last-child {
  margin-right: auto;
}

#services-item-25 {
  background-image: url(../img/services-1.png);
  background-position: center 40px;
  background-repeat: no-repeat;
  background-size: 100px auto;
}
#services-item-28 {
  background-image: url(../img/services-4.png);
  background-position: center 30px;
  background-repeat: no-repeat;
  background-size: 70px auto;
}
#services-item-29 {
  background-image: url(../img/services-5.png);
  background-position: center 30px;
  background-repeat: no-repeat;
  background-size: 100px auto;
}
#services-item-31 {
  background-image: url(../img/services-2.png);
  background-position: center 50px;
  background-repeat: no-repeat;
  background-size: 80px auto;
}
#services-item-33 {
  background-image: url(../img/services-7.png);
  background-position: center 20px;
  background-repeat: no-repeat;
  background-size: 80px auto;
}
#services-item-34 {
  background-image: url(../img/services-6.png);
  background-position: center 30px;
  background-repeat: no-repeat;
  background-size: 100px auto;
}
#services-item-36 {
  background-image: url(../img/services-3.png);
  background-position: center 20px;
  background-repeat: no-repeat;
  background-size: 60px auto;
}
#services-item-101 {
  background-image: url(../img/services-8.png);
  background-position: center 30px;
  background-repeat: no-repeat;
  background-size: 80px auto;
}
#services-item-136 {
  background-image: url(../img/services-13.png);
  background-position: center 30px;
  background-repeat: no-repeat;
  background-size: 80px auto;
}
.services .services-item:hover {
  background-color: #fef4f2;
  box-shadow: 2px 2px 4px 0 rgba(50, 50, 50, 0.2);
}

.services .services-item.services-item-hidden {
  height: 0;
  overflow: hidden;
  padding: 0;
}

.services-all {
  text-align: center;
  background: url(../img/shadow.png) center bottom no-repeat;
  background-size: 200px 20px;
  padding-bottom: 20px;
  margin-top: -40px;
}

.services-all a, .content a.request {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  background: #e31910;
  padding: 10px 40px;
  outline: 1px dashed #000;
  font-size: 20px;
}

@media (max-width: 1024px) {
  .services-item {
    width: 33.33%;
  }
}

@media (max-width: 768px) {
  .services-item {
    width: 50%;
  }
}

@media (max-width: 480px) {
  .services-item {
    width: 100%;
  }
}

/**************************/

.content-wrapper {
  margin-top: 150px;
  padding-bottom: 50px;
}

.index-content-wrapper {
  margin-top: 50px;
}

.content {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
  padding-bottom: 50px;
  font-size: 18px;
  line-height: 1.5;
}

.index-content-wrapper .content {
  max-width: 1000px;
}

.content h1 {
  color: #e31910;
  font-size: 200%;
  font-weight: normal;
  margin-bottom: 50px;
  line-height: 1;
}

.content h2 {
  color: #e31910;
  font-size: 150%;
  font-weight: normal;
  margin-bottom: 30px;
  line-height: 1;
}

.content h3 {
  color: #e31910;
  font-size: 125%;
  font-weight: normal;
  margin-bottom: 10px;
  line-height: 1;
}

.content a {
  color: #e31910;
}

@media (max-width: 1280px) {
  .content {
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  .content-wrapper {
    margin-top: 100px;
  }
}

@media (max-width: 768px) {
  .content-wrapper {
    margin-top: 80px;
  }
  .content {
    padding: 0 10px;
  }
}

@media (max-width: 480px) {
  .content-wrapper {
  }
}

/*****************************/

.breadcrumbs {
  margin-bottom: 20px;
  color: #444;
  font-size: 16px;
}

.breadcrumbs a {
  color: #444;
  text-decoration: none;
}

.breadcrumbs span {
  color: #444;
}

/*****************************/

.perks-wrapper {
  margin-top: 50px;
}

.perks {
  max-width: 1000px;
  min-width: 300px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.perks-item {
  width: 33%;
  font-size: 20px;
  line-height: 1.2;
  text-align: center;
}

.perks-item > div {
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 200px;
  line-height: 200px;
  text-align: center;
  margin-bottom: 30px;
  color: #fff;
  background: #e31910;
  border-radius: 50%;
  font-size: 60px;
}

@media (max-width: 1024px) {
  .perks-item {
    width: 50%;
    margin-bottom: 50px;
  }
}

@media (max-width: 768px) {
  .perks-item {
    width: 100%;
  }
}

/******************************/

.fixedbg-wrapper {
  margin-top: 50px;
  display: flex;
}

.fixedbg-repair .fixedbg-1 {
  background: url(../img/repair-1.jpg) left center no-repeat fixed;
  width: 100%;
  height: 700px;
}
.fixedbg-repair .fixedbg-2 {
  background: url(../img/repair-2.jpg) right center no-repeat fixed;
  width: 100%;
  height: 700px;
}

.fixedbg-paint .fixedbg-1 {
  background: url(../img/paint-1.jpg) left center no-repeat fixed;
  width: 100%;
  height: 500px;
}
.fixedbg-paint .fixedbg-2 {
  background: url(../img/paint-2.jpg) right center  no-repeat fixed;
  width: 100%;
  height: 500px;
}

.fixedbg-text {
  background: rgba(0, 0, 0, 0.5);
  padding: 40px 80px;
  font-size: 30px;
  line-height: 1;
  color: #fff;
  display: inline-block;
  position: absolute;
  left: 50%;
  transform: translateX(-120%);
}

.fixedbg-text span {
  display: block;
  font-size: 70px;
  line-height: 1;
  margin-bottom: 10px;
}

@media (max-width: 1024px) {
  .fixedbg-text {
    transform: translateX(-100%);
  }
}

@media (max-width: 768px) {
  .fixedbg-wrapper {
    flex-wrap: wrap;
  }
  .fixedbg-text {
    transform: translateX(-50%);
  }
}

/*****************************/

.index-news-wrapper {
  margin-top: 70px;
}

.index-news {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
}

.index-news-title {
  display: block;
  padding-bottom: 30px;
  background: url(../img/shadow.png) left bottom no-repeat;
  background-size: 120px 10px;
  color: #e31910;
  font-size: 30px;
  text-decoration: none;
}

.index-news-scroller-wrapper {
  display: flex;
  margin-top: 30px;
}

.index-news-left {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-left.png) center center no-repeat;
  background-size: 20px auto;
}

.index-news-right {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-right.png) center center no-repeat;
  background-size: 20px auto;
}

.index-news-scroller {
  display: flex;
  overflow: hidden;
}

.index-news-item {
  width: 33.33%;
  flex-shrink: 0;
  padding: 0 30px;
}

.index-news-item-date {
  font-size: 20px;
  color: #e31910;
  display: block;
  margin-bottom: 10px;
}

.index-news-item a {
  text-decoration: none;
  color: #5a4942;
  font-size: 16px;
  line-height: 1;
}

@media (max-width: 1280px) {
  .index-news-wrapper {
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  .index-news-wrapper {
    padding: 0 10px;
  }
  .index-news-item {
    width: 50%;
  }
}

@media (max-width: 768px) {
  .index-news-item {
    width: 100%;
  }
}

/****************************/

.map-wrapper {
  margin-top: 70px;
  padding: 0 10px;
}

.map {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
}

.map-title {
  color: #e31910;
  font-size: 24px;
  text-align: center;
}

.map-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
  background: url(../img/shadow.png) left bottom no-repeat;
  background-size: 100% 10px;
  padding-bottom: 20px;
}

.map-legend-office {
  background: url(../img/map-office.png) left center no-repeat;
  background-size: auto 20px;
  padding-left: 30px;
}

.map-legend-shop {
  background: url(../img/map-shop.png) left center no-repeat;
  background-size: auto 20px;
  margin-left: 100px;
  padding-left: 30px;
}

.map-filter {
  margin-top: 20px;
}

.map-filter form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.map-filter form > div {
  margin: 0 20px 20px;
  overflow: hidden;
}

.map-filter form select {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1;
  max-width: 100%;
}

.map-filter form input {
  padding: 6px 30px;
  color: #fff;
  background: #e31910;
  border: 1px solid #e31910;
  font-size: 14px;
  line-height: 1;
}

.map-list {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
}

.map-list a {
  display: inline-block;
  color: #e31910;
  width: 30%;
  margin: 0 20px;
}

.map-reset {
  display: inline-block;
  padding: 6px 30px;
  color: #444;
  border: 1px dotted #444;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
}

@media (max-width: 768px) {
  .map-legend {
    justify-content: flex-start;
  }
  .map-legend-office {
    width: 100%;
    margin-bottom: 15px;
  }
  .map-legend-shop {
    width: 100%;
    margin-left: 0px;
  }
  .map-filter form {
    justify-content: flex-start;
  }
  .map-filter form > div {
    width: 100%;
    margin-bottom: 15px;
  }
}

/*****************************/

.clients-wrapper {
  margin-top: 100px;
  margin-bottom: 100px;
}

.clients {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
}

.clients-title {
  display: block;
  padding-bottom: 30px;
  background: url(../img/shadow.png) left bottom no-repeat;
  background-size: 379px 10px;
  color: #e31910;
  font-size: 30px;
  text-decoration: none;
}

.clients-scroller-wrapper {
  display: flex;
  margin-top: 30px;
}

.clients-left {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-left.png) center center no-repeat;
  background-size: 20px auto;
}

.clients-right {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-right.png) center center no-repeat;
  background-size: 20px auto;
}

.clients-scroller {
  display: flex;
  overflow: hidden;
  width: 100%;
}

.clients-item {
  width: 25%;
  flex-shrink: 0;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.clients-item-image {
  display: flex;
  align-items: center;
}

.clients-item-title {
  font-size: 18px;
  color: #e31910;
  display: block;
}

.clients-item a {
  text-decoration: none;
  color: #e31910;
  line-height: 1.3;
}

.page-reviews {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.page-reviews-item {
  width: calc(25% - 60px);
  margin: 0 30px 50px 30px;
}

.page-reviews-item a {
  display: block;
  align-items: center;
  justify-content: center;
}

.page-reviews-item img {
  display: block;
  margin: 0 auto;
}

@media (max-width: 1280px) {
  .clients-wrapper {
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  .clients-wrapper {
    padding: 0 10px;
  }
  .clients-item {
    width: 50%;
  }
  .page-reviews-item {
    width: calc(33.33% - 40px);
  }
}

@media (max-width: 768px) {
  .clients-item {
    width: 100%;
  }
  .page-reviews-item {
    width: calc(50% - 40px);
  }
}

@media (max-width: 480px) {
  .page-reviews-item {
    width: 100%;
  }
}

/*****************************/

.objects-wrapper {
  margin-top: 100px;
}

.objects {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
}

.objects-title {
  display: block;
  padding-bottom: 20px;
  background: url(../img/shadow.png) left bottom no-repeat;
  background-size: 605px 10px;
  color: #e31910;
  font-size: 30px;
  text-decoration: none;
}

.objects-scroller-wrapper {
  display: flex;
  margin-top: 30px;
}

.objects-left {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-left.png) center center no-repeat;
  background-size: 20px auto;
}

.objects-right {
  width: 30px;
  flex-shrink: 0;
  background: url(../img/arrow-right.png) center center no-repeat;
  background-size: 20px auto;
}

.objects-scroller {
  display: flex;
  overflow: hidden;
  width: 100%;
}

.objects-item {
  width: 33.33%;
  flex-shrink: 0;
  padding: 0 30px;
}

.objects-item-image {
  width: 100%;
  margin-bottom: 5px;
}

.objects-item a {
  text-decoration: none;
  color: #000;
  line-height: 1.3;
  padding-left: 40px;
  display: block;
}

@media (max-width: 1280px) {
  .objects-wrapper {
    padding: 0 20px;
  }
}

@media (max-width: 1024px) {
  .objects-wrapper {
    padding: 0 10px;
  }
  .objects-item {
    width: 50%;
  }
}

@media (max-width: 768px) {
  .objects-item {
    width: 100%;
  }
}

.page-objects {
  display: flex;
  flex-wrap: wrap;
}

.page-objects-item {
  width: calc(33.33% - 40px);
  margin: 0 20px 40px 20px;
}

.page-objects-item:last-child {
}

.page-objects-item > a:first-child  {
  margin-bottom: 10px;
  display: block;
}

.page-objects-item img {
  display: block;
}

.page-objects-item > a:last-child {
  color: #000;
  text-decoration: none;
  display: block;
}

.page-objects-type-1 {
  position: absolute;
  margin-top: 20px;
  color: #fff;
  padding: 5px 30px;
  background-color: #ca2f34;
}

.page-objects-type-2 {
  position: absolute;
  margin-top: 20px;
  color: #fff;
  padding: 5px 30px;
  background-color: #3c2417;
}

.page-objects-item-type-1 {
  display: block;
  margin-bottom: 20px;
  color: #fff;
  padding: 5px 30px;
  background-color: #ca2f34;
  text-align: center;
}

.page-objects-item-type-2 {
  display: block;
  margin-bottom: 20px;
  color: #fff;
  padding: 5px 30px;
  background-color: #3c2417;
  text-align: center;
}

.page-objects-wrapper {
  display: flex;
}

.page-objects-images {
  width: 45%;
  margin-right: 50px;
  flex-shrink: 0;
}

.page-objects-text {
}

@media (max-width: 1024px) {
  .page-objects-item {
    width: calc(50% - 40px);
  }
}

@media (max-width: 768px) {
  .page-objects-item {
    width: 100%;
  }
}

/******************************/

.structure {
  padding-left: 50px;
  border-left: 1px solid #e31910;
  background: url(../img/strurture-arrow-right.png),
              url(../img/strurture-arrow-right.png),
              url(../img/strurture-arrow-right.png),
              url(../img/strurture-arrow-right.png),
              url(../img/strurture-arrow-right.png),
              url(../img/strurture-arrow-right.png);
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: 50px auto, 50px auto, 50px auto, 50px auto, 50px auto, 50px auto;
  background-position: 0px 145px, 0px 450px, 0px 725px, 0px 960px, 0px 1135px, 0px 1360px;
}

.structure::before {
  content: '';
  display: block;
  background: #fff;
  position: absolute;
  border-bottom: 1px solid #e31910;
  width: 51px;
  margin-left: -51px;
  height: 40px;
}

.structure > li {
  display: block;
}

.structure > li > a {
  display: block;
  border: 1px solid #fbd0be;
  background: #ffeee7;
  padding: 25px 30px;
  text-decoration: none;
  box-shadow: 2px 0px 4px 0 rgba(50, 50, 50, 0.2);
}

.structure > li > a > span {
  color: #fff;
  background: #e31910;
  display: block;
  text-align: center;
  padding: 5px 0;
}

.structure > li > ul > li {
  display: block;
  margin-top: 30px;
  background: url(../img/strurture-arrow-down.png) center 66px no-repeat;
  background-size: auto 70px;
}

.structure > li > ul > li > a {
  display: block;
  border: 1px solid #fbd0be;
  background: #ffeee7;
  padding: 20px 30px;
  text-decoration: none;
  text-align: center;
  box-shadow: 2px 0px 4px 0 rgba(50, 50, 50, 0.2);
  transition: all 0.4s ease;
}

.structure > li > ul > li > a:hover {
  border: 1px solid #bf2728;
  background: #ffcfbd;
}

.structure > li > ul > li > ul {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: stretch;
  align-items: stretch;
  border-left: 2px solid #e31910;
}

.structure > li > ul > li > ul > li {
  display: inline-block;
  width: 21%;
  margin: 0 15px 15px 15px;
}

.structure > li > ul > li > ul > li > a {
  display: block;
  border: 1px solid #ffe8dc;
  background: #fff4ed;
  color: #000;
  padding: 20px 30px;
  text-decoration: none;
  text-align: center;
  transition: all 0.4s ease;
}

.structure > li > ul > li > ul > li > a:hover {
  border: 1px solid #c63a44;
  background: #ffdfcc;
  box-shadow: 2px 0px 4px 0 rgba(50, 50, 50, 0.2);
}

@media (max-width: 1024px) {
  .structure > li > ul > li > ul > li {
    width: 28%;
  }
}

@media (max-width: 768px) {
  .structure > li > ul > li > ul > li {
    width: 41%;
  }
}

@media (max-width: 480px) {
  .structure > li > ul > li > ul > li {
    width: 100%;
  }
}

/********************************/

.content select {
  padding: 5px;
  color: #444;
  font: inherit;
}

.content input[type="text"], .content input[type="search"], .content input[type="password"], .content input[type="email"], .content input[type="tel"] {
  padding: 5px;
  color: #444;
  font: inherit;
  border: 1px solid #ddd;
}

.content input[type="button"], .content input[type="submit"], .button {
  color: #fff !important;
  background: #e31910;
  padding: 10px 30px;
  font: inherit;
  border: none;
  cursor: pointer;
  border-radius: 10px;
  text-decoration: none;
}

label {
  display: inline-block;
  margin-bottom: 5px;
}

.calc-title {
  margin-top: 30px;
  padding-top: 15px;
  border-top: 1px dashed #acacac;
  font-size: 24px;
  color: #444;
}

.calc-subtitle {
  margin-top: 15px;
  font-size: 20px;
  color: #444;
}

.calc-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 15px;
}

.calc-items > div {
  margin-bottom: 15px;
  width: 48%;
}

.calc-items-4 > div {
  width: 23%;
}

.calc-items select {
  width: 100%;
}

.calc-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin-top: 30px;
}

.calc-controls > * {
  margin-left: 30px;
}

#stage2, #stage3, #stage4, #stage5 {
  max-height: 0;
  overflow: hidden;
  transition: all 0.5s ease;
}

#stage3-button, #stage4-button {
  display: none;
}

.stage-price {
  text-align: right;
  display: none;
}

.stage-price span {
  color: #e31910;
  font-size: 24px;
}

.stage5-price {
  margin-top: 30px;
  padding-top: 15px;
  border-top: 1px dashed #acacac;
}

#stage1-price-input, #stage2-price-input, #stage3-price-input, #stage4-price-input, #stage5-price-input {
  display: none;
}

#stage5 > div {
  margin-bottom: 20px;
}

/*******************************/

.branch-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-top: 50px;
}

.branch-info-address {
  width: 20%;
  padding-top: 90px;
  background: url(../img/icon-address.png) center 0px no-repeat;
  background-size: auto 60px;
  text-align: center;
}
.branch-info-railroad {
  width: 20%;
  padding-top: 90px;
  background: url(../img/icon-railroad.png) center 0px no-repeat;
  background-size: auto 60px;
  text-align: center;
}
.branch-info-phones {
  width: 20%;
  padding-top: 90px;
  background: url(../img/icon-phones.png) center 0px no-repeat;
  background-size: auto 60px;
  text-align: center;
}
.branch-info-email {
  width: 20%;
  padding-top: 90px;
  background: url(../img/icon-email.png) center 10px no-repeat;
  background-size: auto 50px;
  text-align: center;
}

.branch-codes {
  display: flex;
  margin-top: 50px;
  border-top: 1px solid #444;
  border-bottom: 1px solid #444;
  padding: 20px 0;
}

.branch-codes > div {
  width: 25%;
  text-align: center;
}

.branch-codes span {
  margin-left: 5px;
}

.branch-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-top: 50px;
}

.branch-menu-calc {
  width: 30%;
  height: 60px;
  display: flex;
  align-items: center;
  color: #444 !important;
  text-decoration: none;
  padding-left: 90px;
  background: url(../img/icon-calc.png) 30px center no-repeat;
  background-size: auto 40px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0px 10px 20px -10px rgba(50, 50, 50, 0.5);
}

.branch-menu-contacts {
  width: 30%;
  height: 60px;
  display: flex;
  align-items: center;
  color: #444 !important;
  text-decoration: none;
  padding-left: 90px;
  background: url(../img/icon-contacts.png) 30px center no-repeat;
  background-size: auto 40px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0px 10px 20px -10px rgba(50, 50, 50, 0.5);
}

.branch-menu-request {
  width: 30%;
  height: 60px;
  display: flex;
  align-items: center;
  color: #444 !important;
  text-decoration: none;
  padding-left: 90px;
  background: url(../img/icon-request.png) 30px center no-repeat;
  background-size: auto 40px;
  border: 1px solid #ccc;
  border-radius: 10px;
  box-shadow: 0px 10px 20px -10px rgba(50, 50, 50, 0.5);
}

.branch-slides-wrapper {
  display: flex;
  align-items: center;
}

.branch-slides {
  display: flex;
  overflow: hidden;
}

.branch-slides a {
  display: inline-block;
  height: 180px;
  margin: 0 10px;
  position: relative;
  flex-shrink: 0;
}

.branch-slides img {
  display: block;
  max-width: none;
  max-height: 100%;
}

.branch-slides-left {
  display: block;
  background: url(../img/arrow-left.png) center center no-repeat;
  background-size: auto 40px;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}

.branch-slides-right {
  display: block;
  background: url(../img/arrow-right.png) center center no-repeat;
  background-size: auto 40px;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}

@media (max-width: 1024px) {
  .branch-info-address {
    width: 45%;
    margin-bottom: 40px;
  }
  .branch-info-railroad {
    width: 45%;
    margin-bottom: 40px;
  }
  .branch-info-phones {
    width: 45%;
  }
  .branch-info-email {
    width: 45%;
  }
  .branch-menu-calc {
    width: 45%;
    margin-bottom: 40px;
  }
  .branch-menu-contacts {
    width: 45%;
    margin-bottom: 40px;
  }
  .branch-menu-request {
    width: 45%;
  }
}

@media (max-width: 480px) {
  .branch-info-address {
    width: 100%;
  }
  .branch-info-railroad {
    width: 100%;
  }
  .branch-info-phones {
    width: 100%;
    margin-bottom: 40px;
  }
  .branch-info-email {
    width: 100%;
    margin-bottom: 40px;
  }
  .branch-menu-calc {
    width: 100%;
  }
  .branch-menu-contacts {
    width: 100%;
  }
  .branch-menu-request {
    width: 100%;
  }
}

/********************************/

.contacts-filter {
  margin-bottom: 30px;
  background: url(../img/contacts-icon.png) left center no-repeat;
  background-size: auto 100%;
  padding-left: 30px;
}

.contacts-filter a {
  color: #444;
  text-decoration: none;
  display: inline-block;
  margin: 0 5px;
}

.contacts-filter a.contacts-filter-active {
  color: #e31910;
}

.contacts-title {
  color: #444;
  font-size: 24px;
  margin: 10px 0 10px 0;
}

.contacts-title a {
  display: block;
  color: #444;
  text-decoration: none;
}

.contacts-title span {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../img/arrow-right-red.png) center center no-repeat;
  background-size: auto 100%;
  position: relative;
  top: 2px;
  margin-right: 5px;
  transition: all 0.4s ease;
}

.contacts-title:hover span, .contacts-title-opened span {
  transform: rotate(90deg);
}

.contacts-data {
  overflow: hidden;
  height: 0;
}

.contacts-table {
  width: 100%;
  border-top: 2px solid #e31910;
  border-collapse: collapse;
  margin-bottom: 20px;
}

.contacts-table tr {
  border-bottom: 1px solid #444;
}

.contacts-table td {
  padding: 10px 20px;
  vertical-align: top;
}

.contacts-table tr td:first-child {
  width: 40%;
}

.contacts-name {
  font-size: 20px;
}

.anchor {
  position: absolute;
  margin-top: -150px;
}

.contacts-home {
  padding-bottom: 30px;
  display: inline-block;
  margin-top: 10px;
  margin-left: 20px;
}

@media (max-width: 768px)
{
  .contacts-table td {
    display: block;
  }
}

/********************************/

.bbcode-ul li {
  padding-left: 30px;
  list-style: none;
  background: url(../img/ul.png) 10px 8px no-repeat;
  background-size: auto 12px;
}

.bbcode-file {
  display: flex;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid #999;
  margin-top: 20px;
}

.bbcode-open {
  line-height: 1.3;
  background: url(../img/icon-pdf.png) 20px center no-repeat;
  background-size: auto 30px;
  min-height: 30px;
  padding-left: 70px;
  text-decoration: none;
  color: #000 !important;
  display: flex;
  align-items: center;
  padding-right: 150px;
}
.bbcode-open:hover {
  text-decoration: underline;
}

.bbcode-download {
  display: inline-block;
  margin-left: auto;
  flex-shrink: 0;
  background: url(../img/icon-download.png) left center no-repeat;
  padding-left: 30px;
  background-size: 20px 20px;
  text-decoration: none;
  color: #999 !important;
  padding-right: 20px;
}

.bbcode-file-xls .bbcode-open {
  background-image: url(../img/icon-xls.png);
}

.bbcode-ol {
  padding-left: 40px;
}

hr {
  border: none;
  border-top: 1px solid #999;
}

@media (max-width: 1024px) {
  .bbcode-open {
    padding-right: 50px;
  }
}

@media (max-width: 768px) {
  .bbcode-open {
    padding-right: 20px;
  }
}


/*******************************/

.subpages-wrapper {
  display: flex;
}

.subpages-plugin {
  max-width: 250px;
  flex-shrink: 0;
  margin-top: 13px;
}

.subpages-plugin a {
  display: block;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #666;
  color: #666;
  text-decoration: none;
  line-height: 1.3;
  font-size: 90%;
  padding-left: 20px;
}

.subpages-plugin a:hover {
  text-decoration: underline;
}

.subpages-plugin a.subpages-plugin-title {
  color: #444;
  font-size: 100%;
  padding-left: 0px;
}
.subpages-plugin a.subpages-plugin-active {
  color: #e31910;
}

.subpages-plugin a:last-child {
  border: none;
}

.subpages-content {
  margin-left: 60px;
  width: 100%;
}

@media (max-width: 768px) {
  .subpages-wrapper {
    flex-wrap: wrap;
  }
  .subpages-plugin {
    max-width: 100%;
    width: 100%;
  }
  .subpages-content {
    margin-left: 0px;
  }
}

/*******************************/

.reports {
  display: flex;
  flex-wrap: wrap;
}

.reports > div {
  width: calc(25% - 40px);
  margin: 0 20px 60px 20px;
}

.reports > div a:first-child {
  transition: all 0.3s ease;
  display: block;
  box-shadow: 2px 2px 4px 0 rgba(50, 50, 50, 0.3);
}

.reports > div a:first-child img {
  display: block;
  margin: 0 auto;
}

.reports > div a:first-child:hover {
  transform: scale(1.10);
}

.reports > div span {
  display: block;
  margin-top: 10px;
  text-align: center;
}

.reports > div a:last-child {
  display: block;
  margin-top: 10px;
  padding-top: 0px;
  border-top: 1px solid #666;
  text-decoration: none;
  color: #666;
  text-align: center;
  font-size: 80%;
}
.reports > div a:last-child span {
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  top: 5px;
  background: url(../img/icon-download.png) center center no-repeat;
  background-size: 20px 20px;
  margin-right: 5px;
}

@media (max-width: 1024px) {
  .reports > div {
    width: calc(33.33% - 40px);
  }
}

@media (max-width: 768px) {
  .reports > div {
    width: calc(50% - 40px);
  }
  .reports > div a:first-child {
    box-shadow: none;
  }
}

@media (max-width: 480px) {
  .reports > div {
    width: 100%;
  }
}

/*******************************/

.vacancy-table {
}

.vacancy-table td {
  padding: 10px 15px;
}

.vacancy-table tr:not(:first-child) td {
  border-bottom: 1px solid #999;
}

/********************************/

.sitemap {
  padding-left: 40px;
}

.sitemap ul {
  padding-left: 40px;
}

/********************************/

.news-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.news {
  background: #6d6e71 center center no-repeat;
  background-size: 100% auto;
  padding: 40px;
  display: flex;
  flex-direction: column;
  min-height: 300px;
  transition: all 0.3s ease;
  width: calc(50% - 40px);
  margin: 0 20px 50px 20px;
  text-decoration: none;
}

.news:hover {
  box-shadow: 0px 3px 6px 0 rgba(50, 50, 50, 0.8);
}

.news:hover {
  background-size: 110% auto;
}

.news-pinned {
  background: #be202e;
}

.news-title {
  font-size: 30px !important;
  font-weight: bold;
  line-height: 1.2;
}

span.news-anchor {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
}

.news-date {
  color: #fff;
  font-weight: bold;
  margin-top: auto;
  text-align: right;
  font-size: 14px;
}

.news-with-images .news-title {
  font-size: 16px !important;
  background: rgba(50, 50, 50, 0.8);
  padding: 30px;
  margin: -40px -40px 0 -40px;
}

.news-with-images .news-date {
  text-shadow: 1px 1px #000;
}

a.news-back {
  color: #ec2027;
  display: inline-block;
  margin-top: 50px;
  text-decoration: none;
}

.news-item-title {
  display: flex;
  background: #646462;
  padding: 20px;
  margin-bottom: 40px;
}

.news-item-title h1 {
  color: #fff;
  margin: 0;
  font-weight: bold;
  line-height: 1.2;
}

.news-item-date {
  margin-left: auto;
  flex-shrink: 0;
  color: #fff;
  align-self: flex-end;
}

.news-item-text {
  font-size: 18px;
  line-height: 1.5;
}

.news-slider-wrapper {
  margin-bottom: 80px;
  position: relative;
}

.news-slider {
  display: flex;
  overflow: hidden;
}

.news-slider a {
  display: block;
  flex-shrink: 0;
  width: 100%;
}

.news-slider a img {
  display: block;
}

.news-slider-counter {
  color: #fff;
  background: #ec2027;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: calc(100% - 80px);
  margin-top: -80px;
  position: relative;
}

.news-slider-left {
  width: 40px;
  height: 40px;
  background: url(../img/arrow-left-white.png) center center no-repeat;
  background-size: auto 30px;
  position: absolute;
  margin-top: 30%;
  margin-left: 20px;
}

.news-slider-right {
  width: 40px;
  height: 40px;
  background: url(../img/arrow-right-white.png) center center no-repeat;
  background-size: auto 30px;
  position: absolute;
  margin-top: 30%;
  margin-left: calc(100% - 60px);
}

@media (max-width: 768px) {
  .news {
    width: 100%;
  }
}

/********************************/

.footer-wrapper {
  margin-top: auto;
  color: #000;
}

.footer {
  max-width: 1200px;
  min-width: 300px;
  margin: 0 auto;
  padding: 40px 20px;
  display: flex;
  justify-content: space-between;
}

.footer-title {
  color: #59595c;
}

.footer a {
  color: #000;
  text-decoration: none;
}

a.footer-dev {
  display: block;
  margin-top: 20px;
  font-size: 80%;
  text-decoration: none;
  color: #bec0c2;
}

.footer-search {
  margin-top: 30px;
}

.footer-search input {
  background: #e4e4e6;
  width: 200px;
  height: 30px;
  border: none;
  border-radius: 15px;
  padding: 0 10px;
}

.footer-social {  
  margin-top: 10px;
  margin-bottom: 30px;
}

.footer-social a {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-right: 20px;
}

.footer-social-vk {
  background-image: url(../img/icon-vk.svg);
}
.footer-social-yt {
  background-image: url(../img/icon-yt.svg);
}
.footer-social-tg {
  background-image: url(../img/icon-tg.svg);
}

@media (max-width: 1280px) {
}

@media (max-width: 1024px) {
  .footer {
    flex-wrap: wrap;
  }
  .footer > div {
    width: 100%;
    margin-top: 30px;
  }
}

@media (max-width: 768px) {
}

/******************************/

.body-ajax {
  min-height: auto;
}

.content-ajax {
  padding: 20px 20px;
}

.content-ajax h1 {
  margin-bottom: 20px;
}

.content-ajax input[type="text"], .content-ajax input[type="password"], .content-ajax input[type="email"], .content-ajax input[type="tel"], .content-ajax select {
  width: 100% !important;
  padding: 0 2px;
}

.content-ajax textarea {
  width: 100% !important;
  padding: 0 2px;
}

.popup-form {
}

.popup-form > div {
  margin-bottom: 10px;
}

.error {
  color: #FFF;
  padding: 5px 10px;
  background: #f44336;
  margin: 10px 0px;
}

.success {
  color: #fff;
  padding: 5px 10px;
  background: #43a047;
  margin: 10px 0px;
}

.required {
  color: #f44336;
}

/*************************************/

.submenu-item {
  display: block;
  background: url(../img/arrow-right-red.svg) left center no-repeat;
  background-size: 15px auto;
  color: #444 !important;
  font-size: 24px;
  padding-left: 30px;
  text-decoration: none;
  margin-top: 20px;
}

.edit-panel {
  background: #ccc;
  opacity: 0.8;
  float: right;
  line-height: 1;
}

.edit-panel a {
  width: 24px;
  height: 24px;
  margin: 5px;
  display: inline-block;
  opacity: 0.7;
  transition: opacity 0.2s ease;
}

.edit-panel a:hover {
  opacity: 1;
}

.edit-panel a.edit {
  background: url(/inc/admin/template/img/edit.png) no-repeat;
  background-size: 24px auto;
}

.edit-panel a.delete {
  background: url(/inc/admin/template/img/delete.png) no-repeat;
  background-size: 24px auto;
}

/*****************/

.bbcode-table {
  border-collapse: collapse;
}

.bbcode-table th {
  padding: 5px 10px;
  border: 1px solid #e31910;
  background: #e31910;
  color: #fff;
}

.bbcode-table td {
  padding: 5px 10px;
  border: 1px solid #e31910;
}

/***********************/

.learning-info {
  display: flex;
  justify-content: space-between;
}

.learning-training {  
}

.learning-training-selected {
  display: flex;
  align-items: center;
  font-size: 24px;
  margin-right: 30px;
}

.learning-training-others {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

.learning-user {
  flex-shrink: 0;
  margin-right: 30px;
}

.learning-dates {
  flex-shrink: 0;
}

.learning-training img {
  max-height: 48px;
  margin-right: 10px;
}

.learning-menu {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}

.learning-menu li {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 10px;
  line-height: 1.3;
  border: 1px solid #e31910;
  display: flex;
  align-items: center;
}

.learning-menu li a {
  display: block;
  text-decoration: none;
  text-align: center;  
}

.learning-wrapper {
  margin-top: 50px;
  display: flex;
}

.learning-sidebar {
  margin-right: 50px;
  max-width: 250px;
  flex-shrink: 0;
}

.learning-sidebar:empty {
  display: none;
}

.learning-class-toc {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 230px;
}

.learning-class-toc h3 {
  color: #000;
}

.learning-class-toc b {
  display: block;
  margin-left: 15px;
  margin-bottom: 10px;
}

.learning-class-toc a {
  display: block;
  margin-left: 30px;
  line-height: 1.2;
  font-size: 80%;
  margin-bottom: 10px;
}

.learning-class-toc a.learning-class-active {
  text-decoration: none;
  color: #000;
}

.learning-tests-stats {
  display: flex;
}

.learning-tests-stats > div {
  margin-right: 50px;
}

.learning-tests-answer-checkbox {
  display: block;
  margin-bottom: 10px;
}

.learning-tests-answer-checkbox input {
  display: inline-block;
  margin-right: 5px;
}

.learning-tests-answer-image {
  display: flex;
  margin-bottom: 10px;
}

.learning-tests-answer-image input {
  display: inline-block;
  margin-right: 15px;
}

.learning-tests-answer-image img {
  display: inline-block;
}

.learning-tests-answer-input {
  display: block;
  margin-bottom: 10px;
}

.learning-tests-answer-input input {
  display: inline-block;
  margin-right: 5px;
}

.learning-tests-answer-position-wrapper {
  display: inline-block;
  position: relative;
}

.learning-tests-answer-position {
  display: flex;
  aligh-items: center;
  position: absolute;
  margin-left: -7px;
  margin-top: -10px;
  z-index: 2;
}

.learning-tests-answer-position input {
  display: inline-block;
  margin-right: 5px;
}

.learning-tests-answer-position img {
  display: block;
}

.learning-tests-correct {
  color: #43a047;
}

.learning-tests-error {
  color: #f44336;
}