:root {
  --p-color: #4e9eb8;
  --s-color: #febe10;
}

/* Bold */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}
/* Bold */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-semiBold.ttf") format("truetype");
  font-weight: 650;
  font-style: normal;
}

/* Book */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-Book.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}

/* Medium */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-Medium.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

/* Regular */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

/* Light */
@font-face {
  font-family: "Suisse Intl";
  src: url("../fonts/SuisseIntl-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
}

* {
  margin: 0;
  padding: 0;
}
body {
  font-family: "Suisse Intl", sans-serif;
  overflow-x: hidden;
  background: #fbfbfb;
}

::selection {
  background: #000;
  color: #fff;
}

a,
p {
  font-family: "Suisse Intl", sans-serif;
  text-decoration: none;
}

span {
  color: var(--p-color);
}
h2 {
  font-size: 40px;
  line-height: 45px;
  font-weight: 400;
  color: #000;
}

p {
  color: #4b4b4b;
  font-size: 17px;
  line-height: 28px;
  font-weight: 400;
  margin: 0;
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
  color: var(--p-color);
}
.ptb-100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
.ptb-150 {
  padding-top: 150px;
  padding-bottom: 150px;
}

.btn_dflt {
  position: relative;
  overflow: hidden;
  z-index: 0;
  border-radius: 50px;
  padding: 10px 40px;
  font-size: 16px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease-in-out;
}

.prc {
  color: var(--p-color);
}
.ser {
  color: var(--s-color);
}
.prb {
  background: var(--p-color);
  color: #fff;
  border: 1px solid var(--p-color);
}
.seb {
  background: var(--s-color);
  color: #fff;
  border: 1px solid var(--s-color);
}
.lib {
  background: #fff;
  color: #333333;
  border: 1px solid #707070;
  &:hover img {
    filter: grayscale() invert() brightness(7);
  }
}

a.header_btn {
  padding: 5px 15px 5px 5px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
}

a.navbar-brand {
    font-size: 32px;
    font-weight: 400;
    line-height: 32px;
    font-family: "Aleo",serif !important;
}
a.navbar-brand img {
    width: 200px;
}

a.header_btn span {
  height: 45px;
  width: 45px;
  background: var(--s-color);
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

a.header_btn:hover span {
  background: var(--p-color);
}

.btn_dflt.prb:hover {
  background: var(--s-color);
  color: #000;
}
.btn_dflt.lib:hover {
  background: var(--p-color);
  color: #fff;
}
.btn_dflt.seb:hover {
  background: var(--p-color);
}

.btn-livechat {
  background: transparent;
  border: 1px solid #fff;
  color: #fff;
  padding: 15px 30px 15px 30px;
  font-size: 17px;
  line-height: 20px;
  font-weight: 500;
  border-radius: 10px;
  text-decoration: none;
  transition: 0.3s all ease-in-out;
}

.floating_wrap,
.floating_wrap .btns_wrap {
  position: fixed;
  right: 0;
}

.floating_wrap .btns_wrap .call_wrap,
.floating_wrap .btns_wrap .chat_wrap {
  position: absolute;
  right: -225px;
  width: 275px;
  overflow: hidden;
  box-shadow: 0 0 40px #00000026 !important;
  border-radius: 50px 0 0 50px;
  background: #fff;
}
.floating_wrap {
  top: 171px;
  z-index: 1000;
}

.floating_wrap .btns_wrap a:hover {
  text-decoration: none !important;
  right: 0;
}

.floating_wrap .btns_wrap .call_wrap {
  top: 60px;
  text-decoration: none;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.floating_wrap .btns_wrap .call_wrap span {
  color: var(--p-color);
  font-size: 14px;
  vertical-align: middle;
  background: #fff;
  padding: 0 5px;
}

.floating_wrap .btns_wrap .chat_wrap {
  display: block;
  text-decoration: none;
  top: 0;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.floating_wrap .btns_wrap .call_wrap span.icoo,
.floating_wrap .btns_wrap .chat_wrap span.icoo {
  color: #fff;
  background: var(--p-color);
  font-size: 20px;
  line-height: 1;
  padding: 14px 20px;
  border-right: 1px solid #ded9d9;
  vertical-align: middle;
  display: inline-block;
  border-radius: 50px 0 0 50px;
}

.floating_wrap .btns_wrap .chat_wrap span {
  color: var(--p-color);
  font-size: 14px;
  vertical-align: middle;
  background: #fff;
  padding: 0 5px 0 5px;
}

header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  background: #fff;
}

/* banner sect */
.banner {
  padding: 150px 0 0;
  position: relative;
}
section.banner.other_banner {
  padding: 150px 0;
}

section.banner.other_banner:before {
  height: 100%;
}
.banner:before {
  content: "";
  height: 90%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/ban_bg.png) no-repeat center bottom / cover;
  z-index: 0;
}
.banner h1 {
  font-size: 75px;
  text-align: center;
  line-height: 85px;
  font-weight: 600;
}

.banner p {
  color: #000;
  font-size: 20px;
  line-height: 25px;
  text-align: center;
  padding: 0 45px;
}
.form_bx {
  background: #fff;
  padding: 50px;
  border: 1px solid var(--s-color);
  border-radius: 24px;
}

.form_bx h3 {
  font-size: 30px;
  font-weight: 600;
}
.form_bx input.form-control {
  height: 50px;
}
.form_bx input.form-control,
.form_bx textarea {
  font-size: 14px;
  font-family: "Montserrat";
  padding-left: 20px;
}

.form_bx h5 {
  font-size: 20px;
  color: #000;
}

.form_bx .servs {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.form_bx .servs input {
  border: 1px solid #000;
}

.form_bx .servs label {
  font-size: 16px;
  color: #000;
}
.form_bx button {
  background: #fff;
  border: 1px solid var(--s-color);
  border-radius: 50px;
  height: 40px;
  padding: 0px 30px;
  font-size: 18px;
  transition: 0.4s all ease-in-out;
  &:hover {
    background: var(--s-color);
    color: #fff;
  }
}

/* banner sect */

/* counter sect */
.counter_sect {
  padding: 100px 0;
}
.counter_sect h2 {
  font-size: 55px;
  text-align: center;
  font-weight: 650;
  line-height: 60px;
}
.counter_sect p {
  font-size: 22px;
  text-align: center;
  color: #000;
  margin: 20px 0;
}
.c_bx h6 {
  font-size: 34px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
}

.c_bx p {
  font-size: 16px;
  margin: 0;
  line-height: 16px;
}

.c_bx {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
  height: 100%;
  border: 1px solid var(--s-color);
  padding: 30px 20px;
  border-radius: 15px;
}
.c_bx img{
  filter: invert(58%) sepia(34%) saturate(503%) hue-rotate(157deg) brightness(100%) contrast(100%);
}

/* counter sect */

/* service section */
.services {
  padding: 100px 0;
  background: url(../images/service_bg.png) no-repeat center top / cover;
}

.services h2 {
  font-size: 64px;
  font-weight: 600;
  line-height: 64px;
}

.serv_bx {
  margin: 0 15px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  transition: 0.3s all ease-in-out;
  &:hover h5,
  &:hover a,
  &:hover p {
    color: #fff;
  }
  &:hover {
    background: var(--p-color);
  }
  &:hover .txt_bx img {
    filter: grayscale() invert() brightness(7);
  }
}

.serv_bx > img {
  width: 100%;
  margin-bottom: 20px;
}

.serv_bx h5 {
  font-size: 26px;
  font-weight: 600;
}

.serv_bx p {
  font-size: 16px;
  text-align: left;
  padding-right: 20px;
  line-height: 22px;
  color: #767676;
  margin-bottom: 20px;
}

.serv_bx a {
  color: var(--p-color);
  display: flex;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
}
/* service section */

/* how works sect */
.how_works {
  padding: 100px 0;
}

.how_works h2 {
  font-size: 58px;
  font-weight: 600;
}

.how_works p {
  font-size: 20px;
}

.how_works img {
  width: 100%;
}

.work_bx span {
  font-size: 20px;
}

.work_bx p {
  color: #5c5c5c;
}

.work_bx h3 {
  font-size: 48px;
  font-weight: 600;
}
.work_bx p strong {
  color: #000;
}
/* how works sect */

/* process section */
.process {
  background: url(../images/process_bg.png) no-repeat left bottom / cover;
  padding: 100px 0;
}

.process h2 {
  font-size: 58px;
  font-weight: 600;
  line-height: 60px;
}

.process hr {
  color: #edbb83;
  margin: 20px 0 40px;
  opacity: 1;
}

.process ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 50px;
}

.process ul li {
  font-size: 16px;
  margin: 15px 0;
  position: relative;
  padding-left: 20px;
  font-weight: 500;
}
.process ul li:before {
  content: "";
  height: 10px;
  width: 10px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: var(--p-color);
  border-radius: 50%;
}
/* process section */

/* portfolio section */

section.portfolio {
  padding: 100px 0;
}

section.portfolio h2 {
  color: #383838;
  font-size: 55px;
}

section.portfolio p {
  font-size: 18px;
}

.port_slider .port_bx {
  margin: 0 15px;
  box-shadow: 0px 28px 11px rgba(0, 0, 0, 0.01),
    0px 16px 9px rgba(0, 0, 0, 0.05), 0px 7px 7px rgba(0, 0, 0, 0.09),
    0px 2px 4px rgba(0, 0, 0, 0.1);
}

/* portfolio section */

/* bottom form sect */

section.btm_form {
  padding: 100px 0;
  background: #F8F8F8;
}

section.btm_form p {
  color: #000;
  font-size: 16px;
  padding-right: 260px;
  margin: 20px 0;
}

section.btm_form h2 {
  font-size: 52px;
  font-weight: 600;
  line-height: 58px;
  padding-right: 50px;
  color: #262626;
}

section.btm_form hr {
  opacity: 1;
  color: var(--s-color);
  margin: 50px 0;
}

.cont_info h4 {
  font-size: 24px;
  font-weight: 650;
}

.cont_info a {
  display: block;
  color: #000;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  margin: 15px 0;
}

.cont_info a small {
  font-weight: 500;
  font-size: 14px;
  color: #2d2d2d;
  opacity: 0.5;
}

.socials a {
  height: 45px;
  width: 45px;
  color: #231f20;
  border: 1px solid #231f20;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: 0.3s all ease-in-out;
  &:hover {
    background: var(--p-color);
    color: #fff;
  }
}

.socials {
  display: flex;
  gap: 10px;
}

form.bt_form {
  padding: 35px;
  border: 1px solid var(--s-color);
  border-radius: 30px;
}

form.bt_form input {
  height: 60px;
  font-size: 16px;
}

form.bt_form input:focus,
form.bt_form textarea:focus {
  box-shadow: none;
  border: 1px solid var(--p-color);
  background: none;
}

form.bt_form input,
form.bt_form textarea {
  border: 1px solid #cccccc;
  border-radius: 10px;
  background: none;
  padding-left: 20px;
}
form.bt_form textarea {
  padding-top: 20px;
}

form.bt_form .form-group {
  margin-bottom: 20px;
}
form.bt_form button {
  padding: 10px 30px;
  font-size: 18px;
  background: var(--p-color);
  border: 1px solid var(--s-color);
  color: #fff;
  font-weight: 400;
  border-radius: 40px;
  margin-top: 30px;
  transition: 0.3s all ease-in-out;
  &:hover {
    background: var(--s-color);
    color: #000;
  }
}
/* bottom form sect */

/* footer css */

footer {
    background: var(--p-color);
    padding: 50px 0 0;
}

footer h2 {
  font-size: 55px;
  font-weight: 650;
  color: #fff;
  line-height: 70px;
}

footer span {
  color: #fff;
  font-size: 16px;
}

footer input {
  height: 60px;
  padding-left: 20px;
  width: 100%;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid #fef6eb;
  border-radius: 7px;
  color: #fff;
  font-size: 14px;
  &::placeholder {
    color: #efefef;
  }
}

footer .form-group {
  position: relative;
}

footer .form-group button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background: none;
  border: none;
  height: 100%;
  width: 60px;
  font-size: 20px;
  color: #fff;
  transition: 0.3s all ease-in-out;
  border-radius: 0 7px 7px 0;
  &:hover {
    background: var(--p-color);
    border: 1px solid #fff;
  }
}

footer hr {
  color: #fff;
  opacity: 1;
  margin: 30px 0;
}

footer p {
  font-size: 16px;
  color: #fff;
  line-height: 22px;
}

.copy_right {
  padding: 0 0 20px;
}

.copy_right a,
.copy_right p {
  font-size: 16px;
  color: #fff;
  font-weight: 500;
}
footer p + div > a {
  color: #fff;
  font-size: 16px;
  font-weight: 300;
  transition: 0.3s all ease-in-out;
  &:hover {
    color: #000;
  }
  &:hover i {
    color: #000;
  }
}
footer p + div > a i {
  transition: 0.3s all ease-in-out;
}

.modal-content {
  border-radius: 20px;
}

.modal-body {
  color: #fff;
  text-align: center;
  border-radius: 15px;
  padding: 0;
}

.modal-body .btn-close {
  position: absolute;
  right: 5px;
  top: 5px;
  /* filter: invert(1); */
  z-index: 1;
  opacity: 1;
}

.modal-body h3 {
  margin: 10px 0 30px;
  font-size: 35px;
  color: #000;
}

.modal-body .form_bx button {
  background: var(--p-color);
  border: 1px solid var(--s-color) !important;
}

/* footer css */


.terms_privacy h4 {
    font-size: 25px;
    margin-bottom: 15px;
}
.terms_privacy p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 25px;
}

