.bottom-parallax {
  position: relative;

  height: 450px;

  opacity: 0;

  z-index: -999;
}

.bottom-parallax .footer-area {
  position: fixed;

  left: 0px;

  bottom: 0px;

  right: 0px;

  height: 450px;
}

.parallax-visible .bottom-parallax {
  opacity: 1;

  z-index: 1;
}

.footer-area {
  position: relative;

  display: block;

  background: #1a1c23;

  z-index: 10;
}

.footer-area .right-shape {
  position: absolute;

  right: 0;

  bottom: 80px;
}

.footer-top {
  position: relative;

  display: block;

  border-top: 1px solid #2f3139;

  border-bottom: 1px solid #2f3139;

  padding-top: 60px;

  padding-bottom: 30px;
}

.footer-top .lef-shape {
  position: absolute;

  top: 0;

  left: 0;
}

.footer-top .lef-shape span {
  position: relative;

  display: inline-block;

  color: #1f2128;

  font-size: 430px;

  line-height: 430px;
}

.footer-top .single-widget {
  margin-bottom: 43px;
}

.single-footer-widget .title {
  position: relative;

  display: block;

  margin-top: -4px;
}

.single-footer-widget .title h3 {
  color: #eae0e4;

  font-size: 22px;

  line-height: 24px;

  font-weight: 500;

  text-transform: capitalize;
}

.footer-widget-links {
  position: relative;

  display: block;

  overflow: hidden;

  padding-top: 28px;
}

.single-footer-widget--link-box {
  position: relative;
}

.single-footer-widget--link-box-style2 {
  margin-top: 37px;
}

.footer-widget-links ul {
  position: relative;

  display: block;

  overflow: hidden;
}

.footer-widget-links ul li {
  position: relative;

  display: block;

  line-height: 26px;

  margin-bottom: 11px;
}

.footer-widget-links ul li:last-child {
  margin-bottom: 0;
}

.footer-widget-links ul li a {
  position: relative;

  display: inline-block;

  padding-right: 25px;

  color: #b8b4b1;

  font-size: 16px;

  font-weight: 400;

  font-family: var(--thm-font);

  transition: all 100ms linear;

  transition-delay: 0.1s;
}

/* Simpler style for legal links */
.legal-widget .footer-widget-links ul li a,
.info-widget .footer-widget-links ul li a[href="privacy-policy.html"],
.info-widget .footer-widget-links ul li a[href="terms-conditions.html"] {
  padding-right: 0;
  text-decoration: underline;
}

.footer-widget-links ul li a:hover {
  color: #ffffff;

  padding-left: 2px;
}

.footer-widget-links ul li a:before {
  font-family: "icomoon" !important;

  content: "\e90f";

  position: absolute;

  right: 0;

  font-size: 14px;

  transform: perspective(400px) scaleX(0);

  transform-origin: center;

  transition: all 300ms linear;

  transition-delay: 0.1s;

  z-index: 1;
}

/* Remove icon for legal links */
.legal-widget .footer-widget-links ul li a:before,
.info-widget .footer-widget-links ul li a[href="privacy-policy.html"]:before,
.info-widget .footer-widget-links ul li a[href="terms-conditions.html"]:before {
  content: "";
}

.footer-widget-links ul li a:hover:before {
  transform: perspective(400px) scaleX(1);
}

.footer {
  position: relative;

  display: block;

  overflow: hidden;

  padding-top: 80px;

  padding-bottom: 70px;

  z-index: 9;
}

.single-footer-widget {
  position: relative;

  display: block;
}

.single-footer-widget .our-company-info {
  position: relative;

  display: block;
}

.footer-logo-style1 {
  position: relative;

  display: block;

  padding-bottom: 23px;
}

.footer-logo-style1 a {
  position: relative;

  display: inline-block;
}

.copyright-text {
  position: relative;

  display: block;
}

.copyright-text p {
  color: #b8b4b1;
}

.copyright-text p a {
  color: #ffffff;

  font-weight: 500;
}

.footer-widget-contact-info {
  position: relative;

  display: block;
}

.footer-widget-contact-info ul {
  position: relative;

  display: block;

  overflow: hidden;
}

.footer-widget-contact-info ul li {
  position: relative;

  display: block;
}

