@font-face {
  font-display: swap;
  font-family: "Beeline_Sans";
  src: local("Beeline_Sans-Regular"),
    url("/fonts/Beeline_Sans-Regular.woff2") format("woff2"),
    url("/fonts/BeelineSans-Regular.otf") format("opentype");
  font-weight: 400;
}

@font-face {
  font-display: swap;
  font-family: "Beeline_Sans";
  src: local("Beeline_Sans-Medium"),
    url("/fonts/Beeline_Sans-Medium.woff2") format("woff2"),
    url("/fonts/BeelineSans-Medium.otf") format("opentype");
  font-weight: 500;
}

.tooltip {
  position: fixed;
  padding: 8px 10px;
  border: 1px solid #191c22;
  border-radius: 10px;
  font: 10px/1.3 sans-serif;
  color: #ffffff;
  background: #222731;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0);
}

.btn-main {
  background: #ffc800 !important;
  color: #28303f !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: 18px 20px 18px 20px !important;
  border-radius: 40px;
  transition: all 0.4s ease;
}

@media (max-width: 768px) {
  .btn-main {
    padding: 12px 20px !important;
  }
  .tarifcard-btn {
    padding: 12px 20px;
  }
}

.btn-main:hover {
  background: #f4b807 !important;
}

.btn-main2 {
  background: #ffffff !important;
  color: #28303f !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 18px 20px 18px 20px !important;
  border-radius: 40px;
  transition: all 0.4s ease;
}

.btn-main2:hover {
  color: #6e788a !important;
}

.btn-main3 {
  background: #222731 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 18px 20px 18px 20px !important;
  border-radius: 40px;
  transition: all 0.4s ease;
}

.btn-main3:hover {
  color: #c8ced9 !important;
}
.btn-main-tight {
  padding: 12px 20px !important;
}

.clearEl div {
  opacity: 0;
  pointer-events: none;
}

.preload {
  opacity: 1 !important;
  display: flex;
  position: absolute;
  top: auto;
  left: auto;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.header__help {
  transition: all 0.3s linear;
}

.phone-btn0 {
  text-decoration: none;
  transition: color 0.3s ease;
}

/* .phone-btn:hover {
  color: rgb(253, 170, 40) !important;
} */

.hide,
.hideblock,
.hideblockhideblock,
.hideblockhideblockhideblock,
.hideblockhideblockhideblockhideblock,
.hideblockhideblockhideblockhideblockhideblock,
.hideblockhideblockhideblockhideblockhideblockhideblock,
.hideblockhideblockhideblockhideblockhideblockhideblockhideblock,
.hideblockhideblockhideblockhideblockhideblockhideblockhideblockhideblock {
  display: none !important;
  margin: 0px !important;
}

#street-inp,
#house-inp {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border: none;
  box-sizing: border-box;
}

.form-inp {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border: none;
}

.searchadr-ul {
  display: none;
  z-index: 50;
  width: 100%;
  position: absolute;
  top: 50px;
  left: 0;
  max-height: 500px;
  margin: 0;
  padding: 0 0 0 10px;
  list-style-type: none;
  overflow-y: auto;
  height: auto;
  background: #f0f3f5;
  box-sizing: border-box;
}

.searchadr-item {
  cursor: pointer;
  transition: color 0.3s ease;
  line-height: 1;
  margin: 10px 0;
}

.searchadr-item:hover {
  color: #f4b807 !important;
}

.forzind {
  z-index: 20 !important;
}

.forzind1 {
  z-index: 19 !important;
}

#cities-list li {
  margin: 5px 0 5px 30px;
}

.city-list__item {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}

.city-list__item li {
  margin: 5px 0 5px 20px;
}

.cities-item {
  text-decoration: none;
  transition: color 0.3s linear;
}

.areas-item {
  cursor: pointer;
  transition: color 0.3s linear;
  margin: 5px 0;
}

.areas-item:hover {
  color: #ffffff;
}

.cities-item:hover {
  color: #ffffff !important;
}

#myInputCity {
  display: block;
  width: 100%;
  margin: 0 auto;
  font-size: 20px;
  border: none;
  outline: 0;
  background: transparent;
  color: white;
}

