@font-face {
  font-family: "VivintCircular";
  src: url("/staticfiles/vivint-fonts/vivintCircular-Bold.otf");
  font-weight: 700;
}

@font-face {
  font-family: "VivintCircular";
  src: url("/staticfiles/vivint-fonts/vivintCircular-Regular.otf");
  font-weight: 400;
}

@font-face {
  font-family: "VivintCircular";
  src: url("/staticfiles/vivint-fonts/vivintCircular-Medium.otf");
  font-weight: 500;
}

@font-face {
  font-family: "VivintCircular";
  src: url("/staticfiles/vivint-fonts/vivintCircular-Light.otf");
  font-weight: 300;
}

@font-face {
  font-family: "VivintSans";
  src: url("/staticfiles/vivint-fonts/vivintSans-Medium.otf");
  font-weight: 500;
}

body,
html {
  font-family: "VivintCircular", sans-serif;
  margin: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

.all-main h1,
.all-main h2,
.all-main h3,
.all-main h4,
.all-main h5,
.all-main h6,
.all-main p,
.all-main ul,
.all-main li {
  margin: 0;
  padding: 0;
}

.all-main h1,
.all-main h2,
.all-main h3,
.all-main h4,
.all-main h5,
.all-main h6 {
  font-family: "VivintSans", sans-serif;
}

.all-main ul {
  list-style: none;
}

.all-main a {
  cursor: pointer;
  text-decoration: none;
}

.all-main img {
  width: 100%;
}

.all-main .custom-container {
  max-width: 74.375rem;
  margin: 0 auto;
  padding: 0 1.5625rem;
}
.all-main sub,
.all-main h1 sup,
.all-main h2 sup,
.all-main h3 sup {
  font-size: 2rem;
}
.all-main p sup {
  font-size: 1rem;
}
.all-main span sup {
  font-size: 1rem;
}
/* vivint-home-banner start */

.btn-all {
  font-weight: 700;
  font-size: 1rem;
}

.generic-btn {
  padding: 1rem 2.5rem 0.85rem;
  border-radius: 2.5rem;
  display: inline-block;
}

.generic-section {
  padding: 5.25rem 0;
  background-color: white;
  background-repeat: no-repeat;
}

.generic-section.vivint-home-banner {
  padding: 2.5rem 0;
}

.generic-section.vivint-home-banner {
  background-image: url(/staticfiles/images/home-banner-bg.svg);
  background-position: center;
  background-size: cover;
}

.generic-main {
  display: flex;
  gap: 7.75rem;
  align-items: center;
}

.banner-heading h1,
.banner-heading p {
  line-height: 100%;
  color: #212721;
}

.banner-heading h1 {
  font-weight: 500;
  font-size: 3.5rem;
  margin-bottom: 1.5625rem;
}

.banner-heading p {
  font-weight: 400;
  font-size: 1.75rem;
  margin-bottom: 3.3125rem;
}

.generic-left {
  width: 51%;
}

.black-btn .generic-btn {
  background-color: #212721;
}

.text-white .btn-all {
  color: #ffffff;
}

.generic-right {
  width: 40%;
}

.vivint-home-banner {
  position: relative;
}

/* vivint-home-banner end */

/* home-security start */
.generic-left.flex-box {
  display: flex;
  align-items: center;
}

.green-btn .generic-btn {
  background-color: #445d31;
}

.home-security-section .generic-main {
  background-color: #b9c9a9;
  border-radius: 1.25rem;
  padding: 3.125rem 1.175rem;
  gap: 5.3rem;
}

.home-security-section .generic-right {
  width: 24%;
}

.home-security-section .generic-left {
  width: 70.5%;
  gap: 0.625rem;
}

.home-security-section .generic-left img {
  max-width: 16.25rem;
}

.generic-main h3 {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 100%;
}

.home-security-section .generic-main h3 {
  color: #445d31;
}
/* home-security end */

/* homeowners-trust-section start */
.generic-section.homeowners-trust-section {
  padding: 0;
}

.generic-vivint-main {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}

.generic-vivint-content {
  max-width: 68%;
  margin: 0 auto;
  text-align: center;
}

/* .generic-vivint-content span,
.generic-vivint-content h2,
.generic-vivint-content p {
  line-height: 100%;
} */

.generic-vivint-content.text-black {
  color: #212721;
}
.generic-vivint-content span {
  font-weight: 500;
  font-size: 1.5rem;
  display: inline-block;
  margin-bottom: 1.0625rem;
}

.generic-vivint-content h2 {
  font-weight: 500;
  font-size: 3rem;
  margin-bottom: 1.25rem;
}

.generic-vivint-content p {
  font-weight: 400;
  font-size: 1.5rem;
}

.generic-vivint-main .homeowners-trust-boxes {
  display: flex;
  gap: 5.625rem;
}

.generic-vivint-main .homeowners-trust-box {
  padding: 2.5625rem 1.75rem;
  width: 22%;
  background-color: #efefef;
  text-align: center;
  border-radius: 1.0625rem;
}

.homeowners-trust-box .trust-box-icon {
  margin-bottom: 0.625rem;
}

.homeowners-trust-box img {
  width: 2.5625rem;
  height: 2.5625rem;
  background-color: #ffffff;
  padding: 0.625rem;
  border-radius: 0.5625rem;
}
.generic-vivint-main h5 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 100%;
}