.footer-widget-contact-info ul li + li {
  margin-top: 21px;
}

.footer-widget-contact-info ul li h3 {
  color: #ffffff;

  font-size: 22px;

  line-height: 20px;

  font-weight: 500;

  margin: 0 0 10px;
}

.footer-widget-contact-info ul li h3 a {
  color: #ffffff;
}

.footer-widget-contact-info ul li p {
  color: #b8b4b1;
}

.single-footer-widget-right-colum {
  position: relative;

  display: block;
}

.single-footer-widget-right-colum ul {
  position: relative;

  display: block;

  overflow: hidden;
}

.single-footer-widget-right-colum ul li {
  position: relative;

  display: block;

  margin-bottom: 20px;
}

.single-footer-widget-right-colum ul li:last-child {
  margin-bottom: 0;
}

.single-footer-widget-right-colum ul li a {
  position: relative;

  display: flex;

  justify-content: space-between;

  align-items: center;

  border: 1px solid #2f3139;

  padding: 13px 20px 13px;

  color: #ffffff;

  font-size: 18px;

  font-weight: 500;

  font-family: var(--thm-font-2);

  transition: all 200ms linear;

  transition-delay: 0.1s;
}

.single-footer-widget-right-colum ul li a span {
  position: relative;

  display: inline-block;

  color: #b8b4b1;

  font-size: 20px;
}

.single-footer-widget-right-colum ul li a:hover {
  color: #ffffff;

  border-color: var(--thm-base);

  background-color: var(--thm-base);
}

.footer-bottom {
  position: relative;

  display: block;

  background: #121419;
}

.footer-bottom .bottom-inner {
  position: relative;

  display: flex;

  flex-direction: row;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  padding: 20px 0px 20px;
}

.footer-menu {
  position: relative;

  display: block;
}

.footer-menu ul {
  position: relative;

  display: block;

  overflow: hidden;
}

.footer-menu ul li {
  position: relative;

  display: block;

  float: left;

  margin-right: 30px;
}

.footer-menu ul li:last-child {
  margin-right: 0;
}

.footer-menu ul li a {
  color: #b8b4b1;

  font-size: 16px;

  font-weight: 400;

  font-family: var(--thm-font);

  transition: all 200ms linear;

  transition-delay: 0.1s;
}

.footer-menu ul li a:hover {
  color: #ffffff;
}

.footer-social-link {
  position: relative;

  display: block;
}

.footer-social-link ul {
  position: relative;

  display: block;
}

.footer-social-link ul li {
  position: relative;

  float: left;

  margin-right: 10px;
}

.footer-social-link ul li:last-child {
  margin-right: 0;
}

.footer-social-link ul li a {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  height: 40px;

  width: 40px;

  background: rgba(255, 255, 255, 0.1);

  border-radius: 50%;

  color: #ffffff;

  font-size: 14px;

  text-align: center;

  transition: all 200ms linear;

  transition-delay: 0.1s;

  z-index: 1;
}

.footer-social-link ul li a:before {
  position: absolute;

  top: 0px;

  left: 0px;

  bottom: 0px;

  right: 0px;

  background: #ffffff;

  border-radius: 50%;

  content: "";

  opacity: 0;

  transform: scale(0.5);

  transform-style: preserve-3d;

  transition: all 0.4s cubic-bezier(0.62, 0.21, 0.45, 1.52);

  z-index: -1;
}

.footer-social-link ul li:hover a:before {
  opacity: 1;

  transform: scale(1);
}

.footer-social-link ul li:hover a {
  color: var(--thm-base);

  border-color: var(--thm-base);
}

.footer-area--style2 {
  background: #1a1c23;
}

.footer-top-style2 {
  position: relative;

  display: block;

  padding: 100px 0 93px;
}

.footer-top-style2__left-content {
  position: relative;

  display: block;

  padding-right: 100px;
}

.footer-top-style2__left-content .our-company-info .bottom-text2 {
  position: relative;

  display: block;

  padding-top: 5px;
}

.footer-top-style2__left-content .our-company-info .bottom-text2 p {
  color: #a5a6aa;
}

.footer-top-style2__left-content .our-company-info .bottom-text2 .btn-box {
  position: relative;

  display: block;

  padding-top: 17px;
}