#myInputCity::placeholder {
  color: white;
}

#cities-list,
#areas-list,
#searchList {
  overflow-y: auto;
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
  max-height: 80vh;
  padding-bottom: 50px;
  margin-bottom: 100px;
}

.chCity-close {
  cursor: pointer;
}

@media (max-width: 767px) {
  #b18432 {
    border: none;
  }
}

.all-tarifs,
.all-tarifs2,
.all-tarifs3 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding-top: 10px;
}

.tarifscard {
  flex: 0 0 460px;
  color: #28303f;
  font-size: 16px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e2e6ed;
  line-height: 1;
  transition: box-shadow 0.5s ease;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
  height: 100%;
}

.tarifscard:hover {
  box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.5);
}

.card-header {
  min-height: 220px;
  background: #e2e6ed;
  padding: 25px 15px;
  box-sizing: border-box;
  position: relative;
}

.card-header.push {
  background: url(/files/storage/push_ny.webp) right 18px bottom / 146px
      no-repeat,
    #fde6f5;
}

.card-header.ung {
  background: url(/files/storage/ung_ny.webp) right 6px bottom / 145px no-repeat,
    #e9e6f7;
}

.card-header.bazy {
  background: url(/files/storage/bazya_ny.webp) right 14px bottom / 100px
      no-repeat,
    #e5f3f1;
}

.card-header.doma {
  background: url(/files/storage/dom.webp) right 6px bottom / 50% no-repeat,
    #e1effa;
}

.card-header.igr {
  background: url(/files/storage/igr.webp) right 6px bottom / 50% no-repeat,
    #e1effa;
}

.s-desc {
  padding: 10px 0;
  border-top: 1px solid #e2e6ed;
  border-bottom: 1px solid #e2e6ed;
}

.family-sims-text {
  font-size: 16px;
}

.family-sims {
  display: inline-flex;
  position: absolute;
  bottom: 14px;
  left: 14px;
  align-items: center;
  border-radius: 18px;
  padding: 3px 10px;
  background-color: #fff;
  cursor: pointer;
  box-shadow: 0 0 5px #e7dddd;
}

.family-sims svg {
  margin-left: 5px;
}

.family-sims:before {
  content: attr(data-text);
  position: absolute;
  top: -180%;
  left: 0;
  width: 140px;
  height: auto;
  color: #fff;
  background-color: #191c22;
  border-radius: 10px;
  font-size: 12px;
  padding: 10px;
  text-align: center;
  z-index: 1;
  display: none;
}

.family-sims:after {
  content: "";
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
  z-index: 0;
  background-color: #191c22;
  position: absolute;
  top: -71%;
  left: 50px;
  display: none;
}

.family-sims:hover:before,
.family-sims:hover:after {
  display: inline-block;
}

.tarifs-name {
  font-weight: 400;
  font-size: 24px;
  margin-bottom: 24px;
}

.attr {
  display: flex;
}

.attr-item {
  margin-right: 23px;
}

.attr-item span {
  font-weight: 400;
  font-size: 24px;
  display: inline-block;
  margin-bottom: 10px;
}

.attr-item a {
  text-decoration: none;
  color: #f49f27;
  transition: color 0.3s ease;
}

.attr-item a:hover {
  color: #fbc22e;
}

.card-body {
  flex-grow: 1;
  padding: 15px 15px 25px;
}

.equip-attr {
  display: flex;
}

.equip-attr > div {
  background: #f0f3f5;
  border: 1px solid #e2e6ed;
  border-radius: 10px;
  font-size: 12px;
  padding: 10px 8px 10px 40px;
  flex-grow: 1;
  flex-basis: 50%;
}

.equip-attr > div:first-child {
  background: url("/files/storage/wifi_icon.svg") left 8px center / 24px
      no-repeat,
    #f9f9f9;
}

.equip-attr > div:nth-child(2) {
  margin-left: 8px;
  background: url("/files/storage/tvbox_icon.svg") left 8px center / 24px
      no-repeat,
    #f9f9f9;
}

