@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-20px);
  }

  60% {
    transform: translateY(-10px);
  }
}

.arrow {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -18px;
  width: 36px;
  height: 50px;
}

.arrow img {
  width: 100%;
}

.bounce {
  animation: bounce 2s infinite;
}

.mainpage header {
  background: url(/images/marktech-studio.jpg?4621b852f5b9ce5e12f5099d6718d749) 0 no-repeat;
  width: 100%;
  height: 100vh;
  background-size: cover;
  min-height: 500px;
}

.mainpage header .scroll-text {
  position: absolute;
  bottom: 70px;
  width: 100%;
  text-align: center;
  color: white;
  text-transform: uppercase;
  font-size: 19px;
}

.mainpage header .header-main-block {
  bottom: 25%;
  padding-right: 5%;
  text-shadow: 0 0 5px #434343;
}

.mainpage header .header-main-block .main-title {
  font-size: 2.5em;
  font-weight: bold;
  float: right;
}

.mainpage header .header-main-block .main-claim {
  text-shadow: 0 0 1px;
  float: right;
  width: 50%;
  text-align: right;
}

@media only screen and (max-width: 1190px) {
  .mainpage header .header-main-block .main-claim {
    width: 75%;
  }
}

@media only screen and (max-width: 990px) {
  .mainpage header .header-main-block {
    padding: 0 20px 0 20px;
  }

  .mainpage header .header-main-block .main-title {
    width: 100%;
    font-size: 2em;
    text-align: center;
  }

  .mainpage header .header-main-block .main-claim {
    width: 100%;
    text-align: center;
  }
}

@media only screen and (max-width: 576px) {
  .mainpage header .header-main-block .main-title {
    font-size: 1.5em;
  }

  .mainpage header .header-main-block .main-claim {
    font-size: 1em;
  }
}

.mainpage .mobile_card {
  display: none;
}

@media only screen and (max-width: 992px) {
  .mainpage .mobile_card {
    display: block;
  }
}

.mainpage .pc_card {
  display: block;
}

@media only screen and (max-width: 992px) {
  .mainpage .pc_card {
    display: none;
  }
}

@media only screen and (max-width: 992px) {
  .mainpage .card-body {
    padding: 20px 0 0 0;
  }
}

.mainpage .card {
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.12);
  position: absolute;
  border-radius: 0;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  padding: 30px;
  min-width: 90%;
}

@media only screen and (max-width: 1200px) {
  .mainpage .card {
    position: relative;
    box-shadow: none;
    top: auto;
    left: auto;
    transform: none;
    padding: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .mainpage .card {
    padding: 0;
  }
}

.mainpage .card h1,
.mainpage .card .h1 {
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .mainpage .card h1,
  .mainpage .card .h1 {
    font-size: 25px;
  }
}

.mainpage .card p {
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  .mainpage .card p {
    font-size: 12px;
  }
}

.mainpage .card2 {
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.09);
  position: absolute;
  border-radius: 0;
  top: 50%;
  left: 65%;
  background: white;
  z-index: 2;
  transform: translate(-50%, -50%);
  padding: 30px;
  min-width: 90%;
}