.footer-top-style2__left-content .our-company-info .bottom-text2 .btn-box a {
  color: #ffffff;

  font-size: 18px;

  font-weight: 500;

  font-family: var(--thm-font-2);
}

.footer-top-style2__left-content
  .our-company-info
  .bottom-text2
  .btn-box
  a
  span {
  position: relative;

  top: 1px;

  display: inline-block;

  padding-right: 7px;

  color: var(--thm-base);

  font-size: 16px;
}

.footer-top-style2__left-content-inner {
  position: relative;

  display: block;

  padding-top: 36px;
}

.footer-top-style2__left-content-inner .row {
  --bs-gutter-x: 0px;
}

.footer-top-style2__left-content-inner > ul > li {
  position: relative;
}

.footer-top-style2__left-content-inner > ul > li:before {
  content: "";

  position: absolute;

  top: 7px;

  right: 0;

  bottom: 7px;

  width: 1px;

  background-color: #2f3139;
}

.footer-top-style2__left-content-inner > ul > li:last-child::before {
  display: none;
}

.footer-top-style2__left-content-inner > ul > li + li {
  padding-left: 30px;
}

.footer-top-style2__left-content-inner > ul > li:last-child {
  border-right: none;
}

.footer-top-style2__left-content-inner .footer-widget-links {
  padding-top: 0;
}

.footer-top-style2__right-content {
  position: relative;

  display: block;
}

.footer-contact-info-style {
  position: relative;

  display: block;
}

.footer-contact-info-style ul {
  position: relative;

  display: block;

  overflow: hidden;
}

.footer-contact-info-style ul li {
  position: relative;

  display: block;

  padding-left: 80px;
}

.footer-contact-info-style ul li + li {
  margin-top: 21px;
}

.footer-contact-info-style ul li .icon {
  position: absolute;

  top: 0;

  left: 0;

  width: 50px;

  height: 50px;

  border: 1px solid #2f3139;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #a5a6aa;

  font-size: 20px;
}

.footer-contact-info-style ul li .text {
  position: relative;

  display: block;

  top: -2px;
}

.footer-contact-info-style ul li .text h3 {
  color: #eae0e4;

  font-size: 22px;

  line-height: 22px;

  margin: 0 0 14px;
}

.footer-contact-info-style ul li .text p {
  color: #a5a6aa;
}

.footer-contact-info-style ul li .text p a {
  color: #a5a6aa;

  font-weight: 500;

  transition: all 200ms linear;

  transition-delay: 0.1s;
}

.footer-contact-info-style ul li .text p a:hover {
  color: #ffffff;
}

.find-nearest-branch-box {
  position: relative;

  display: block;

  border: 1px solid #2f3139;

  padding: 26px 0 0;

  margin-top: 41px;
}

.find-nearest-branch-box .top-outer {
  position: relative;

  display: block;

  padding: 0 30px 28px;
}

.find-nearest-branch-box .top {
  position: relative;

  display: block;

  padding-left: 70px;
}

.find-nearest-branch-box .top .icon {
  position: absolute;

  top: 4px;

  left: 0;

  width: 50px;

  height: 50px;

  background-color: var(--thm-base);

  border-radius: 50%;

  color: #ffffff;

  font-size: 25px;

  display: flex;

  align-items: center;

  justify-content: center;
}

.find-nearest-branch-box .top .inner-title {
  position: relative;

  display: block;
}

.find-nearest-branch-box .top .inner-title h3 {
  color: #ffffff;

  font-size: 20px;

  line-height: 28px;
}

.find-nearest-branch-box .form-box1 {
  position: relative;

  display: block;
}

.find-nearest-branch-box .form-box1 .zip-form {
  position: relative;

  display: block;
}

.find-nearest-branch-box .form-box1 input[type="number"] {
  position: relative;

  display: block;

  width: 100%;

  height: 51px;

  border: none;

  border-top: 1px solid #2f3139;

  background-color: transparent;

  color: #a5a6aa;

  font-size: 16px;

  font-weight: 400;

  padding-left: 30px;

  padding-right: 100px;

  border-radius: 0px;

  transition: all 500ms ease 0s;
}