.homeowners-trust-box:hover {
  transition: 0.3s ease-in-out;
}

.homeowners-trust-box:hover h5 {
  color: #fff;
  transition: 0.3s ease-in-out;
}
.homeowners-trust-box:hover:nth-child(1) {
  background-color: #e2b95d;
}
.homeowners-trust-box:hover:nth-child(2) {
  background-color: #ddba9b;
}

.homeowners-trust-box:hover:nth-child(3) {
  background-color: #5e7775;
}

.homeowners-trust-box:hover:nth-child(4) {
  background-color: #b17b80;
}
/* homeowners-trust-section end */

/* slider-section start */

.slider-section {
  background-color: #fff;
}
.slider-section h2 {
  margin-bottom: unset;
}
.track-wrap {
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.track {
  gap: 2.15625rem;
  transition: transform 0.36s cubic-bezier(0.22, 0.99, 0.36, 1);
  will-change: transform;
  touch-action: pan-y;
  align-items: stretch;
  justify-content: center;
}

.slide {
  border-radius: 0.6637rem;
  max-height: 153.625rem;
  display: flex;
  gap: 1.25rem;
  cursor: pointer;
  justify-content: center;
  flex-wrap: wrap;
}

/* responsive: at very small screens show 1 or 2 slides */
.slider-container {
  overflow: hidden;
  min-height: 400px;
}

.slide-content {
  background-color: #ffffff;
  padding: 2rem;
  text-align: left;
  border-radius: 1.5625rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 17.8rem;
}

.slider-section .slider-content {
  text-align: center;
  margin-bottom: 3.125rem;
}

.slider-section .card-detail-top {
  margin-bottom: 1.3125rem;
}

.slider-section .generic-vivint-main {
  background-color: #efefef;
  border-radius: 1.25rem;
  padding: 3.75rem 3.125rem;
}

.generic-vivint-main h4 {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5rem;
}

/* .card-detail-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.02rem;
} */
.card-detail-bottom h4 {
  margin-bottom: 0.5375rem;
}
.divider-horizontal {
  border: 1px solid #000000;
  opacity: 0.3;
  margin: 0.55rem 0 2.4375rem;
}

.small-card-content-heading {
  padding: 0.2rem 2.625rem 0;
  text-align: center;
}

.slider-section .icon::before {
  content: "";
  background-image: url(/staticfiles/images/check-icon.svg);
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  flex-shrink: 0;
  position: relative;
}

.slider-section .icon.cross-list::before {
  background-image: url(/staticfiles/images/cross-list-icon.svg);
}

.slider-section .card-detail-list {
  margin-bottom: 1.5625rem;
}

.slider-section .card-detail-list ul .icon {
  align-items: flex-start;
  gap: 0.6625rem;
  margin-bottom: 0.8844rem;
  display: flex;
  font-weight: 400;
  font-size: 0.885rem;
  line-height: 1.3275rem;
  color: rgba(55, 65, 81, 1);
}

.slider-section .card-detail-list ul .icon.cross-list {
  opacity: 0.5;
}

.package-btn {
  border: 1px solid #000000;
  border-radius: 2.5rem;
  display: inline-block;
}

.package-btn .generic-btn {
  color: #212721;
}
/* slider-plans end */

/* smart-home-protection start */
.generic-section.smart-home-section {
  background-color: #efefef;
  padding: 2.5rem 0;
}

.smart-home-main .generic-left,
.smart-home-main .generic-right {
  width: 50%;
}

.smart-home-main .generic-vivint-content {
  text-align: unset;
}

.smart-home-main .generic-vivint-content p {
  margin-bottom: 1.3125rem;
}

.generic-vivint-content li {
  margin-bottom: 1.5rem;
}

.generic-vivint-content li:nth-child(4) {
  margin-bottom: 2.5625rem;
}

.btn-all .call-icon {
  width: 1.0938rem;
  height: 1.0938rem;
  transform: translate(0rem, -0.1125rem);
}

.btn-all.generic-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4375rem;
  /* line-height: 1; */
}

