/* css */
.flex-center {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.flex-column {
  display: flex;
  flex-flow: column;
}

.anketa .wpcf7-not-valid {
  animation: bg-pulse 1s infinite;
}
.anketa .wpcf7-form-control-wrap label {
  cursor: pointer;
}
.anketa .wpcf7-list-item {
  padding: 2px 0;
}
.anketa input[type="text"],
.anketa textarea {
  width: 100%;
  padding: 3px;
}
.anketa textarea {
  margin-top: 4px;
}
.anketa p {
  margin-bottom: 10px;
  font-weight: 700;
  line-height: 1.2;
}

@keyframes bg-pulse {
  0% {
    background-color: #fff;
  }
  50% {
    background-color: #ffe8e8;
  }
  100% {
    background-color: #fff;
  }
}

.svc-block-title {
  font-weight: 600;
  font-size: 40px;
  line-height: 49px;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.svc-question-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
.svc-question-form--input,
.svc-question-form--acceptance,
.svc-form--submit {
  grid-column: span 2;
}
.svc-question-form--input:nth-child(-n + 2) {
  grid-column: span 1;
}
.svc-question-form--input input,
.svc-question-form--input textarea {
  width: 100%;
  border-radius: 15px;
  border: 1px solid #d1d1d1;
  padding: 20px 25px;
}
.svc-question-form--input input {
  height: 55px;
}
.svc-question-form--acceptance input[type="checkbox"] {
  display: none;
}
.svc-question-form--acceptance label {
  font-size: 14px;
  color: #555;
}
.svc-form--submit {
  display: flex;
  flex-direction: row-reverse;
}

.svc-portfolio h2,
.svc-portfolio .subtitle {
  text-align: center;
}

.svc-portfolio .subtitle {
  font-size: 24px;
  font-weight: 500;
  line-height: 29px;
  color: #1fc2f0;
}
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 20px 15px;
}

.container-wide .owl-nav {
  padding: 0 10px;
}

.svc-slider {
  position: relative;
}
.svc-slider .owl-nav {
  width: 100%;
  position: absolute;
  top: 50%;
  display: flex;
  justify-content: space-between;
}
.svc-slider .owl-nav button {
  border-radius: 10px;
  width: 30px;
  height: 40px;
  transition: opacity 0.15s;
}
.svc-slider .owl-nav button span {
  color: #fff;
  font-size: 42px;
  line-height: 32px;
}
.svc-slider .owl-nav button.disabled {
  opacity: 0;
}
.svc-slider .owl-nav .owl-prev {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0.25)
  ) !important;
}
.svc-slider .owl-nav .owl-next {
  background: linear-gradient(
    270deg,
    rgba(0, 0, 0, 0.5),
    rgba(0, 0, 0, 0.25)
  ) !important;
}
#sliderReviewsSvc .owl-item {
  height: 100%;
}
#sliderReviewsSvc .review-item {
  width: 340px;
}
#sliderReviewsSvc .owl-stage-outer {
  padding-bottom: 20px;
}

#sliderReviewsSvc .review-item {
  border-radius: 20px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  background-color: #ececec;
  padding: 20px;
  display: grid;
  grid-template-columns: 300px;
  justify-items: center;
  grid-template-rows: 300px 250px;
  margin: 0 10px;
}

#sliderReviewsSvc .review-item .image {
  width: 210px;
  height: 290px;
  border: 10px solid #1fc2f0;
  border-radius: 10px;
}

.review-item .review-name {
  font-size: 24px;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: 0;
  margin-top: 20px;
  margin-bottom: 0;
}
.review-item .review-adress {
  font-size: 18px;
  font-weight: 700;
  line-height: 23px;
  letter-spacing: 0;
}
.review-item .review-text {
  font-size: 16px;
  line-height: 19.2px;
  letter-spacing: 0;
}

.review-dots-container {
  width: 100%;
  display: flex;
  flex-direction: row;
  height: 5px;
  background-color: black;
  margin-bottom: 25px;
}
.review-dots-container .owl-dot {
  flex-grow: 1;
  height: 5px;
  background-color: black;
  border: 0;
}
.review-dots-container .owl-dot.active {
  background-color: #1fc2f0;
}
.svc-reviews-header,
.svc-reviews-header ul,
.svc-reviews-header ul li,
.svc-reviews-header ul li a {
  display: flex;
  align-items: center;
}

