/*==================================================
GOOGLE FONTS
==================================================*/
:root{

    --primary:#0057D9;

    --primary-dark:#0A2E73;

    --primary-light:#1DA1F2;

    --secondary:#00B4FF;

    --dark:#081B3D;

    --text:#1B1B1B;

    --white:#ffffff;

    --light:#F5F8FC;

    --border:#E5EDF8;

}
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap");

/*==================================================
RESET
==================================================*/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Poppins", sans-serif;

  font-size: 16px;

  font-weight: 400;

  color: #555;

  background: #fff;

  overflow-x: hidden;
}

a {
  text-decoration: none;

  transition: 0.4s;
}

img {
  max-width: 100%;

  height: auto;

  transition: 0.5s;
}

ul {
  list-style: none;

  margin: 0;

  padding: 0;
}

p {
  color: #666;

  line-height: 1.9;

  margin-bottom: 20px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", sans-serif;

  font-weight: 700;

  color: #222;

  margin: 0;
}

.container {
  max-width: 1320px;
}

/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f2f2f2;
}

::-webkit-scrollbar-thumb {
  background: #0057D9;

  border-radius: 20px;
}

::-webkit-scrollbar-thumb:hover {
  background: #6b0b1b;
}

/*==================================================
SELECTION
==================================================*/

::selection {
  background: #0057D9;

  color: #fff;
}

/*==================================================
SECTION
==================================================*/

section {
  position: relative;
}

.py-120 {
  padding: 120px 0;
}

/*==================================================
SECTION TITLE
==================================================*/

.section-subtitle {
  display: inline-block;

  color: #0057D9;

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 2px;

  text-transform: uppercase;

  margin-bottom: 15px;
}

.section-title {
  font-size: 48px;

  font-weight: 800;

  color: #222;

  line-height: 1.2;

  margin-bottom: 25px;
}

.section-description {
  max-width: 700px;

  color: #666;

  margin: auto;
}

/*==================================================
BUTTON
==================================================*/

.theme-btn {
  position: relative;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  overflow: hidden;

  background: #0057D9;

  color: #fff;

  padding: 16px 34px;

  border-radius: 50px;

  font-weight: 600;

  transition: 0.4s;
}

.theme-btn:hover {
  background: #fff;

  color: #0057D9;
}

.theme-btn::before {
  content: "";

  position: absolute;

  left: -120%;

  top: 0;

  width: 100%;

  height: 100%;

  background: rgba(255, 255, 255, 0.25);

  transform: skew(-30deg);

  transition: 0.7s;
}

.theme-btn:hover::before {
  left: 120%;
}

/*==================================================
IMAGE EFFECT
==================================================*/

.image-box {
  overflow: hidden;

  border-radius: 20px;
}

.image-box img {
  transition: 0.5s;
}

.image-box:hover img {
  transform: scale(1.08);
}

/*==================================================
GLASS
==================================================*/

.glass {
  background: rgba(255, 255, 255, 0.15);

  backdrop-filter: blur(15px);

  border: 1px solid rgba(255, 255, 255, 0.25);
}

/*==================================================
COMMON CARD EFFECTS
==================================================*/

.shadow-card {
  background: #fff;

  border-radius: 20px;

  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);

  transition: 0.4s;
}

.shadow-card:hover {
  transform: translateY(-10px);

  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.14);
}

.radius-20 {
  border-radius: 20px;
}

.radius-30 {
  border-radius: 30px;
}

/*==================================================
COMMON ICON BOX
==================================================*/

.icon-box {
  width: 80px;

  height: 80px;

  background: #0057D9;

  color: #fff;

  display: flex;

  align-items: center;

  justify-content: center;

  border-radius: 18px;

  font-size: 32px;

  transition: 0.4s;
}

.icon-box:hover {
  background: #6d0b1b;

  transform: rotate(8deg);
}

/*==================================================
OVERLAY
==================================================*/

.overlay-dark {
  position: absolute;

  inset: 0;

  background: rgba(0, 0, 0, 0.65);
}

.overlay-gradient {
  position: absolute;

  inset: 0;

  background: linear-gradient(
rgba(5,35,95,.88),
rgba(0,87,217,.72)
);
}

/*==================================================
COMMON IMAGE
==================================================*/

.image-hover {
  overflow: hidden;

  border-radius: 20px;
}

.image-hover img {
  width: 100%;

  transition: 0.6s;
}

.image-hover:hover img {
  transform: scale(1.08);
}

/*==================================================
COMMON BADGE
==================================================*/