.find-nearest-branch-box .form-box1 .zip-form button {
  position: absolute;

  top: 1px;

  right: 0px;

  width: 110px;

  height: 50px;

  color: #ffffff;

  font-size: 18px;

  font-weight: 500;

  font-family: var(--thm-font-2);
}

.find-nearest-branch-box .form-box1 .zip-form button i {
  position: relative;

  top: 1px;

  display: inline-block;

  padding-right: 7px;

  color: var(--thm-base);

  font-size: 16px;
}

.footer-bottom-style2 {
  position: relative;

  display: block;

  background: #272a32;
}

.footer-bottom-style2 .bottom-inner {
  position: relative;

  display: flex;

  flex-direction: row;

  justify-content: space-between;

  align-items: center;

  flex-wrap: wrap;

  padding: 22px 0px 22px;
}

.scrool-top-btn-style2 {
  position: relative;

  display: block;
}

.scrool-top-btn-style2 a {
  color: #ffffff;

  font-size: 18px;

  font-weight: 500;

  font-family: var(--thm-font-2);

  transition: all 200ms linear;

  transition-delay: 0.1s;
}

.scrool-top-btn-style2 a:hover {
  color: var(--thm-base);
}

.scrool-top-btn-style2 a i {
  position: relative;

  top: 0px;

  display: inline-block;

  padding-right: 9px;

  color: var(--thm-base);

  font-size: 12px;
}

.footer-area--style3 {
  position: relative;
}

.footer-area--style3 .footer-top {
  border-top: 0px solid #2f3139;

  border-bottom: 1px solid #2f3139;

  padding-top: 100px;

  padding-bottom: 50px;
}

.single-footer-widget .our-company-info .bottom-text {
  position: relative;

  display: block;

  padding-top: 10px;
}

.single-footer-widget .our-company-info .bottom-text p {
  color: #bcbcbc;
}

.footer-certificate-box {
  position: relative;

  display: flex;

  align-items: center;

  margin-top: 23px;
}

.footer-certificate-box .icon {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 50px;

  height: 50px;

  background: #ffffff;

  border-radius: 50%;

  color: var(--thm-black);

  font-size: 25px;
}

.footer-certificate-box .title {
  position: relative;

  flex: 1;

  margin-left: 20px;
}

.footer-certificate-box .title h3 {
  color: #ffffff;

  font-size: 18px;

  line-height: 24px;
}

.find-nearest-branch-box-style2 {
  position: relative;

  display: block;
}

.find-nearest-branch-box-style2 .icon {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  width: 50px;

  height: 50px;

  background: #ffffff;

  border-radius: 50%;

  color: var(--thm-black);

  font-size: 25px;
}

.find-nearest-branch-box-style2 h3 {
  color: #ffffff;

  font-size: 22px;

  line-height: 30px;

  margin: 19px 0 15px;
}

.find-nearest-branch-box-style2 form {
  position: relative;

  display: block;

  width: 100%;
}

.find-nearest-branch-box-style2 form .input-box {
  position: relative;

  display: block;

  margin-bottom: 10px;
}

.find-nearest-branch-box-style2 form .select-box {
  position: relative;

  display: block;

  width: 100%;
}

.find-nearest-branch-box-style2 form .select-box .nice-select {
  position: relative;

  display: block;

  background-color: transparent;

  border-radius: 0px;

  border: solid 1px #2f3139;

  width: 100%;

  height: 50px;

  color: #bcbcbc;

  font-size: 16px;

  font-weight: 400;

  line-height: 48px;

  outline: none;

  padding-left: 20px;

  padding-right: 20px;

  transition: all 0.2s ease-in-out;

  font-family: var(--thm-font);
}

.find-nearest-branch-box-style2 form .nice-select:after {
  position: absolute;

  content: "\e901";

  font-family: "icomoon" !important;

  color: #bcbcbc;

  font-size: 14px;

  top: 0px;

  right: 19px;

  margin: 0px;

  font-weight: 400;

  border: none !important;

  transform: rotate(0deg) !important;

  height: 20px;

  width: 12px;
}

.find-nearest-branch-box-style2 form .nice-select .list {
  background-color: #ffffff;

  border-radius: 0px;

  box-shadow: 0 0 10px rgb(0 0 0 / 10%);

  padding: 0px 0 0px;

  margin-top: 10px;

  width: 100%;

  left: auto !important;
}