.svc-reviews-header ul li {
  justify-content: center;
}

.svc-reviews-header ul {
  flex-direction: row;
  justify-content: space-between;
}

.svc-reviews-header ul li a {
  padding: 10px 20px;
  margin-right: 15px;
  color: #000;
  text-decoration: none;
  min-height: 54px;
}

.svc-reviews-header ul li img {
  max-width: inherit;
}
.svc-reviews-header ul li p {
  font-size: 22px;
  font-weight: bold;
  margin: 0 6px;
  line-height: 20px;
}
.svc-reviews-header ul li span {
  display: block;
  margin-left: 10px;
}

.svc-slider .svc-slider-nav {
  position: absolute;
  top: -95px;
  right: 0;
  display: flex;
  justify-content: space-between;
}

.svc-slider-nav button {
  background: none;
  border: none;
}
.svc-slider-nav button:hover svg path {
  fill: #0198c3;
}
.svc-slider-nav button.disabled svg path {
  fill: #ececec;
}

.links-cloud {
  display: flex;
  flex-flow: row wrap;
}
.single-link {
  display: block;
  text-decoration: none;
  background-color: #ededed;
  border-radius: 10px;
  border: 1px solid #ededed;
  color: black;
  padding: 8px 16px;
  margin: 10px 5px;
}

.single-link:hover {
  background-color: #ffffff;
  transition: background 0.15s;
}

/*  */
.flexrow {
  display: grid;
  gap: 20px 10px;
}
.flexrow-4col {
  grid-template-columns: repeat(4, 1fr);
}
.flexrow-5col {
  grid-template-columns: repeat(5, 1fr);
}
.flexrow-6col {
  grid-template-columns: repeat(6, 1fr);
}
.flexrow-element {
  border-radius: 10px;
  border: 1px solid rgba(19, 164, 205, 1);
  box-shadow: 0px 7px 20px 0px rgba(0, 0, 0, 0.1);
  padding: 30px 15px;
  background-color: #fff;
}

.flexrow-digit {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.flexrow-digit::after {
  content: " ";
  display: block;
  width: 43px;
  height: 43px;
  margin-left: 15px;
  background-image: url("/wp-content/plugins/oknaspb-extensions/assets/img/right-arrow.png"),
    url("/wp-content/plugins/oknaspb-extensions/assets/img/ellipse.png");
  background-repeat: no-repeat;
  background-position: center;
}

.flexrow-element:last-child .flexrow-digit::after {
  background-image: url("/wp-content/plugins/oknaspb-extensions/assets/img/check.png"),
    url("/wp-content/plugins/oknaspb-extensions/assets/img/ellipse.png");
}

.yandex-dynamic {
  display: grid;
  grid-template-areas:
    "a b b b"
    "a c c c";
  background-color: rgb(246, 246, 246);
  padding: 0 20px;
}
.yandex-ocenka {
  grid-area: a;
  color: rgb(76, 76, 76);
  font-size: 40px;
  font-weight: 700;
  padding: 0 10px;
}
.yandex-ocenka-zv {
  grid-area: b;
  display: flex;
  flex-direction: row;
  align-items: end;
}
.yandex-ocenka-zv img {
  width: 15px;
  height: 15px;
}
.yandex-ocenka-link {
  grid-area: c;
  text-align: center;
}
.yandex-ocenka-link a {
  text-decoration: none;
  color: rgb(76, 76, 76);
}

.uslugi-table table {
  width: 100%;
  border-collapse: separate;
}
.uslugi-table tbody td,
.uslugi-table tbody th,
.uslugi-table thead th {
  border-radius: 10px;
  padding: 15px 20px;
  border: 1px solid #ededed;
}
.uslugi-table thead th {
  background-color: #186980;
  color: #fff;
}
.uslugi-table thead th:first-child {
  text-align: left;
}
.uslugi-table tbody td {
  text-align: center;
}
.uslugi-table tbody td,
.uslugi-table tbody th {
  background-color: #fff;
}
.uslugi-table tbody th {
  text-align: left;
  font-weight: 400;
}
.wheel-container,
.wheelContainer {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.wheelContainer {
  position: relative;
  margin: 0;
  /* width: 100vw; */
  height: 500px;
  overflow: hidden;
}
.wheelWrapper {
  height: 250px;
}

.wheelbuttons {
  display: flex;
  justify-content: space-between;
}
.wheelSVG {
  position: relative;
  overflow: visible;
  height: 500px;
}
.wheel-output p {
  font-size: 22px;
  font-weight: 600;
  text-align: center;
}
#wheelForm {
  margin: 20px 0;
}
#spinBtn {
  margin-right: 20px;
}
#wheelSubmitter {
  cursor: pointer;
}
.wheelWrapper {
  width: 100%;
  overflow: hidden;
}
.d-none {
  display: none !important;
}
#kolesoLoader p {
  font-size: 24px;
  font-weight: 700;
  animation: blink 2s linear infinite;
  text-align: center;
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.wheel-link {
    transition: transform 1s ease;
}
.wheel-link.hideleft {
    transform: translateX(-500px);
}
.wheel-link.pulsation {
    animation: pulsation .5s infinite;
}
.wheel-link.pulsation::after,
.wheel-link.pulsation::before {
  content: '';
  position: absolute;
  border: 2px solid #e100ad;
  left: -20px;
  opacity: 0;
  right: -20px;
  top: -20px;
  bottom: -20px;
  border-radius: 50%;
  animation: pulse 2.5s linear infinite;
}