.smart-home-main .generic-vivint-content {
  max-width: unset;
  margin: unset;
}

.security-lists ul li {
  margin-bottom: 1.5rem;
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 100%;
  color: #212721;
}

.security-lists ul li:nth-child(4) {
  margin-bottom: 2.5625rem;
}

.who-we-are-all {
  display: flex;
  gap: 5.625rem;
  align-items: center;
}

.who-we-are-column-inner ul li {
  font-weight: 400;
  font-size: 1.5625rem;
  line-height: 1.875rem;
  letter-spacing: -3%;
  vertical-align: middle;
  margin-bottom: 1.5rem;
  color: #001a3d;
}

.specialty-item:hover {
  color: #212721;
  transform: translateX(0.625rem);
  font-weight: 500;
}

.specialty-item {
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: block;
}

#specialty-list {
  display: block;
}

.generic-vivint-content ul li {
  margin-bottom: 2rem;
}

.specialty-item.active {
  text-decoration: underline;
  text-decoration-style: solid;
  font-weight: 500;
}

.who-we-are-column-image {
  position: relative;
  overflow: hidden;
}

.who-we-are-column-image img {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.who-we-are-column-image img.fade-out {
  opacity: 0;
  transform: scale(0.95);
}

.who-we-are-column-image img.fade-in {
  opacity: 1;
  transform: scale(1);
}
/* smart-home-protection end */

/* dorbell-detect-section start */
.dorbell-detect-section .generic-main {
  background-image: url(/staticfiles/images/doorbell-detection-image.webp);
  background-repeat: no-repeat;
  padding: 2.5rem 1.5rem;
  border-radius: 1.375rem;
  gap: 1.875rem;
}

.text-white .generic-vivint-content h3,
.text-white .generic-vivint-content p {
  color: #fff;
}

.dorbell-detect-section .generic-vivint-content {
  max-width: 69%;
}

.white-btn .generic-btn {
  background-color: #ffffff;
}

.text-blue .btn-all {
  color: #81aeb5;
}
/* dorbell-detect-section end */

/* how-it-works-card starts */
.generic-section.how-it-works-card {
  padding: 0;
}

.consultation-card-container {
  display: flex;
  gap: 1.875rem;
}

.how-it-works-card .generic-vivint-content h2 {
  margin-bottom: unset;
}

.consultation-card {
  width: 32%;
  background-color: #efefef;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* .image-container {
  overflow: hidden;
} */

.consultation-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.consultation-card-content {
  padding: 0.875rem 1.125rem;
  background-color: #efefef;
}
.consultation-card-text {
  min-height: 12rem;
}

.consultation-card label {
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 100%;
  margin-bottom: 2.125rem;
  display: inline-block;
  position: relative;
  z-index: 1;
}

.consultation-card label::before {
  content: "";
  background-color: #fff;
  position: absolute;
  width: 6rem;
  height: 2.3rem;
  top: -0.5625rem;
  left: -1.25rem;
  z-index: -1;
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 3.125rem;
}

.consultation-card h4 {
  margin-bottom: 1.4375rem;
}

.consultation-card p {
  font-weight: 300;
  font-size: 0.75rem;
  margin-bottom: 2.8125rem;
}

/* Slider layout */
.slider-wrap {
  position: relative;
  overflow: hidden;
  padding: 0 3rem 6rem;
}
.card-detail-bottom p{
  font-size: 0.80rem;
}
/* Container movement animation */
.consultation-card-container {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.6s ease;
  gap: 1.875rem;
}

/* Individual cards */
.consultation-card {
  flex: 0 0 calc(33.333% - 1rem);
  min-width: calc(33.333% - 1rem);
}

/* Buttons */
.slider-btn {
  position: absolute;
  bottom: 0;
  transform: translateY(-20%);
  background: #fff;
  border: none;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  font-size: 2rem;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 10;
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: center;
}

.slider-btn.left {
  left: 0;
  right: 4rem;
}

.slider-btn.right {
  left: 4rem;
  right: 0;
}

/* how-it-works-card end */

/* faqs-section start */
.generic-section.service-faqs {
  background-color: #fff;
  padding: 5.25rem 0;
}

.service-faqs .work-together-header h2 {
  text-align: center;
  margin-bottom: 1.5rem;
}

.service-faqs .faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.service-faqs .faq-item {
  overflow: hidden;
  transition: all 0.7s ease-in-out;
  background-color: #ffffff;
  box-shadow: 0px 2px 6px 0px #1018280f;
  border-radius: 0.625rem;
  border: 1px solid #414441;
}

.service-faqs .faq-item.active {
  background-color: #efefef;
  border: unset;
}

.service-faqs .faq-item.active span {
  color: rgba(45, 46, 46, 1);
}

.service-faqs .faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  cursor: pointer;
  transition: 0.3s ease-in-out;
  min-height: 3rem;
}