.find-nearest-branch-box-style2 form .nice-select .option {
  padding-left: 15px;

  padding-right: 15px;

  font-size: 15px;

  line-height: 40px;

  min-height: 40px;
}

.find-nearest-branch-box-style2 form input[type="text"],
.find-nearest-branch-box-style2 form input[type="email"] {
  position: relative;

  display: block;

  background: transparent;

  border: 1px solid #2f3139;

  width: 100%;

  height: 50px;

  color: #bcbcbc;

  font-size: 16px;

  font-weight: 400;

  font-style: normal;

  padding-left: 20px;

  padding-right: 20px;

  border-radius: 0px;

  transition: all 500ms ease;

  font-family: var(--thm-font);
}

.find-nearest-branch-box-style2 form .button-box {
  position: relative;

  display: block;

  line-height: 0;

  line-height: 20px;

  padding-top: 12px;
}

.find-nearest-branch-box-style2 form .button-box button {
  color: #ffffff;

  font-size: 18px;

  font-weight: 500;

  font-family: var(--thm-font-2);

  transition: all 200ms linear;

  transition-delay: 0.1s;
}

.find-nearest-branch-box-style2 form .button-box button span {
  position: relative;

  top: 1px;

  display: inline-block;

  padding-right: 7px;

  color: var(--thm-base);

  font-size: 16px;
}

.footer-area--style3 .footer-bottom {
  background: #1a1c23;
}

.premium-cta-section {
  position: relative;

  display: block;

  padding: 120px 0;

  overflow: hidden;

  z-index: 10;
}

.premium-cta-bg {
  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background: linear-gradient(
    135deg,
    var(--thm-base) 0%,

    #8b1538 50%,

    var(--thm-black) 100%
  );

  z-index: 1;
}

.premium-cta-bg::before {
  content: "";

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" patternUnits="userSpaceOnUse" width="100" height="100"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.05)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');

  z-index: 1;
}

.premium-cta-content {
  position: relative;

  z-index: 2;
}

.cta-text-content {
  position: relative;
}

.cta-badge {
  display: inline-flex;

  align-items: center;

  background: rgba(207, 23, 60, 0.15);

  border: 1px solid rgba(207, 23, 60, 0.3);

  border-radius: 50px;

  padding: 8px 20px;

  margin-bottom: 25px;
}

.cta-badge .badge-icon {
  color: var(--thm-primary);

  font-size: 16px;

  margin-right: 8px;
}

.cta-badge .badge-text {
  color: white;

  font-size: 14px;

  font-weight: 500;

  font-family: var(--thm-font);
}

.cta-title {
  color: #ffffff;

  font-size: 42px;

  line-height: 1.2;

  font-weight: 700;

  font-family: var(--thm-font-2);

  margin-bottom: 20px;
}

.cta-title .highlight {
  color: white;

  position: relative;
}

.cta-description {
  color: rgba(255, 255, 255, 0.8);

  font-size: 18px;

  line-height: 1.6;

  margin-bottom: 0;
}

.cta-buttons {
  display: flex;

  flex-direction: column;

  gap: 15px;
}

.premium-cta-btn {
  position: relative;

  display: flex;

  align-items: center;

  justify-content: center;

  padding: 18px 30px;

  border-radius: 50px;

  text-decoration: none;

  font-weight: 600;

  font-family: var(--thm-font-2);

  transition: all 0.4s ease;

  overflow: hidden;

  z-index: 1;
}

.premium-cta-btn.primary {
  background: linear-gradient(135deg, var(--thm-primary) 0%, #cf173c 100%);

  color: var(--thm-black);

  box-shadow: 0 10px 30px rgba(207, 23, 60, 0.3);
}

.premium-cta-btn.secondary {
  background: rgba(255, 255, 255, 0.1);

  color: #ffffff;

  border: 2px solid rgba(255, 255, 255, 0.2);
}

.premium-cta-btn:hover {
  transform: translateY(-3px);
}

.premium-cta-btn.primary:hover {
  box-shadow: 0 15px 40px rgba(207, 23, 60, 0.4);
}

.premium-cta-btn.secondary:hover {
  background: rgba(255, 255, 255, 0.15);

  border-color: var(--thm-primary);

  color: var(--thm-primary);
}

.premium-cta-btn .btn-icon {
  font-size: 18px;

  margin-right: 12px;
}

.premium-cta-btn .btn-text {
  color: white;

  font-size: 16px;
}

.btn-shine {
  position: absolute;

  top: 0;

  left: -100%;

  width: 100%;

  height: 100%;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );

  transition: left 0.6s ease;
}