.wheel-link.pulsation::after {
  animation-delay: 1.25s;
}

@keyframes pulse {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: scale(1.2);
    opacity: 0;
  }
}


/* ZVEZDY */

.full-stars .rating-group {
    display: inline-flex;
}
.full-stars input {
    position: absolute;
    left: -9999px;
}
.full-stars label {
    margin: 0;
    cursor: pointer;
}
.full-stars label svg {
    margin: 2px;
    height: 40px;
    width: 40px;
    fill: #337AB7;
    transition: fill 0.3s;
}
.full-stars input:checked ~ label svg {
    fill: #BFE2FF;
}
.full-stars .rating-group:hover label svg {
    fill: #337AB7;
}
.full-stars .rating-group input:hover ~ label svg {
    fill: #BFE2FF;
}

/* END ZVEZDY */



@media screen and (max-width: 991px) {
  .flexrow-element {
    padding: 20px 10px;
  }
  .flexrow-text {
    font-size: 16px;
  }
  .svc-slider .svc-slider-nav {
    top: unset;
    bottom: -80px;
    width: 100%;
  }
}

@media screen and (max-width: 959px) {
  .wheelWrapper {
    height: 300px;
  }
  .wheelSVG,
  .wheelContainer {
    height: 600px;
  }
}
@media screen and (max-width: 768px) {
  .flexrow-4col {
    grid-template-columns: repeat(2, 1fr);
  }
  .flexrow-5col,
  .flexrow-6col {
    grid-template-columns: repeat(3, 1fr);
  }
  .svc-reviews-header {
    justify-content: center;
  }
  .svc-reviews-header ul {
    flex-direction: column;
  }
  .svc-slider .svc-slider-nav {
    top: 41%;
    bottom: unset;
  }

  .fancybox__content {
    padding: 20px;
  }
  .wheelWrapper {
    height: 210px;
  }
  .wheelSVG,
  .wheelContainer {
    height: 420px;
  }
}
@media screen and (max-width: 576px) {
  .svc-question-form--input:nth-child(-n + 2) {
    grid-column: span 2;
  }
  .flex-center {
    flex-direction: column;
  }
  .flexrow-4col,
  .flexrow-5col,
  .flexrow-6col {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (min-width: 768px) {
  .col-lg-66 {
    width: 66%;
  }
  #sliderReviewsSvc .review-item {
    width: 560px;
    grid-template-columns: 230px auto;
    grid-template-rows: auto;
  }
}