@media only screen and (max-width: 1200px) {
  .mainpage .card2 {
    position: relative;
    box-shadow: none;
    top: auto;
    left: auto;
    transform: none;
    padding: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .mainpage .card2 {
    padding: 0;
  }
}

.mainpage .card2 h1,
.mainpage .card2 .h1 {
  font-weight: 700;
}

@media only screen and (max-width: 768px) {
  .mainpage .card2 h1,
  .mainpage .card2 .h1 {
    font-size: 25px;
  }
}

.mainpage .card2 p {
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  .mainpage .card2 p {
    font-size: 12px;
  }
}

.md-form label,
.modal-dialog.cascading-modal .modal-header .social-buttons a {
  font-size: 14px;
}

.md-form .form-control {
  padding: 0.3rem 0 0.35rem;
}

.contact_form .md-form input[type=text]:focus:not([readonly]) {
  box-shadow: none !important;
}

.contact_form {
  padding: 120px 70px 0 170px;
  height: 100vh;
  width: 45vw;
  min-width: 520px;
  position: absolute;
  top: 0;
  right: 0;
  background: url(/images/header_background_contact.png?6e4c22fef9582beb18459727b3265f8c) center left no-repeat;
  background-size: cover;
  overflow: hidden;
  transition: width 300ms ease-in-out;
}

.contact_form.closed {
  width: 0;
}

@media only screen and (max-width: 1200px) {
  .contact_form {
    background: rgba(0, 0, 0, 0.9);
    width: 100%;
    min-width: 100%;
    padding: 100px 200px;
  }
}

@media only screen and (max-width: 768px) {
  .contact_form {
    width: 100%;
    padding: 100px;
  }
}

@media only screen and (max-width: 576px) {
  .contact_form {
    padding: 90px 25px;
  }
}

.contact_form .contact__wraper {
  position: absolute;
  top: 55%;
  left: 60%;
  transform: translate(-50%, -50%);
  width: 350px;
}

@media only screen and (max-width: 1200px) {
  .contact_form .contact__wraper {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: auto;
  }
}

.contact_form h1 {
  font-weight: 700;
  color: white;
  font-size: 45px;
}

@media only screen and (max-width: 768px) {
  .contact_form h1 {
    font-size: 30px;
    text-align: center;
  }
}

.contact_form .form-control {
  color: white;
}

.contact_form .md-form input[type=text]:focus:not([readonly]) + label {
  color: white;
}

.contact_form .md-form input[type=text]:focus:not([readonly]) {
  box-shadow: 0 1px 0 0 white;
  border-bottom: 1px solid white;
}

.contact_form .btn {
  box-shadow: none;
  border: 1px solid white;
  color: white;
}

.contact_form .md-form label {
  color: white;
}

.map_icon {
  position: absolute;
  right: 20px;
  top: 55px;
  border-radius: 0 0 8px 8px;
  z-index: 1;
  background: black;
  padding: 10px;
  cursor: pointer;
}

.map_icon img {
  width: 20px;
}

.map {
  padding-top: 57px;
  background: black;
}

.map iframe {
  height: calc(100vh - 57px);
  width: 100%;
}

.page_wrapper .thumbnails {
  padding-top: 30px;
}

.page_wrapper .thumbnails .thumbnail_wrapper {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  position: relative;
}

.page_wrapper .thumbnails .thumbnail_wrapper a,
.page_wrapper .thumbnails .thumbnail_wrapper a:hover {
  color: #212529;
}

.page_wrapper .thumbnails .visual_thumbnail {
  width: 100%;
  padding-top: 100%;
  margin-bottom: 15px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.page_wrapper .thumbnails .visual_thumbnail:hover .overlay {
  opacity: 1;
  visibility: visible;
  transition: 0.2s ease;
}

.page_wrapper .thumbnails .visual_thumbnail .overlay {
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease;
  cursor: pointer;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
}

.page_wrapper .thumbnails .visual_thumbnail .overlay b {
  font-weight: 700;
}

.page_wrapper .assortment_menu {
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.09);
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
}

.page_wrapper .assortment_menu ul {
  list-style: none;
  padding: 0;
}

.page_wrapper .assortment_menu ul a {
  padding: 17px 50px;
  width: 100%;
  text-align: center;
  cursor: pointer;
  display: block;
  border-bottom: 1px solid rgba(103, 103, 103, 0.09);
  font-weight: 700;
  transition: 0.2s ease;
  color: #212529;
}

.page_wrapper .assortment_menu ul a:hover,
.page_wrapper .assortment_menu ul a.active {
  background: #212529;
  color: white;
}

@media only screen and (max-width: 997px) {
  .page_wrapper .assortment_menu {
    max-width: 150px;
  }

  .page_wrapper .assortment_menu ul a {
    padding: 17px 19px;
    font-size: 12px;
  }
}

@media only screen and (max-width: 576px) {
  .page_wrapper .assortment_menu {
    display: none;
  }
}

.page_wrapper .assortment_content {
  padding: 50px 50px 50px 280px;
  min-height: 450px;
}

.page_wrapper .assortment_content .row {
  padding: 0;
  margin: 0;
}

@media only screen and (max-width: 997px) {
  .page_wrapper .assortment_content {
    padding: 30px 30px 30px 170px;
  }
}

@media only screen and (max-width: 576px) {
  .page_wrapper .assortment_content {
    padding: 10px;
  }
}

.page_wrapper .partners_header {
  background: url(/images/partners.png?e76ad8eab8bb501782cbe548b39f1377) center center no-repeat;
  background-size: cover;
}

.page_wrapper .assortment_header {
  background: url(/images/assortment_header.png?9f2becd92cb345bde3fa2bd4ed495a93) center center no-repeat;
  background-size: cover;
}

.page_wrapper .card-left {
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.09);
  position: absolute;
  border-radius: 0;
  top: 50%;
  left: 65%;
  transform: translate(-50%, -50%);
  padding: 30px;
  min-width: 90%;
  background: white;
  z-index: 2;
  /* Track */
  /* Handle */
  /* Handle on hover */
}