.premium-cta-btn:hover .btn-shine {
  left: 100%;
}

.premium-footer-area {
  position: relative;

  display: block;

  background: var(--thm-black);

  z-index: 10;
}

.premium-footer-overlay {
  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background: linear-gradient(
    135deg,
    rgba(207, 23, 60, 0.03) 0%,

    rgba(207, 23, 60, 0.03) 100%
  );

  z-index: 1;
}

.footer-main-content {
  position: relative;

  padding: 80px 0 50px;

  z-index: 2;
}

.premium-footer-widget {
  position: relative;

  margin-bottom: 40px;
}

.company-widget .footer-logo-section {
  margin-bottom: 25px;
}

.footer-logo {
  margin-bottom: 15px;
}

.company-badge {
  display: inline-flex;

  flex-direction: column;

  background: rgba(207, 23, 60, 0.1);

  border: 1px solid rgba(207, 23, 60, 0.2);

  border-radius: 8px;

  padding: 8px 12px;
}

.company-badge .badge-year {
  color: var(--thm-primary);

  font-size: 14px;

  font-weight: 700;

  font-family: var(--thm-font-2);
}

.company-badge .badge-status {
  color: #b8b4b1;

  font-size: 12px;

  font-weight: 400;
}

.company-description {
  margin-bottom: 30px;
}

.company-description p {
  color: #b8b4b1;

  font-size: 16px;

  line-height: 1.6;
}

.contact-quick-info {
  display: flex;

  flex-direction: column;

  gap: 20px;
}

.contact-item {
  display: flex;

  align-items: center;
}