.equip-attr .mob-item:first-child {
  max-width: 160px;
  box-sizing: border-box;
  background: url("/files/storage/mobinet1_icon.svg") left 10px center / 22px
      no-repeat,
    #f9f9f9;
  border: none;
  font-weight: 600;
}

.equip-attr .mob-item:last-child {
  max-width: 160px;
  border: none;
  font-weight: 600;
  box-sizing: border-box;
  background: url("/files/storage/phone_icon.svg") left 14px center / 13px
      no-repeat,
    #f9f9f9;
}

.tarifs-mob {
  margin: 20px 0 10px;
  font-weight: 500;
}

.tarifscard-footer {
  padding: 0 15px 25px;
}

.tarifs-btn {
  display: block;
  padding: 14px 34px;
  background-color: #ffc800;
  border-radius: 40px;
  text-align: center;
  text-decoration: none;
  color: #28303f;
  font-size: 16px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  margin-top: 14px;
}

.tarifs-btn:hover {
  background-color: #f4b807;
}

.tarifs-podr {
  display: inline-block;
  margin: 0 18px;
  color: #1086f9;
  transition: border 0.3s ease;
  text-decoration: none;
  border-bottom: 1px solid #1086f9;
}

.tarifs-podr:hover {
  border-bottom: none;
}

.tarif-ap {
  color: #999999;
  margin-bottom: 10px;
  position: relative;
}

.tarif-ap span {
  font-size: 46px;
  font-weight: 700;
  color: #191c22;
}

.tarif-ap::after {
  content: attr(data-apnext);
  position: absolute;
  left: 200px;
  bottom: 0;
  text-decoration: line-through;
  color: #999999;
  font-size: 24px;
}

.tarif-apnext {
  margin-bottom: 10px;
  color: #ffffff;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  padding: 4px 10px 4px 10px;
  border-radius: 50px;
  background: #1086f9;
  display: inline-block;
}

.equip-attr > div.flex-speed {
  background-image: none !important;
  padding: 10px 8px;
  text-align: left;
  margin-left: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
  max-width: 120px;
  box-sizing: border-box;
}

.equip-attr > div.flex-speed:not(.active):hover {
  background: #a1a5b1 !important;
}

.equip-attr > div.flex-speed:first-child {
  margin-left: 0;
}

.equip-attr > div.flex-speed.active {
  background: #434856;
  color: #fff;
}

.up-desc {
  min-height: 48px;
  margin-bottom: 10px;
}

@media (min-width: 1366px) {
  .check-DC-adr {
    background: url(/files/storage/bg-right.png) top 25px right 40px / auto
        440px no-repeat,
      url(/files/storage/bg-bottom.png) left 100px bottom / 290px auto no-repeat,
      #ffd93a;
  }
}

@media (max-width: 480px) {
  .tarifscard {
    flex: 0 0 100%;
  }

  .check-DC-adr {
    padding: 20px 0 !important;
  }

  .family-sims-text {
    display: none;
  }

  .family-sims:after {
    top: -71%;
    left: 30px;
  }
}

@media (max-width: 364px) {
  .tarifs-btn {
    padding: 14px 30px;
  }

  .tarifs-podr {
    margin: 0 10px;
  }
}

@media (max-width: 350.5px) {
  .equip-attr.wi-box {
    flex-wrap: wrap;
  }

  .equip-attr.wi-box > div:nth-child(2) {
    margin: 8px 0 0 0;
  }

  .tarifs-btn {
    padding: 14px 16px;
  }
}

h1.h1b,
h2.h2b,
h3.h3b,
h4.h4b {
  color: #28303f !important;
}