@media only screen and (max-width: 1400px) {
  .page_wrapper .card-left {
    position: relative;
    box-shadow: none;
    top: auto;
    left: auto;
    transform: none;
    padding: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .page_wrapper .card-left {
    padding: 0;
  }
}

.page_wrapper .card-left ::-webkit-scrollbar {
  width: 4px;
}

.page_wrapper .card-left ::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.page_wrapper .card-left ::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.4);
}

.page_wrapper .card-left ::-webkit-scrollbar-thumb:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.page_wrapper .card-left .card-body {
  max-height: 300px;
  overflow-x: hidden;
}

@media only screen and (max-width: 992px) {
  .page_wrapper .card-left .card-body {
    max-height: inherit;
    overflow-x: auto;
  }
}

.page_wrapper .card-left h1 {
  font-weight: 700;
}

@media only screen and (max-width: 1100px) {
  .page_wrapper .card-left h1 {
    font-size: 25px;
  }
}

.page_wrapper .card-left p {
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  .page_wrapper .card-left p {
    font-size: 12px;
  }
}

.page_wrapper .card-left h1 {
  font-weight: 700;
}

.page_wrapper .card-left h2 {
  font-size: 25px;
  font-weight: 700;
  margin-bottom: 10px;
}

@media only screen and (max-width: 1100px) {
  .page_wrapper .card-left h2 {
    font-size: 18px;
  }
}

.page_wrapper .card-left h3 {
  font-size: 18px;
  font-weight: 700;
  margin-top: 25px;
}

@media only screen and (max-width: 1100px) {
  .page_wrapper .card-left h3 {
    margin-top: 10px;
  }
}

.page_wrapper .card-left b {
  font-weight: 700;
}

.page_wrapper .card-left table td {
  min-width: 130px;
}

@media only screen and (max-width: 768px) {
  .page_wrapper .card-left table td {
    font-size: 13px;
  }
}

.page_wrapper .card-left p {
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  .page_wrapper .card-left p {
    font-size: 12px;
  }
}

.page_wrapper .carousel .carousel-control-next-icon,
.page_wrapper .carousel .carousel-control-prev-icon {
  background-color: black;
  width: 27px;
  height: 27px;
}

@media only screen and (max-width: 992px) {
  .page_wrapper .card-body {
    padding: 20px 0 0 0;
  }
}

.page_wrapper .card {
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.09);
  position: absolute;
  border-radius: 0;
  top: 50%;
  left: 35%;
  transform: translate(-50%, -50%);
  padding: 30px;
  min-width: 90%;
}

@media only screen and (max-width: 1200px) {
  .page_wrapper .card {
    position: relative;
    box-shadow: none;
    top: auto;
    left: auto;
    transform: none;
    padding: 15px;
  }
}

@media only screen and (max-width: 768px) {
  .page_wrapper .card {
    padding: 0;
  }
}

.page_wrapper .card h1,
.page_wrapper .card h2 {
  font-weight: 700;
  font-size: 2.5rem;
}

@media only screen and (max-width: 768px) {
  .page_wrapper .card h1,
  .page_wrapper .card h2 {
    font-size: 25px;
  }
}

.page_wrapper .card p {
  font-size: 13px;
}

@media only screen and (max-width: 1200px) {
  .page_wrapper .card p {
    font-size: 12px;
  }
}

.page_wrapper header {
  width: 100%;
  height: 80vh;
}

@media only screen and (max-width: 992px) {
  .page_wrapper header {
    height: 50vh;
  }
}

@media only screen and (max-width: 768px) {
  .page_wrapper header {
    height: 40vh;
  }
}

.page_wrapper header .scroll-text {
  position: absolute;
  bottom: 70px;
  width: 100%;
  text-align: center;
  color: white;
  text-transform: uppercase;
  font-size: 19px;
}

.page_wrapper header .title_header {
  background: url(/images/header_background.png?9fcc348fc5208c2dfdc24c9153819431) center left no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 992px) {
  .page_wrapper header .title_header {
    background: url(/images/headerMobile_background.png?42825164bee38a3cdeb6c7bd478b6302) center left no-repeat;
  }
}

.page_wrapper header .title_header h1 {
  font-size: 50px;
  text-transform: uppercase;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: 700;
}

/* Keep new public catalog listing cards in normal document flow. */
.page_wrapper.catalog-listing-page .card {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  min-width: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.25rem;
  padding: 0;
}

.page_wrapper.catalog-listing-page .card .card-body {
  padding: 1.25rem;
}