.primary-badge {
  display: inline-block;

  padding: 10px 22px;

  background: #0057D9;

  color: #fff;

  border-radius: 50px;

  font-size: 14px;

  font-weight: 600;
}

/*==================================================
LOADER
==================================================*/

.loader {
  position: fixed;

  left: 0;

  top: 0;

  width: 100%;

  height: 100%;

  background: #fff;

  z-index: 999999;

  display: flex;

  align-items: center;

  justify-content: center;
}

.loader::after {
  content: "";

  width: 70px;

  height: 70px;

  border-radius: 50%;

  border: 6px solid #ddd;

  border-top: 6px solid #0057D9;

  animation: loaderSpin 1s linear infinite;
}

@keyframes loaderSpin {
  to {
    transform: rotate(360deg);
  }
}

/*==================================================
WHATSAPP
==================================================*/

.whatsapp {
  position: fixed;

  left: 30px;

  bottom: 30px;

  width: 60px;

  height: 60px;

  background: #25d366;

  color: #fff;

  display: flex;

  justify-content: center;

  align-items: center;

  border-radius: 50%;

  font-size: 28px;

  z-index: 999;

  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18);

  animation: whatsappPulse 2s infinite;
}

@keyframes whatsappPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5);
  }

  70% {
    box-shadow: 0 0 0 18px transparent;
  }

  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

/*==================================================
COMMON ANIMATION
==================================================*/

.fade-up {
  animation: fadeUp 1s;
}

@keyframes fadeUp {
  0% {
    opacity: 0;

    transform: translateY(40px);
  }

  100% {
    opacity: 1;

    transform: translateY(0);
  }
}

.zoom-in {
  animation: zoomIn 0.8s;
}

@keyframes zoomIn {
  0% {
    opacity: 0;

    transform: scale(0.9);
  }

  100% {
    opacity: 1;

    transform: scale(1);
  }
}


/*==================================================
UTILITY CLASSES
==================================================*/

.bg-white{

    background:#fff;

}

.bg-light{

    background:#f8f9fb;

}

.bg-primary{

    background:#0057D9;

}

.bg-dark{

    background:#111;

}

.text-white{

    color:#fff !important;

}

.text-primary{

    color:#0057D9 !important;

}

.text-dark{

    color:#222 !important;

}

.text-center{

    text-align:center;

}

.text-end{

    text-align:right;

}

.position-relative{

    position:relative;

}

.overflow-hidden{

    overflow:hidden;

}

/*==================================================
SPACING
==================================================*/

.mt-10{margin-top:10px;}
.mt-20{margin-top:20px;}
.mt-30{margin-top:30px;}
.mt-40{margin-top:40px;}
.mt-50{margin-top:50px;}
.mt-60{margin-top:60px;}

.mb-10{margin-bottom:10px;}
.mb-20{margin-bottom:20px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-50{margin-bottom:50px;}
.mb-60{margin-bottom:60px;}

.pt-80{

    padding-top:80px;

}

.pb-80{

    padding-bottom:80px;

}

.pt-100{

    padding-top:100px;

}

.pb-100{

    padding-bottom:100px;

}

.pt-120{

    padding-top:120px;

}

.pb-120{

    padding-bottom:120px;

}

/*==================================================
SHADOWS
==================================================*/

.shadow-sm{

    box-shadow:0 10px 25px rgba(0,0,0,.05);

}

.shadow-md{

    box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.shadow-lg{

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}

/*==================================================
BORDER RADIUS
==================================================*/

.rounded-10{

    border-radius:10px;

}

.rounded-15{

    border-radius:15px;

}

.rounded-20{

    border-radius:20px;

}

.rounded-25{

    border-radius:25px;

}

.rounded-30{

    border-radius:30px;

}

/*==================================================
TRANSITION
==================================================*/

.transition{

    transition:.4s;

}

/*==================================================
COMMON HOVER
==================================================*/

.hover-up{

    transition:.4s;

}

.hover-up:hover{

    transform:translateY(-8px);

}

.hover-scale{

    transition:.5s;

}

.hover-scale:hover{

    transform:scale(1.05);

}

/*==================================================
COMMON FLEX
==================================================*/

.flex-center{

    display:flex;

    align-items:center;

    justify-content:center;

}

.flex-between{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

.flex-column{

    display:flex;

    flex-direction:column;

}

/*==================================================
BOOTSTRAP OVERRIDE
==================================================*/

.btn:focus,
.form-control:focus,
.form-select:focus{

    box-shadow:none;

    border-color:#0057D9;

}

.form-control,
.form-select{

    border-radius:12px;

}

.form-control{

    padding:14px 18px;

}

/*==================================================
END
==================================================*/