.contact-icon {
  width: 45px;

  height: 45px;

  background: linear-gradient(135deg, var(--thm-primary) 0%, #cf173c 100%);

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-right: 15px;

  flex-shrink: 0;
}

.contact-icon i {
  color: var(--thm-black);

  font-size: 18px;
}

.contact-content h5 {
  color: #ffffff;

  font-size: 16px;

  font-weight: 600;

  margin-bottom: 2px;
}

.contact-content h5 a {
  color: #ffffff;

  transition: color 0.3s ease;
}

.contact-content h5 a:hover {
  color: var(--thm-primary);
}

.contact-content span {
  color: #b8b4b1;

  font-size: 13px;
}

.widget-header {
  margin-bottom: 30px;
}

.widget-title {
  display: flex;

  align-items: center;

  color: #ffffff;

  font-size: 20px;

  font-weight: 600;

  font-family: var(--thm-font-2);

  margin-bottom: 0;
}

.title-icon {
  width: 35px;

  height: 35px;

  background: linear-gradient(135deg, var(--thm-base) 0%, #c0392b 100%);

  border-radius: 8px;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-right: 12px;
}

.title-icon i {
  color: #ffffff;

  font-size: 16px;
}

.footer-widget-links ul li a {
  color: #b8b4b1;

  font-size: 15px;

  font-weight: 400;

  transition: all 0.3s ease;

  padding-left: 15px;

  position: relative;
}

.footer-widget-links ul li a:before {
  content: "";

  position: absolute;

  left: 0;

  top: 50%;

  transform: translateY(-50%);

  width: 4px;

  height: 4px;

  background: var(--thm-primary);

  border-radius: 50%;

  opacity: 0;

  transition: opacity 0.3s ease;
}

.footer-widget-links ul li a:hover {
  color: var(--thm-primary);

  padding-left: 20px;
}

.footer-widget-links ul li a:hover:before {
  opacity: 1;
}

.office-info {
  margin-bottom: 30px;
}

.office-address,
.office-hours {
  display: flex;

  align-items: flex-start;

  margin-bottom: 25px;
}

.address-icon,
.hours-icon {
  width: 40px;

  height: 40px;

  background: rgba(207, 23, 60, 0.15);

  border-radius: 8px;

  display: flex;

  align-items: center;

  justify-content: center;

  margin-right: 15px;

  flex-shrink: 0;
}

.address-icon i,
.hours-icon i {
  color: var(--thm-primary);

  font-size: 16px;
}

.address-content h5,
.hours-content h5 {
  color: #ffffff;

  font-size: 16px;

  font-weight: 600;

  margin-bottom: 5px;
}

.address-content p,
.hours-content p {
  color: #b8b4b1;

  font-size: 14px;

  line-height: 1.5;

  margin-bottom: 0;
}

.premium-newsletter {
  background: rgba(255, 255, 255, 0.05);

  border: 1px solid rgba(255, 255, 255, 0.1);

  border-radius: 15px;

  padding: 25px;
}

.premium-newsletter h4 {
  color: #ffffff;

  font-size: 18px;

  font-weight: 600;

  margin-bottom: 8px;
}

.premium-newsletter p {
  color: #b8b4b1;

  font-size: 14px;

  margin-bottom: 20px;
}

.newsletter-form .form-group {
  position: relative;

  display: flex;
}

.newsletter-form input {
  flex: 1;

  background: rgba(255, 255, 255, 0.1);

  border: 1px solid rgba(255, 255, 255, 0.2);

  border-radius: 25px;

  padding: 12px 50px 12px 20px;

  color: #ffffff;

  font-size: 14px;

  transition: all 0.3s ease;
}

.newsletter-form input:focus {
  border-color: var(--thm-primary);

  background: rgba(255, 255, 255, 0.15);

  outline: none;
}

.newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

.newsletter-form .submit-btn {
  position: absolute;

  right: 5px;

  top: 50%;

  transform: translateY(-50%);

  width: 35px;

  height: 35px;

  background: linear-gradient(135deg, var(--thm-primary) 0%, #cf173c 100%);

  border: none;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  cursor: pointer;

  transition: all 0.3s ease;
}

.newsletter-form .submit-btn:hover {
  transform: translateY(-50%) scale(1.1);
}

.newsletter-form .submit-btn i {
  color: var(--thm-black);

  font-size: 14px;
}

.form-note {
  display: flex;

  align-items: center;

  margin-top: 15px;

  color: rgba(255, 255, 255, 0.7);

  font-size: 12px;
}

.form-note i {
  color: var(--thm-primary);

  margin-right: 8px;
}

.premium-footer-bottom {
  position: relative;

  background: rgba(0, 0, 0, 0.3);

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  padding: 25px 0;
}

.footer-bottom-content {
  position: relative;
}

.footer-legal-links ul {
  display: flex;

  flex-wrap: wrap;

  gap: 25px;
}

.footer-legal-links ul li a {
  color: #b8b4b1;

  font-size: 14px;

  font-weight: 400;

  transition: color 0.3s ease;
}

.footer-legal-links ul li a:hover {
  color: var(--thm-primary);
}

.footer-bottom-right {
  text-align: right;
}

.social-media-section {
  display: flex;

  align-items: center;

  justify-content: flex-end;

  margin-bottom: 15px;
}

.social-title {
  color: #b8b4b1;

  font-size: 14px;

  margin-right: 15px;
}

.social-links {
  display: flex;

  gap: 10px;
}

.social-link {
  width: 35px;

  height: 35px;

  background: rgba(255, 255, 255, 0.1);

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #b8b4b1;

  font-size: 14px;

  transition: all 0.3s ease;
}

.social-link:hover {
  background: var(--thm-primary);

  color: var(--thm-black);

  transform: translateY(-2px);
}

.copyright-section p {
  color: #b8b4b1;

  font-size: 13px;

  margin-bottom: 0;
}

.copyright-section p a {
  color: var(--thm-primary);

  font-weight: 500;
}

@media (max-width: 991px) {
  .premium-cta-section {
    padding: 80px 0;
  }

  .cta-title {
    font-size: 36px;
  }

  .footer-main-content {
    padding: 60px 0 40px;
  }

  .footer-bottom-right {
    text-align: left;

    margin-top: 20px;
  }

  .social-media-section {
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .cta-title {
    font-size: 28px;
  }

  .cta-description {
    font-size: 16px;
  }

  .footer-legal-links ul {
    justify-content: center;

    text-align: center;
  }

  .contact-quick-info {
    margin-top: 20px;
  }
}