.service-faqs .faq-question h4 {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.5rem;
  max-width: 70%;
  color: #2d2e2e;
}

.service-faqs .faq-icon {
  width: 1.25rem;
  height: 1.25rem;
  transition: transform 0.3s ease-in-out;
  position: relative;
}

.service-faqs .faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  background: #414441;
  transition: all 0.3s ease-in-out;
}

.service-faqs .faq-icon::before {
  width: 100%;
  height: 0.125rem;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.service-faqs .faq-icon::after {
  width: 0.125rem;
  height: 100%;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.service-faqs .faq-item.active .faq-icon::after {
  transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}

.service-faqs .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
}

.service-faqs .faq-item.active .faq-answer {
  max-height: 12.5rem;
}

.service-faqs .faq-answer p {
  font-weight: 400;
  font-size: 0.9rem;
  line-height: 1rem;
  color: #2d2e2e;
  padding: 0 1.5rem 1rem;
  max-width: 80%;
}

.service-faqs .faq-section {
  margin-top: unset;
}

.service-faqs .work-together-right {
  width: 85%;
  margin: 0 auto;
}

.service-faqs .work-together-content {
  gap: 1rem;
}
/* faq-section end */

/* upgrade-home-section start */
.generic-section.upgrade-home-section {
  padding: 0 0 5.25rem;
}
.upgrade-home-section .generic-main {
  background-image: url(/staticfiles/images/upgrade-home-security.webp);
  gap: unset;
}
.generic-vivint-main .generic-vivint-content p {
  margin-top: 1.25rem;
}

.orange-btn .generic-btn {
  background-color: #dba435;
  margin-top: 1.25rem;
}

/* upgrade-home-section end */

@media (max-width: 1200px) {
  html {
    font-size: 13px;
  }
}

@media (max-width: 1024px) {
  html {
    font-size: 11.5px;
  }
  .dorbell-detect-section .generic-main {
    background-position: center;
    background-size: cover;
  }

  .generic-section {
    background-size: cover;
  }

  .generic-vivint-main .homeowners-trust-boxes {
    flex-wrap: wrap;
    justify-content: center;
    gap: 3rem;
  }
}

@media (max-width: 768px) {
  html {
    font-size: 11px;
  }

  .all-main .custom-container {
    padding: 0 2.5rem;
  }

  .generic-section {
    padding: 4rem 0;
  }

  .generic-section.vivint-home-banner {
    background-size: cover;
  }

  .generic-main {
    flex-direction: column;
    gap: 4.7rem;
  }

  .generic-left {
    width: 100%;
  }

  .generic-right {
    width: 70%;
  }

  .home-security-section .generic-left {
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
  }

  .home-security-section .generic-right {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .home-security-section .generic-main {
    gap: 2rem;
  }

  .consultation-card-container {
    flex-wrap: wrap;
    justify-content: center;
  }

  .consultation-card {
    width: 65%;
  }

  .slide-content {
    width: 80%;
  }

  .who-we-are-all {
    flex-direction: column;
  }
  .smart-home-main .generic-left,
  .smart-home-main .generic-right {
    width: 100%;
  }

  .dorbell-detect-section .generic-vivint-content {
    max-width: 100%;
  }

  .generic-vivint-main .homeowners-trust-box {
    width: 55%;
  }
  .generic-vivint-content {
    max-width: 100%;
  }
  .service-faqs .work-together-right {
    width: 100%;
  }

  .how-it-works-card .consultation-card {
    min-width: 85%;
  }
}
@media (max-width: 425px) {
  html {
    font-size: 11px;
  }
  .generic-vivint-main .homeowners-trust-box {
    width: 60%;
  }

  .consultation-card {
    width: 90%;
  }
  .how-it-works-card .consultation-card {
    min-width: 100%;
  }
}