.page_wrapper.catalog-listing-page .card h2.card-title {
  font-size: 1.25rem;
  line-height: 1.3;
  margin-bottom: 0.75rem;
}

.page_wrapper.catalog-listing-page .card .card-text {
  font-size: 0.95rem;
  line-height: 1.5;
}

@media only screen and (max-width: 992px) {
  .page_wrapper header .title_header h1 {
    top: 60%;
  }
}

@media only screen and (max-width: 768px) {
  .page_wrapper header .title_header h1 {
    font-size: 35px;
    top: 60%;
  }
}

.page_wrapper main {
  padding: 0;
}

.page_wrapper main .partners_card {
  box-shadow: 0 0 15px 4px rgba(103, 103, 103, 0.09);
  width: 100%;
  padding-top: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 400ms ease-in-out;
}

.page_wrapper main .partners_card:hover {
  transform: scale(1.2);
}

.page_wrapper .facings_select_hover {
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease;
  cursor: pointer;
}

.page_wrapper .facings_select_wrapper:hover .facings_select_hover {
  opacity: 1;
  visibility: visible;
  transition: 0.2s ease;
}

.page_wrapper .facings_select_btns {
  margin: 0 0 20px 0;
}

.page_wrapper .facings_select_btns .facings_select_wrapper {
  padding: 7px 3px 0;
}

@media only screen and (max-width: 576px) {
  .page_wrapper .facings_select_btns .facings_select_wrapper {
    width: 50%;
  }
}

.page_wrapper .facings_select_btns .facings_select_wrapper .overlay {
  background-color: rgba(0, 0, 0, 0.6);
  width: calc(100% - 6px);
  height: 70px;
  position: absolute;
  top: 7px;
  left: 3px;
}

.page_wrapper .facings_select_btns .facings_select_wrapper .facings_select {
  padding: 10px;
  height: 70px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page_wrapper .facings_select_btns .facings_select_wrapper .facings_select .facings_border {
  border: 1px solid white;
  padding: 10px;
  z-index: 1;
  position: relative;
}

.page_wrapper .facings_select_btns .facings_select_wrapper .facings_select .facings_border p {
  margin: 0;
  color: white;
  text-transform: uppercase;
}

.mosaic {
  width: 100%;
  padding-top: 100%;
  display: block;
  background-size: cover;
  background-position: center center;
  box-shadow: 0 0 25px 4px rgba(103, 103, 103, 0.09);
  transition: all 300ms ease-in-out;
  position: relative;
}

.mosaic .company {
  position: absolute;
  bottom: 10px;
  right: 0;
}

.mosaic .company img {
  max-height: 50px;
  max-width: 100%;
}

.mosaic:hover {
  transform: scale(1.05);
}

.custom-checkbox:hover,
.custom-checkbox label:hover,
.custom-checkbox input:hover {
  cursor: pointer;
}

.custom-control-input:checked ~ .custom-control-label::before {
  border-color: #212529;
  background-color: #212529;
}

.hr {
  display: block;
  width: 100%;
}

.badge-custom {
  box-shadow: none !important;
  padding: 7px 16px;
  margin-bottom: 10px;
  margin-right: 7px;
  border: 1px solid #212529;
  background-color: white;
  transition: all 300ms ease-in-out;
  cursor: pointer;
  color: #212529 !important;
  text-transform: uppercase;
}

.badge-custom.active,
.badge-custom:hover {
  color: white !important;
  background-color: #212529;
}

@media only screen and (max-width: 997px) {
  .badge-custom {
    padding: 6px 10px;
    margin-right: 4px;
    font-size: 10px;
  }
}

.hidden {
  display: none;
}

.collapse_block {
  height: 0;
  opacity: 0;
  overflow: hidden;
  transition: all 400ms ease-in-out;
}

.collapse_block.show {
  height: 100%;
  opacity: 1;
  overflow: inherit;
}

.pagination {
  display: inline-block;
  width: 100%;
  text-align: right;
}

.pagination .active {
  border: 0 !important;
}

@media only screen and (max-width: 576px) {
  .pagination {
    text-align: center;
  }
}

.pagination > li {
  display: inline-block;
}

.pagination a {
  float: left;
  padding: 9px 20px;
  text-decoration: none;
  margin-top: 15px;
}

@media only screen and (max-width: 576px) {
  .pagination a {
    font-size: 15px;
    padding: 6px 15px;
  }
}

.pagination > li > a,
.pagination > li > span {
  border: none;
  color: #6c757d;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
  border: none;
  color: white;
  background-color: rgba(1, 2, 2, 0.5);
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
  background-color: #010202;
  color: white;
  border: none;
}