.terms_privacy a {
    color: var(--p-color);
    font-weight: 650;
}
.terms_privacy ul li {
    font-size: 16px;
    margin-bottom: 15px;
    list-style: circle;
}
.ch-calc {
    /* height: calc(100vh - 201px); */
    padding-top: 100px;
}
svg.text-yellow{
  color: var(--p-color);
}
.tankyou-sec {
    background: linear-gradient(to bottom, #f1f0eaf0, #f1f0eae8, #f1f0eaf0), url(../images/banner.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    padding: 110px 0 80px;
}

/* Ticker layout */
.ticker {
  --ticker-speed: 40s;    /* lower = faster */
  --gap: 3rem;            /* space between repeats */
  font-size: .95rem;
  line-height: 1.6;
  width: 100%;
}

.ticker__mask {
  overflow: hidden;
  position: relative;
  white-space: nowrap;
  padding-block: .6rem;
}

/* Subtle edge fade (optional, remove if not needed) */
.ticker__mask::before,
.ticker__mask::after {
  content:"";
  position:absolute;
  top:0; bottom:0;
  width:3rem;
  pointer-events:none;
}
.ticker__mask::before { left:0; background:linear-gradient(90deg, rgba(17,17,17,1), rgba(17,17,17,0)); }
.ticker__mask::after  { right:0; background:linear-gradient(-90deg, rgba(17,17,17,1), rgba(17,17,17,0)); }

/* The moving track */
.ticker__track {
  display: inline-flex;
  gap: var(--gap);
  align-items: center;
  will-change: transform;
  animation: ticker-scroll var(--ticker-speed) linear infinite;
}

/* Pause on hover or focus (for accessibility) */
.ticker:hover .ticker__track,
.ticker:focus-within .ticker__track { 
  animation-play-state: paused; 
}

/* Each message block */
.ticker__item {
  display: inline-block;
  padding-inline: .5rem;
}

/* Motion keyframes */
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); } /* track is 2x content (duplicated), so -50% loops perfectly */
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .ticker__track { animation: none; }
}

/* Make text a bit smaller on very narrow screens */
@media (max-width: 480px) {
  .ticker { font-size: .85rem; }
}
.cta_new_sec h2{
  font-size: 64px;
    font-weight: 600;
    line-height: 64px;
}
.list-item li {
  list-style: none;
}
section.cta_new_sec {
    padding: 50px 0px;
    background: url(../images/ban_bg.png) no-repeat center bottom / cover;
    margin: 30px;
    border-radius: 21px;
    background-attachment: fixed;
}

.blink{
    animation: 2s cubic-bezier(0.25, 0, 0, 1) 3s infinite pulse;
    box-shadow: 0 0 0 2px #4e9eb8;
}
@keyframes pulse {
  0%,
  to {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    box-shadow: 0 0 0 18px #fff0;
  }
}