@media (max-width: 1279px) {
  h1.h1b {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  h2.h2b {
    font-size: 32px !important;
    line-height: 36px !important;
  }

  h3.h3b {
    font-size: 20px !important;
    line-height: 24px !important;
  }

  h4.h4b {
    font-size: 16px !important;
    line-height: 19px !important;
  }

  h1.h1w {
    font-size: 32px !important;
    line-height: 38px !important;
  }

  h2.h2w {
    font-size: 32px !important;
    line-height: 36px !important;
  }

  h3.h3w {
    font-size: 20px !important;
    line-height: 24px !important;
  }

  h4.h4w {
    font-size: 16px !important;
    line-height: 19px !important;
  }
}

h1.h1w,
h2.h2w,
h3.h3w,
h4.h4w {
  color: rgb(255, 255, 255) !important;
}

.text-main {
  color: #28303f !important;
}

.text-main2 {
  color: #6e788a !important;
}

.text-main3 {
  color: #98a0b0 !important;
}

.text-main a {
  text-decoration: none;
  transition: color 0.3s ease;
  color: rgb(16, 134, 249) !important;
}

.text-main2 a {
  text-decoration: none;
  transition: color 0.3s ease;
  color: rgb(16, 134, 249) !important;
}

.text-main3 a {
  text-decoration: none;
  transition: color 0.3s ease;
  color: rgb(16, 134, 249) !important;
}
.gap-8 {
  gap: 8px;
}
.gap-10 {
  gap: 10px;
}
.gap-16 {
  gap: 16px;
}
.gap-20 {
  gap: 20px;
}
.gap-24 {
  gap: 24px;
}
.gap-32 {
  gap: 32px;
}
.gap-40 {
  gap: 40px;
}
/*НОВЫЕ КАРТОЧКИ*/
.tarifcard {
  width: 287px;
  background-color: #f0f3f5;
  border-radius: 24px 24px 32px 32px;
  min-height: 312px;
  display: flex !important;
  flex-direction: column;
  height: auto !important;
  min-width: 287px;
  color: #28303f;
  background: url(/files/storage/sot-tarifcard.svg) right -15px top -15px / 85px
      no-repeat,
    #f0f3f5;
}

.tarifcard-header {
  padding: 16px 24px;
}

.tarifcard-header > p {
  font-size: 24px;
  line-height: 24px;
}

.tarifcard-promo {
  padding: 4px 10px;
  font-size: 0.75rem;
  line-height: 1rem;
  color: white;
  background-color: #1086f9;
  border-radius: 50px;
  margin-bottom: 8px;
  display: inline-block;
}

.tarifcard-body {
  background-color: #fff;
  border-radius: 32px;
  border: 1px solid #e2e6ed;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 16px 20px;
  box-sizing: border-box;
}

.tarifcard .short-desc {
  font-size: 0.75rem;
  line-height: 1rem;
  color: #28303f;
  padding: 4px 8px;
  background: rgba(255, 200, 0, 0.3);
  border-radius: 24px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
}
.tarifcard .short-desc:before {
  content: url(/files/storage/lighting-solid-b.svg);
  display: block;
  margin-right: 2px;
  width: 14px;
}

.tarifcard-speed {
  margin-bottom: 16px;
}

.tarifcard-fix-speed {
  font-size: 1.25rem;
  line-height: 1.25rem;
  font-weight: 500;
}

.tarifcard-mob-label,
.tarifcard-speed-label {
  color: #6e788a;
  font-size: 0.75rem;
  line-height: 16px;
  margin-bottom: 8px;
  display: block;
}

.tarifcard-tv-value {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.25rem;
  padding-bottom: 2px;
  box-sizing: border-box;
  margin-bottom: 16px;
}
.tarifcard-tv-value > a {
  text-decoration: none;
  color: #28303f;
  border-bottom: 2px dotted #28303f;
}

.tarifcard-mob-options {
  display: flex;
  color: #28303f;
  font-size: clamp(12px, 4.5vw, 16px);
  line-height: 1.25rem;
  font-weight: 500;
  gap: 4px;
  margin-bottom: 16px;
}

.tarifcard-mob-trafic {
  font-size: 0.75rem;
  line-height: 1rem;
  color: #6e788a;
  display: flex;
  gap: 8px;
}
.tarifcard-mob-trafic:before {
  content: "";
  display: block;
  width: 94px;
  height: 32px;
  background: url(/files/storage/trafic-tarifcard-w.webp) no-repeat center
    center / contain;
}

.tarifcard-speed-options {
  display: flex;
  gap: 8px;
}

.speed-option {
  padding: 12px 25px;
  background-color: #e2e6ed;
  color: #28303f;
  font-size: 1rem;
  line-height: 1.25rem;
  transition: ease 0.3s;
  cursor: pointer;
  border-radius: 44px;
  font-weight: 400;
  font-size: clamp(12px, 4.5vw, 16px);
  box-sizing: border-box;
}

.speed-option.active {
  color: #fff;
  background-color: #222731;
  cursor: default;
}
.speed-option.mono {
  max-width: 77px;
}

.tarifcard-footer {
  margin-top: auto;
  text-align: center;
  padding-top: 30px;
}

.tarifcard-price {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 8px;
  align-items: flex-end;
}

.tarifcard-price-base {
  color: #28303f;
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 500;
}

.tarifcard-price-next {
  color: #98a0b0;
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 500;
  text-decoration: line-through;
}

.tarifcard-btn {
  box-sizing: border-box;
  display: inline-block;
  width: 100%;
  background-color: #ffc800;
  font-size: 1rem;
  font-weight: 500;
  padding: 18px 23px;
  color: #28303f;
  transition: ease 0.3s;
  text-decoration: none;
  border-radius: 40px;
  text-align: center;
}

.tarifcard-details {
  text-decoration: none;
  color: #28303f;
  font-weight: 500;
  margin: 16px 0 4px;
  display: inline-block;
}

.tarifcard .up-desc {
  border: none !important;
  color: #28303f;
  font-size: 0.75rem !important;
  margin-bottom: 16px;
}

.tarifcard .dop-desc {
  border: none !important;
  color: #6e788a;
  font-size: 0.75rem !important;
  margin-bottom: 12px;
}
.tarifscard-mono-desc {
  font-size: 0.75rem;
  line-height: 1rem;
  color: rgba(110, 120, 138, 1);
}

/*НОВЫЕ КАРТОЧКИ END*/
/*Кастомные точки у встроенного слайдера*/
.slick-dots li button {
  width: 12px !important;
  height: 12px !important;
  background-color: #afb7c4;
  border-radius: 50%;
  transition: 0.4s ease;
}

.slick-dots li button:before {
  content: " ";
}

.slick-dots li.slick-active button {
  background-color: #28303f;
  width: 32px !important;
  border-radius: 10px;
}

.slick-dots li {
  width: auto !important;
  height: auto !important;
}
/*cookie*/
.cookie-notification {
  z-index: 9999 !important;
  font-size: 0.875rem;
  line-height: 1.25rem;
  background-color: #fff;
  position: fixed;
  left: 50%;
  right: auto;
  width: 90%;
  max-width: 526px;
  bottom: 8px;
  transform: translateX(-50%);
  padding: 16px;
  border-radius: 16px;
  box-shadow: 0px 0px 1px 0px rgba(96, 96, 96, 0.1);
  box-shadow: 0px 12px 24px -6px rgba(96, 96, 96, 0.15);
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
}
.cookie-notification > svg {
  background-color: rgba(253, 200, 0, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  color: rgba(253, 200, 0, 1);
  flex-shrink: 0;
}
.cookie-notification a {
  color: #fdc800;
  text-decoration: none;
}
.cookie-notification > button {
  border: none;
  justify-self: flex-end;
  padding: 4px 14px !important;
  font-size: 12px !important;
}
@media (max-width: 640px) {
  .cookie-notification {
    flex-wrap: wrap;
  }
  .cookie-notification > svg {
    display: none;
  }
  .cookie-notification > p {
    width: 100%;
  }
}
/*cookie end*/
/*желтый круглый чекбокс*/
.checkbox {
  display: flex;
  align-items: center;
}
.checkbox input[type="checkbox"] {
  appearance: none;
  width: 24px;
  height: 24px;
  background-color: #e2e6ed;
  border: 4px solid #e2e6ed;
  border-radius: 50%;
  margin-right: 8px;
  accent-color: #20242a;
  transition: ease 0.3s;
  cursor: pointer;
  flex-shrink: 0;
}
/*злой брат близнец для темной темы*/
.checkbox.checkbox__dark input[type="checkbox"] {
  background-color: #28303f;
  border-color: #28303f;
}
.checkbox input[type="checkbox"]:checked {
  background-color: #ffc800;
  border-color: #ffc800;
}
