/* -------------------------------------------
------------------------------------------- */
/*--------------------------------------------

1. common
    - main
    - typography
    - breadcrumbs
    - button
    - frames
    - spaces
2. components
    - preloader
    - scrollbar
    - back to top
    - top panel
    - top menu
    - menu button
    - banner
    - content list
    - brands
    - facts
    - testimonials
    - accordion
    - illustrations
    - steps
    - icon box
    - team
    - vacancie
    - blog
    - comments
    - form
    - text lists
    - price
    - footer

--------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Questrial");
/* -------------------------------------------

main

------------------------------------------- */
html,
body {
  padding: 0;
  margin: 0;
  font-family: "Switzer-Variable";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

.mil-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.mil-relative {
  position: relative;
}

/* -------------------------------------------

typography

------------------------------------------- */
* {
  font-family: "Questrial", sans-serif;
  color: rgb(69, 116, 67);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 600;
  font-family: "Switzer-Variable";
  line-height: 1.3;
  letter-spacing: -0.04em;
}
h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span,
.h1 span,
.h2 span,
.h3 span,
.h4 span,
.h5 span,
.h6 span {
  font-weight: 600;
  font-family: "Switzer-Variable";
  line-height: 1.3;
  letter-spacing: -0.04em;
}

h1,
.h1 {
  font-size: 77px;
}
h1.mil-display,
.h1.mil-display {
  font-size: 100px;
  line-height: 1.15;
}
@media screen and (max-width: 992px) {
  h1,
  .h1 {
    font-size: 56px;
  }
  h1.mil-display,
  .h1.mil-display {
    font-size: 56px;
  }
}

h2,
.h2 {
  font-size: 57px;
}
@media screen and (max-width: 992px) {
  h2,
  .h2 {
    font-size: 36px;
  }
}

h4,
.h4 {
  font-size: 32px;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 992px) {
  h4,
  .h4 {
    font-size: 28px;
  }
}

h5,
.h5 {
  font-size: 22px;
  letter-spacing: -0.02em;
}

h6,
.h6 {
  font-size: 18px;
  letter-spacing: -0.02em;
}

.mil-text-xs {
  font-size: 14px;
}

.mil-text-s {
  font-size: 18px;
}
@media screen and (max-width: 992px) {
  .mil-text-s {
    font-size: 16px;
  }
}

.mil-text-m {
  font-size: 18px;
}
@media screen and (max-width: 992px) {
  .mil-text-m {
    font-size: 16px;
  }
}

.mil-text-xl {
  font-size: 32px;
}

a {
  text-decoration: none;
  color: inherit;
}

.mil-dark {
  color: rgb(69, 116, 67);
}
.mil-dark * {
  color: rgb(69, 116, 67);
}

.mil-light {
  color: rgb(242, 250, 250);
}

.mil-soft {
  color: rgb(137, 141, 150);
}
.mil-soft * {
  color: rgb(137, 141, 150);
}

.mil-pale {
  color: rgb(196, 196, 196);
}

.mil-pale-2 {
  color: rgb(137, 141, 150);
}

.mil-dark-soft {
  color: rgb(160, 205, 205);
}
.mil-dark-soft * {
  color: rgb(160, 205, 205);
}

.mil-accent {
  color: rgb(237, 134, 34);
}

.mil-text-right {
  text-align: right;
}

.mil-text-center {
  text-align: center;
}

@media (max-width: 1200px) {
  .mil-sm-text-center {
    text-align: center;
  }
}

@media (max-width: 1200px) {
  .mil-sm-text-left {
    text-align: left;
  }
}

blockquote {
  font-size: 24px;
}
blockquote.mil-center {
  text-align: center;
}
blockquote img {
  margin: 0 auto;
  width: 60px;
  height: 60px;
  object-fit: cover;
  object-position: top;
  border-radius: 50%;
}
blockquote.mil-with-bg {
  background-color: rgb(242, 250, 250);
  border-radius: 40px;
  padding: 60px 30px;
}
blockquote.mil-with-bg-2 {
  background: linear-gradient(0deg, #B3D4D8 0%, #DEECE8 100%);
  border-radius: 40px;
  padding: 60px 30px;
}
blockquote.mil-lg {
  padding: 80px;
}
@media screen and (max-width: 992px) {
  blockquote.mil-lg {
    padding: 60px 30px;
  }
}
blockquote .mil-customer {
  display: flex;
  align-items: center;
}
blockquote .mil-customer img {
  margin-right: 15px;
  margin-left: 0;
}
blockquote svg.mil-accent path {
  fill: rgb(237, 134, 34);
}
blockquote.mil-dark {
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
}

@media (max-width: 1200px) {
  br {
    display: none;
  }
}

.mil-hr {
  background-color: rgb(196, 196, 196);
  height: 1px;
  width: 100%;
}

.mil-text-img img {
  width: 100px;
  display: inline;
}
@media (max-width: 992px) {
  .mil-text-img img {
    width: 70px;
  }
}

.mil-text-gradient {
  color: rgb(255, 255, 255);
}

@supports (--css: variables) {
  .mil-text-gradient {
    background: linear-gradient(to right, rgb(160, 205, 205), rgb(242, 250, 250));
    color: transparent;
    background-clip: text;
  }
}
.mil-text-gradient-2 {
  color: rgb(69, 116, 67);
}

@supports (--css: variables) {
  .mil-text-gradient-2 {
    background: linear-gradient(to right, rgb(69, 116, 67), rgb(103, 178, 92));
    color: transparent;
    background-clip: text;
  }
}
.mil-text-gradient-3 {
  color: rgb(69, 116, 67);
}

@supports (--css: variables) {
  .mil-text-gradient-3 {
    background: linear-gradient(to right, rgb(69, 116, 67), 50%, rgba(69, 116, 67, 0.8));
    color: transparent;
    background-clip: text;
  }
}
img,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  max-width: 100%;
}

/* -------------------------------------------

breadcrumbs

------------------------------------------- */
.mil-breadcrumbs {
  display: flex;
}
.mil-breadcrumbs.mil-center {
  justify-content: center;
}
.mil-breadcrumbs li {
  list-style-type: none;
}
.mil-breadcrumbs li:after {
  content: "|";
  margin: 0 15px;
  color: rgb(160, 205, 205);
}
.mil-breadcrumbs li a {
  font-family: "Switzer-Variable";
  font-size: 14px;
  font-weight: 500;
}
.mil-breadcrumbs li a:hover {
  color: rgb(237, 134, 34);
}
.mil-breadcrumbs li:last-child {
  opacity: 0.4;
  cursor: not-allowed;
}
.mil-breadcrumbs li:last-child a {
  pointer-events: none;
}
.mil-breadcrumbs li:last-child:after {
  display: none;
  margin: 0;
}
.mil-breadcrumbs.mil-pub-info li {
  opacity: 0.4;
  cursor: default;
}
.mil-breadcrumbs.mil-pub-info li a {
  pointer-events: none;
}

/* -------------------------------------------

buttons

------------------------------------------- */
.mil-btn {
  border: none;
  white-space: nowrap;
  background-color: rgb(237, 134, 34);
  border-radius: 10px;
  font-family: "Switzer-Variable";
  font-weight: 600;
  color: rgb(255, 255, 255);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
  display: flex;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.btn-dark {
  background-color: rgb(69, 116, 67) !important;
  color: rgb(255, 255, 255) !important;
}

.mil-btn.mil-fw {
  width: 100%;
}
.mil-btn.mil-sm {
  padding: 0 20px;
  height: 48px;
  font-size: 16px;
}
.mil-btn.mil-m {
  padding: 0 30px;
  height: 56px;
  font-size: 16px;
}
.mil-btn.mil-md {
  padding: 0 30px;
  height: 72px;
  font-size: 16px;
}
@media screen and (max-width: 992px) {
  .mil-btn.mil-md {
    padding: 0 25px;
    height: 62px;
  }
}
.mil-btn.mil-border {
  color: rgb(242, 250, 250);
  border: solid 1px rgb(242, 250, 250);
  background-color: transparent;
}
.mil-btn.mil-light {
  background-color: rgb(242, 250, 250);
  color: rgb(137, 141, 150);
}
.mil-btn.mil-grey {
  background-color: rgb(196, 196, 196);
  color: rgb(255, 255, 255);
}
.mil-btn.mil-transp {
  background-color: transparent;
  color: rgb(196, 196, 196);
}
.mil-btn.mil-add-arrow:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f061";
  margin-left: 15px;
  font-size: 12px;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-btn.mil-add-play:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f04b";
  margin-left: 15px;
  font-size: 12px;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-btn:hover {
  filter: brightness(110%);
}
.mil-btn:hover.mil-add-arrow:after {
  transform: translateX(3px);
}

.mil-buttons-frame {
  display: flex;
  justify-content: flex-start;
}
.mil-buttons-frame a {
  margin-right: 15px;
}
.mil-buttons-frame a:last-child {
  margin-right: 0;
}
@media screen and (max-width: 1200px) {
  .mil-buttons-frame {
    justify-content: center;
  }
}
@media screen and (max-width: 992px) {
  .mil-buttons-frame {
    flex-direction: column;
    align-items: center;
  }
  .mil-buttons-frame a {
    margin-right: 0;
    margin-bottom: 15px;
  }
  .mil-buttons-frame a:last-child {
    margin-bottom: 0;
  }
}
.mil-buttons-frame.mil-center {
  justify-content: center;
}

.mil-adaptive-right {
  float: right;
}
@media screen and (max-width: 1200px) {
  .mil-adaptive-right {
    float: inherit;
  }
}

.mil-link {
  font-family: "Switzer-Variable";
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -2%;
}

/* -------------------------------------------

frames

------------------------------------------- */
.mil-out-frame {
  overflow: hidden;
  border-radius: 40px;
  padding-left: 100px;
  padding-right: 100px;
  transform: translateX(-100px);
  background-color: rgb(242, 250, 250);
  background-size: cover;
  background-position: left;
  width: calc(100% + 200px);
}
.mil-out-frame.mil-bg-1 {
  background: linear-gradient(0deg, #B3D4D8 0%, #DEECE8 100%);
}
.mil-out-frame.mil-bg-2 {
  background: linear-gradient(180deg, #F27457 0%, #A08488 100%);
}
.mil-out-frame.mil-bg-3 {
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
}
.mil-out-frame.mil-bg-4 {
  background-color: rgb(39, 38, 38);
}
.mil-out-frame.mil-visible {
  overflow: visible;
}
@media (max-width: 1536px) {
  .mil-out-frame {
    border-radius: 0;
  }
}
.mil-out-frame.mil-image {
  background-image: url(../img/home-2/bg.png);
  background-size: cover;
}
.mil-out-frame.mil-image-2 {
  background-image: url(../img/home-4/bg.png);
  background-size: cover;
}
.mil-out-frame.mil-out-image-fix {
  padding-bottom: 340px;
  margin-bottom: 300px;
}
@media screen and (max-width: 1200px) {
  .mil-out-frame.mil-out-image-fix {
    padding-bottom: 80px;
    margin-bottom: 80px;
  }
}
.mil-out-frame.mil-out-top {
  background-color: rgb(39, 38, 38);
  position: relative;
  border-radius: 0 0 40px 40px;
}
.mil-out-frame.mil-out-top:before {
  content: "";
  position: absolute;
  z-index: 999;
  top: -80px;
  left: 0;
  background-color: rgb(39, 38, 38);
  height: 81px;
  width: 100%;
  display: block;
  border-radius: 40px 40px 0 0;
}

.mil-gradient-plus {
  filter: blur(100px);
  background-color: rgb(196, 196, 196);
  border-radius: 50%;
  width: 1000px;
  height: 400px;
  position: absolute;
  bottom: -200px;
  right: -100px;
}

/* -------------------------------------------

space

------------------------------------------- */
.mil-mt-15 {
  margin-top: 15px;
}

.mil-mt-30 {
  margin-top: 30px;
}

.mil-mt-60 {
  margin-top: 60px;
}

.mil-mt-130 {
  margin-top: 130px;
}

.mil-mb-10 {
  margin-bottom: 10px;
}

.mil-mb-15 {
  margin-bottom: 15px;
}

.mil-mb-20 {
  margin-bottom: 20px;
}

.mil-mb-25 {
  margin-bottom: 25px;
}

.mil-mb-30 {
  margin-bottom: 30px;
}

.mil-mb-40 {
  margin-bottom: 40px;
}

.mil-mb-50 {
  margin-bottom: 50px;
}

.mil-mb-60 {
  margin-bottom: 60px;
}

.mil-mb-80 {
  margin-bottom: 80px;
}

.mil-mb-160 {
  margin-bottom: 160px;
}

.mil-mb-80-adaptive-30 {
  margin-bottom: 80px;
}
@media (max-width: 1200px) {
  .mil-mb-80-adaptive-30 {
    margin-bottom: 30px;
  }
}

.mil-p-80-80 {
  padding-top: 80px;
  padding-bottom: 80px;
}

.mil-p-50-80 {
  padding-top: 50px;
  padding-bottom: 80px;
}

.mil-p-160-160 {
  padding-top: 160px;
  padding-bottom: 160px;
}
@media (max-width: 1200px) {
  .mil-p-160-160 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.mil-p-160-0 {
  padding-top: 160px;
}
@media (max-width: 1200px) {
  .mil-p-160-0 {
    padding-top: 80px;
  }
}

.mil-p-160-80 {
  padding-top: 160px;
  padding-bottom: 80px;
}
@media (max-width: 1200px) {
  .mil-p-160-80 {
    padding-top: 80px;
    padding-bottom: 0;
  }
}

.mil-p-0-160 {
  padding-bottom: 160px;
}
@media (max-width: 1200px) {
  .mil-p-0-160 {
    padding-bottom: 80px;
  }
}

.mil-space-fix {
  height: 160px;
}

.mil-p-0-80 {
  padding-bottom: 80px;
}
@media (max-width: 1200px) {
  .mil-p-0-80 {
    padding-bottom: 0;
  }
}

.mil-p-80-160 {
  padding-top: 80px;
  padding-bottom: 160px;
}
@media (max-width: 1200px) {
  .mil-p-80-160 {
    padding-top: 0;
    padding-bottom: 80px;
  }
}

.mil-p-0-130 {
  padding-bottom: 130px;
}
@media (max-width: 1200px) {
  .mil-p-0-130 {
    padding-bottom: 50px;
  }
}

.mil-p-160-100 {
  padding-top: 160px;
  padding-bottom: 100px;
}
@media (max-width: 1200px) {
  .mil-p-160-100 {
    padding-top: 80px;
    padding-bottom: 20px;
  }
}

.mil-p-160-130 {
  padding-top: 160px;
  padding-bottom: 130px;
}
@media (max-width: 1200px) {
  .mil-p-160-130 {
    padding-top: 80px;
    padding-bottom: 50px;
  }
}

/* -------------------------------------------

preloader

------------------------------------------- */
.mil-preloader {
  width: 100vw;
  height: 100vh;
  background-color: rgb(237, 134, 34);
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-preloader .mil-load {
  position: absolute;
  bottom: 15px;
  left: 15px;
  background-color: rgb(255, 255, 255);
  height: 5px;
  width: 0;
  border-radius: 3px;
}

/* -------------------------------------------

scrollbar

------------------------------------------- */
/*::-webkit-scrollbar {
    display: none;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}*/
.mil-progress-track {
  position: absolute;
  height: 100vh;
  top: 0;
  right: 0;
  width: 4px;
  z-index: 999;
}
.mil-progress-track .mil-progress {
  width: 100%;
  height: 0;
  background-color: rgb(237, 134, 34);
}
@media screen and (max-width: 768px) {
  .mil-progress-track {
    display: none;
  }
}

/* -------------------------------------------

back to top

------------------------------------------- */
.progress-wrap {
  position: fixed;
  right: 30px;
  bottom: 30px;
  height: 72px;
  width: 72px;
  background-color: rgb(237, 134, 34);
  cursor: pointer;
  display: block;
  border-radius: 50px;
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.progress-wrap .active-progress {
  opacity: 1;
  visibility: visible;
}
.progress-wrap:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f062";
  z-index: 1;
  color: rgb(255, 255, 255);
}
.progress-wrap:hover {
  filter: brightness(110%);
}

/* -------------------------------------------

top panel

------------------------------------------- */
.mil-top-panel {
  position: fixed;
  z-index: 998;
  top: 0;
  left: 0;
  width: 100%;
  height: 130px;
  display: flex;
  align-items: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-top-panel .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mil-top-panel .mil-menu-buttons {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mil-top-panel.mil-active {
  background-color: rgb(255, 255, 255);
  height: 100px;
  box-shadow: 0 5px 10px rgba(69, 116, 67, 0.05);
}
@media (max-width: 1200px) {
  .mil-top-panel {
    height: 80px;
    background-color: rgb(255, 255, 255);
  }
  .mil-top-panel.mil-active {
    height: 80px;
  }
}

/* -------------------------------------------

top menu

------------------------------------------- */
.mil-top-menu ul {
  display: flex;
}
.mil-top-menu ul li {
  list-style-type: none;
  margin-right: 15px;
  position: relative;
}
.mil-top-menu ul li:last-child {
  margin-right: 0;
}
.mil-top-menu ul li a {
  border-radius: 10px;
  height: 48px;
  padding: 0 15px;
  color: rgb(137, 141, 150);
  font-family: "Switzer-Variable";
  font-weight: 600;
  letter-spacing: -2%;
  z-index: 1;
  white-space: nowrap;
  font-size: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-top-menu ul li a:before {
  content: "";
  opacity: 0;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 15px;
  right: 15px;
  background: rgb(237, 134, 34);
}
.mil-top-menu ul li a:hover {
  color: rgb(237, 134, 34);
}
.mil-top-menu ul li.mil-has-children > a {
  padding-right: 24px;
}
.mil-top-menu ul li.mil-has-children > a:before {
  right: 24px;
}
.mil-top-menu ul li.mil-has-children > a:after {
  content: url('data:image/svg+xml,<svg width="8" height="6" viewBox="0 0 8 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 1.25C0.5 1.25 2.63316 3.38316 4 4.75C4 4.75 6.13316 2.61683 7.5 1.25" stroke="%23898D96" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  position: absolute;
  right: 8px;
  margin-top: -1px;
}
.mil-top-menu ul li.mil-active > a {
  color: rgb(237, 134, 34);
}
.mil-top-menu ul li.mil-active > a:before {
  opacity: 1;
}
.mil-top-menu ul li ul {
  pointer-events: none;
  min-width: 160px;
  border-radius: 10px;
  background-color: rgb(255, 255, 255);
  padding: 15px;
  position: absolute;
  top: 48px;
  flex-direction: column;
  opacity: 0;
  transform: translateY(10px);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-top-menu ul li ul li {
  margin-bottom: 5px;
  margin-right: 0;
}
.mil-top-menu ul li ul li:last-child {
  margin-bottom: 0;
}
.mil-top-menu ul li ul li a {
  justify-content: flex-start;
  height: 38px;
}
.mil-top-menu ul li ul li a:before {
  display: none;
}
.mil-top-menu ul li ul li a:hover {
  background-color: rgb(242, 250, 250);
}
.mil-top-menu ul li:hover ul {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
}

.mil-top-panel.mil-active .mil-top-menu ul li:hover ul {
  border-radius: 0 0 10px 10px;
}

.mil-dark-1 .mil-top-menu ul li a {
  background-color: transparent;
}
.mil-dark-1 .mil-top-menu ul li.mil-active a {
  color: rgb(242, 250, 250);
}
.mil-dark-1 .mil-top-menu ul li ul {
  background-color: rgb(103, 178, 92);
}
.mil-dark-1 .mil-top-menu ul li ul li a {
  background-color: transparent;
  color: rgb(242, 250, 250);
}
.mil-dark-1 .mil-top-menu ul li ul li:hover a {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(255, 255, 255);
}
.mil-dark-1 .mil-top-menu ul li:hover > a {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(255, 255, 255);
}
.mil-dark-1 .mil-top-menu ul li:hover ul {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
}
.mil-dark-1.mil-active {
  background-color: rgb(69, 116, 67);
}
.mil-dark-1.mil-active .mil-top-menu ul li ul {
  background-color: rgb(69, 116, 67);
}

.mil-dark-2 .mil-top-menu ul li a {
  background-color: transparent;
  color: rgb(242, 250, 250);
  opacity: 0.7;
}
.mil-dark-2 .mil-top-menu ul li.mil-active a {
  color: rgb(242, 250, 250);
  opacity: 1;
}
.mil-dark-2 .mil-top-menu ul li ul {
  background-color: rgb(39, 38, 38);
}
.mil-dark-2 .mil-top-menu ul li ul li a {
  background-color: transparent;
  color: rgb(242, 250, 250);
}
.mil-dark-2 .mil-top-menu ul li ul li:hover a {
  opacity: 1;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(255, 255, 255);
}
.mil-dark-2 .mil-top-menu ul li.mil-has-children > a:after {
  content: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.5 1.25C0.5 1.25 2.63316 3.38316 4 4.75C4 4.75 6.13316 2.61683 7.5 1.25' stroke='%23F8F8F8' stroke-opacity='0.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.mil-dark-2 .mil-top-menu ul li:hover > a {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(255, 255, 255);
  opacity: 1;
}
.mil-dark-2 .mil-top-menu ul li:hover ul {
  pointer-events: all;
  opacity: 1;
  transform: translateY(0);
}
.mil-dark-2.mil-active {
  background-color: rgb(39, 38, 38);
}
.mil-dark-2.mil-active .mil-top-menu ul li ul {
  background-color: rgb(39, 38, 38);
}

@media (max-width: 1200px) {
  .mil-top-menu {
    position: absolute;
    pointer-events: none;
    top: 80px;
    left: 0;
    background-color: rgb(255, 255, 255);
    width: 100%;
    opacity: 0;
    transform: translateY(10px);
    box-shadow: 0 5px 5px rgba(69, 116, 67, 0.1);
    padding: 0 0 15px 0;
    transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  }
  .mil-top-menu.mil-active {
    pointer-events: all;
    opacity: 1;
    transform: translateY(0);
  }
  .mil-top-menu ul {
    padding: 5px;
    flex-direction: column;
  }
  .mil-top-menu ul li {
    width: 100%;
  }
  .mil-top-menu ul li ul {
    border-radius: 10px !important;
    transform: none !important;
    box-shadow: none;
    position: static;
    opacity: 1;
    max-height: 0;
    padding: 0;
    overflow: hidden;
    background-color: rgb(242, 250, 250);
  }
  .mil-top-menu ul li ul li {
    opacity: 0;
    transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  }
  .mil-top-menu ul li:hover a {
    background-color: rgb(255, 255, 255);
  }
  .mil-top-menu ul li:hover ul {
    padding: 5px 0;
    max-height: 400px;
  }
  .mil-top-menu ul li:hover ul li {
    opacity: 1;
  }
  .mil-top-menu ul li:hover ul li a {
    background-color: inherit;
  }
  .mil-top-menu ul li:last-child:hover ul {
    margin-bottom: 0;
  }
  .mil-top-menu ul li.mil-active > a {
    box-shadow: none;
    color: rgb(237, 134, 34);
  }
}
@media (max-width: 1200px) {
  .mil-dark-1 {
    background-color: rgb(69, 116, 67);
  }
  .mil-dark-1 .mil-top-menu {
    background-color: rgb(69, 116, 67);
  }
  .mil-dark-2 {
    background-color: rgb(39, 38, 38);
  }
  .mil-dark-2 .mil-top-menu {
    background-color: rgb(39, 38, 38);
  }
}
/* -------------------------------------------

menu button

------------------------------------------- */
.mil-menu-btn {
  margin-left: 15px;
  background-color: rgb(242, 250, 250);
  padding: 25px 15px;
  border-radius: 10px;
  height: 24px;
  cursor: pointer;
  display: none;
  justify-content: center;
  align-items: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 1200px) {
  .mil-menu-btn {
    display: flex;
  }
}
.mil-menu-btn span, .mil-menu-btn span:after, .mil-menu-btn span:before {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background: rgb(69, 116, 67);
  backface-visibility: hidden;
  transition: inherit;
}
.mil-menu-btn span {
  position: relative;
}
.mil-menu-btn span:after, .mil-menu-btn span:before {
  position: absolute;
}
.mil-menu-btn span:before {
  top: -8px;
}
.mil-menu-btn span:after {
  top: 8px;
}
.mil-menu-btn.mil-active span {
  transform: rotate(45deg);
}
.mil-menu-btn.mil-active span:before {
  transform: translate(0px, 8px) rotate(-90deg);
}
.mil-menu-btn.mil-active span:after {
  width: 24px;
  transform: translate(0px, -8px) rotate(-90deg);
}

.mil-dark-1 .mil-menu-btn {
  background-color: rgb(103, 178, 92);
}
.mil-dark-1 .mil-menu-btn span, .mil-dark-1 .mil-menu-btn span:after, .mil-dark-1 .mil-menu-btn span:before {
  background-color: rgb(242, 250, 250);
}

.mil-dark-2 .mil-menu-btn {
  background-color: rgb(27, 23, 23);
}
.mil-dark-2 .mil-menu-btn span, .mil-dark-2 .mil-menu-btn span:after, .mil-dark-2 .mil-menu-btn span:before {
  background-color: rgb(242, 250, 250);
}

/* -------------------------------------------

banner

------------------------------------------- */
.mil-banner {
  position: relative;
  overflow: hidden;
  background-color: rgb(242, 250, 250);
  height: 100vh;
  min-height: 900px;
  display: flex;
  align-items: center;
  padding-top: 40px;
}
.mil-banner .mil-banner-img {
  width: 100%;
}
.mil-banner .mil-banner-img img {
  float: right;
}
.mil-banner .mil-banner-img.mil-banner-img-out img {
  transform: translateX(-80px);
  width: 190%;
  float: left;
}
@media screen and (max-width: 1200px) {
  .mil-banner {
    height: auto;
    margin-top: 80px;
    padding: 80px 0;
    padding-bottom: 0;
  }
  .mil-banner .container {
    margin-top: 0;
  }
  .mil-banner .mil-banner-text {
    text-align: center;
  }
  .mil-banner .mil-banner-img img {
    width: 100% !important;
    transform: none !important;
  }
  .mil-banner .mil-banner-img.mil-120 img {
    width: 120% !important;
  }
  .mil-banner .mil-banner-img.mil-banner-img-out img {
    transform: none;
    width: 110% !important;
    float: left;
  }
}
.mil-banner.mil-banner-inner {
  height: auto;
  background-color: transparent;
  min-height: 680px;
  padding-top: 80px;
  margin-top: 0;
}
.mil-banner.banner-short {
  padding-bottom: 80px;
  height: 60vh;
  align-items: flex-end;
}
.mil-banner.mil-dark-1 {
  background: linear-gradient(90deg, #1B1D1D 0%, #0D5152 50%, #1B1D1D 100%);
}
.mil-banner.mil-dark-2 {
  background-color: #1B1717;
  background: linear-gradient(90deg, #1B1717 0%, rgba(237, 134, 34, 0.4) 50%, #1B1717 100%);
}

.mil-radial-g-1 {
  background-color: rgb(103, 178, 92);
  opacity: 0.6;
  position: absolute;
  width: 100vw;
  height: 100vw;
  top: -170%;
  left: 0;
  border-radius: 50%;
  filter: blur(200px);
}

.mil-radial-g-2 {
  background-color: rgb(237, 134, 34);
  opacity: 0.6;
  position: absolute;
  width: 100vw;
  height: 100vw;
  top: -170%;
  left: 0;
  border-radius: 50%;
  filter: blur(200px);
}

.mil-radial-g-3 {
  background-color: #FDE400;
  opacity: 1;
  position: absolute;
  width: 60vw;
  height: 300px;
  bottom: -200px;
  right: 0;
  border-radius: 500px 0 0 0;
  filter: blur(200px);
}

/* -------------------------------------------

content list

------------------------------------------- */
.mil-banner-list {
  display: flex;
}
.mil-banner-list li {
  display: flex;
  align-items: center;
  position: relative;
  list-style-type: none;
  margin-bottom: 30px;
  margin-right: 30px;
  color: rgb(160, 205, 205);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-banner-list li:last-child {
  margin-right: 0;
}
.mil-banner-list li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00c";
  margin-right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  border: solid 2px rgb(160, 205, 205);
  color: rgb(160, 205, 205);
  width: 36px;
  height: 36px;
  border-radius: 50%;
}
.mil-banner-list.mil-type-2 li {
  color: rgb(69, 116, 67);
}
.mil-banner-list.mil-type-2 li:before {
  border: solid 2px rgb(103, 178, 92);
  color: rgb(103, 178, 92);
}

.mil-list-1 li {
  position: relative;
  padding-left: 45px;
  list-style-type: none;
  margin-bottom: 30px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 992px) {
  .mil-list-1 li {
    opacity: 1;
  }
}
.mil-list-1 li:before {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% + 30px);
  background-color: rgb(242, 250, 250);
  position: absolute;
  top: 0;
  left: 14px;
}
.mil-list-1 li:after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgb(242, 250, 250);
  background-color: rgb(103, 178, 92);
  position: absolute;
  top: 6px;
  left: 8px;
}
.mil-list-1 li:last-child {
  margin-bottom: 0;
}
.mil-list-1 li:last-child:before {
  display: none;
}
.mil-list-1.mil-accent li:after {
  background-color: rgb(237, 134, 34);
}

.mil-list-2 li {
  position: relative;
  padding-left: 56px;
  list-style-type: none;
  margin-bottom: 30px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-list-2 li:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00c";
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: rgb(103, 178, 92);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: rgb(242, 250, 250);
  position: absolute;
  top: -4px;
  left: 0;
}
.mil-list-2 li:last-child {
  margin-bottom: 0;
}
.mil-list-2.mil-type-2 li:after {
  background-color: rgb(103, 178, 92);
  color: rgb(255, 255, 255);
}
.mil-list-2.mil-type-3 li:after {
  background-color: rgb(69, 116, 67);
  color: rgb(103, 178, 92);
}
.mil-list-2.mil-accent li:after {
  background-color: rgb(237, 134, 34);
}

/* -------------------------------------------

brands

------------------------------------------- */
.mil-brand {
  margin: 0 auto;
  opacity: 0.5;
  filter: grayscale(100%);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-brand img {
  display: inline-block;
}
.mil-brand:hover {
  opacity: 1;
  filter: grayscale(0);
}

.mil-brand-card {
  background-color: rgb(39, 38, 38);
  border-radius: 40px;
  padding: 30px;
}
.mil-brand-card img {
  filter: grayscale(100%);
  opacity: 0.5;
}

/* -------------------------------------------

facts

------------------------------------------- */
.mil-fact-bg {
  padding: 60px;
  border-radius: 40px;
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
}

/* -------------------------------------------

testimonials

------------------------------------------- */
.mil-testi-pagination {
  margin-top: 60px;
  width: 100%;
  display: flex;
  justify-content: center;
}
.mil-testi-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgb(137, 141, 150);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-testi-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: rgb(237, 134, 34);
}

.mil-slider-nav-1 {
  position: absolute;
  z-index: 2;
  top: 27%;
  left: -132px;
  display: flex;
  justify-content: space-between;
  width: calc(100% + 144px + 120px);
}

.mil-testi-prev {
  cursor: pointer;
  text-align: center;
  background-color: rgb(237, 134, 34);
  height: 72px;
  width: 72px;
  border-radius: 50%;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-testi-prev:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  transform: rotate(180deg);
  color: rgb(255, 255, 255);
}
.mil-testi-prev.swiper-button-disabled {
  background-color: rgba(196, 196, 196, 0.2);
  cursor: not-allowed;
}

.mil-testi-next {
  cursor: pointer;
  text-align: center;
  background-color: rgb(237, 134, 34);
  height: 72px;
  width: 72px;
  border-radius: 50%;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-testi-next:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  color: rgb(255, 255, 255);
}
.mil-testi-next.swiper-button-disabled {
  background-color: rgba(196, 196, 196, 0.2);
  cursor: not-allowed;
}

/* -------------------------------------------

accordion

------------------------------------------- */
.mil-accordion {
  width: 100%;
}
.mil-accordion .mil-accordion-group .mil-accordion-menu {
  color: rgb(69, 116, 67);
  padding: 30px 0;
  cursor: pointer;
  user-select: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 992px) {
  .mil-accordion .mil-accordion-group .mil-accordion-menu {
    align-items: flex-start;
  }
}
.mil-accordion .mil-accordion-group .mil-accordion-menu h5 {
  width: calc(100% - 45px);
}
.mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background-color: rgb(242, 250, 250);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon.mil-dark {
  background-color: rgb(69, 116, 67);
}
.mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon.mil-dark i {
  color: rgb(242, 250, 250);
}
@media screen and (max-width: 992px) {
  .mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon {
    width: 30px;
    height: 30px;
  }
}
.mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon.mil-active {
  background-color: rgb(237, 134, 34);
}
.mil-accordion .mil-accordion-group .mil-accordion-menu .mil-accordion-icon.mil-active i {
  color: rgb(255, 255, 255);
}
.mil-accordion .mil-accordion-group .mil-accordion-content {
  padding-right: 100px;
  height: 0;
  overflow: hidden;
  margin-bottom: 15px;
}
@media screen and (max-width: 992px) {
  .mil-accordion .mil-accordion-group .mil-accordion-content {
    padding-right: 0;
  }
}
.mil-accordion .mil-accordion-group:last-child .mil-accordion-content {
  margin-bottom: 0;
}

/* -------------------------------------------

illustrations

------------------------------------------- */
.mil-image-frame {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  width: 100%;
}
.mil-image-frame.mil-visible-overflow {
  overflow: visible;
}
.mil-image-frame img {
  width: 100%;
  border-radius: 40px;
}
.mil-image-frame .mil-img-box {
  text-align: center;
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 225px;
  height: 225px;
  border-radius: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-image-frame .mil-img-box.mil-left-box {
  right: auto;
  left: -60px;
}
.mil-image-frame .mil-img-box.mil-left-max {
  left: -120px;
}
.mil-image-frame .mil-img-box.mil-right-max {
  right: -50px;
  bottom: -50px;
}
.mil-image-frame .mil-img-box.mil-accent-box {
  background: linear-gradient(180deg, #F27457 0%, #A08488 100%);
}
.mil-image-frame .mil-img-box.mil-soft-box {
  background: linear-gradient(0deg, #B3D4D8 0%, #DEECE8 100%);
}
.mil-image-frame .mil-img-box div {
  width: 100%;
}
.mil-image-frame .mil-img-box img {
  position: static !important;
  width: 90px;
  border-radius: 0;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  .mil-image-frame .mil-img-box {
    display: inline-flex;
    right: auto;
    left: 15px;
    bottom: 15px;
    width: 175px;
    height: 175px;
    padding: 30px 30px;
  }
  .mil-image-frame .mil-img-box br {
    display: block;
  }
  .mil-image-frame .mil-img-box.mil-left-box {
    right: auto;
    left: 15px;
  }
}
.mil-image-frame.mil-image-frame-2 {
  padding-bottom: 180%;
}
.mil-image-frame.mil-image-frame-2 img {
  position: absolute;
  top: 0;
  left: 0;
}

.mil-illustration-absolute {
  width: 800px;
  margin: 0 auto;
  height: 400px;
  position: relative;
}
.mil-illustration-absolute img {
  position: absolute;
  width: 100%;
}
@media screen and (max-width: 992px) {
  .mil-illustration-absolute {
    width: 100%;
    height: auto;
  }
  .mil-illustration-absolute img {
    position: static;
  }
}
.mil-illustration-absolute.mil-type-2 {
  height: 250px;
}
@media screen and (max-width: 992px) {
  .mil-illustration-absolute.mil-type-2 {
    width: 100%;
    height: auto;
  }
}
.mil-illustration-absolute.mil-type-3 {
  height: 350px;
}
@media screen and (max-width: 992px) {
  .mil-illustration-absolute.mil-type-3 {
    width: 100%;
    height: auto;
  }
}

.mil-illustration-fix {
  margin-bottom: 160px;
}
@media screen and (max-width: 992px) {
  .mil-illustration-fix {
    padding-bottom: 80px;
    margin-bottom: 0;
  }
}

.mil-gradient-1 {
  position: absolute;
  z-index: -1;
  width: 130%;
  height: 70%;
  left: -30%;
  top: 50%;
  background: #F27457;
  opacity: 0.7;
  transform: translate(0, -50%);
  filter: blur(250px);
}

.mil-video-pos {
  width: 100%;
  position: absolute;
}
.mil-video-pos .mil-video {
  border-radius: 40px;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 135px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-video-pos .mil-video img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: center;
  top: 0;
  left: 0;
}
.mil-video-pos .mil-video .mil-video-play {
  background-color: rgb(237, 134, 34);
  width: 220px;
  height: 220px;
  border-radius: 50%;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-video-pos .mil-video .mil-video-play i {
  font-size: 24px;
  color: rgb(242, 250, 250);
}
.mil-video-pos .mil-video .mil-video-play:hover {
  transform: scale(1.1);
}
@media screen and (max-width: 1200px) {
  .mil-video-pos {
    position: static;
  }
}

/* -------------------------------------------

steps

------------------------------------------- */
.mil-step {
  opacity: 0.6;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-step:hover {
  opacity: 1;
}
@media screen and (max-width: 992px) {
  .mil-step {
    opacity: 1;
  }
}

/* -------------------------------------------

icon box

------------------------------------------- */
.mil-icon-box {
  display: flex;
  border-radius: 40px;
  flex-direction: column;
}
.mil-icon-box img {
  display: block;
  width: 60px;
}
.mil-icon-box.mil-with-bg {
  padding: 60px 30px;
  background-color: rgb(242, 250, 250);
}
.mil-icon-box.mil-dark {
  padding: 60px 30px;
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
}
.mil-icon-box.mil-dark-2 {
  padding: 60px 30px;
  background-color: rgb(39, 38, 38);
}
.mil-icon-box.mil-bg-fix {
  padding: 60px 30px;
}
.mil-icon-box.mil-center {
  text-align: center;
}
.mil-icon-box.mil-center img {
  margin-left: auto;
  margin-right: auto;
}
.mil-icon-box.mil-hover {
  padding: 60px 30px;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-icon-box.mil-hover:hover, .mil-icon-box.mil-hover.mil-hover-active {
  background-color: rgb(242, 250, 250);
}
.mil-icon-box.mil-hover:hover h5, .mil-icon-box.mil-hover:hover p, .mil-icon-box.mil-hover.mil-hover-active h5, .mil-icon-box.mil-hover.mil-hover-active p {
  color: rgb(69, 116, 67);
}
@media screen and (max-width: 992px) {
  .mil-icon-box {
    width: 100%;
    height: auto;
  }
  .mil-icon-box.mil-hover {
    background-color: rgb(242, 250, 250);
  }
  .mil-icon-box.mil-hover h5 {
    color: rgb(69, 116, 67);
  }
}
@media screen and (max-width: 768px) {
  .mil-icon-box.mil-bg-fix {
    background-color: rgba(196, 196, 196, 0.05);
  }
}

.mil-icon-box-2 {
  display: flex;
  align-items: flex-start;
}
.mil-icon-box-2 img {
  margin-right: 30px;
}
.mil-icon-box-2 p {
  width: 81%;
}
.mil-icon-box-2.mil-hover {
  opacity: 0.5;
  cursor: default;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-icon-box-2.mil-hover .mil-button-transform {
  padding: 0;
  background-color: transparent;
  color: rgb(237, 134, 34);
}
.mil-icon-box-2.mil-hover:hover, .mil-icon-box-2.mil-hover.mil-hover-active {
  opacity: 1;
}
.mil-icon-box-2.mil-hover:hover .mil-button-transform, .mil-icon-box-2.mil-hover.mil-hover-active .mil-button-transform {
  background-color: rgb(237, 134, 34);
  padding: 0 30px;
  color: rgb(255, 255, 255);
}
@media screen and (max-width: 992px) {
  .mil-icon-box-2.mil-hover {
    flex-direction: column;
    opacity: 1;
  }
}

.mil-icon-box-2-frame:hover .mil-icon-box-2.mil-hover {
  opacity: 0.5;
}
.mil-icon-box-2-frame:hover .mil-icon-box-2.mil-hover .mil-button-transform {
  padding: 0;
  background-color: transparent;
  color: rgb(237, 134, 34);
}
.mil-icon-box-2-frame:hover .mil-icon-box-2.mil-hover:hover {
  opacity: 1;
}
.mil-icon-box-2-frame:hover .mil-icon-box-2.mil-hover:hover .mil-button-transform {
  background-color: rgb(237, 134, 34);
  padding: 0 30px;
  color: rgb(255, 255, 255);
}

/* -------------------------------------------

team

------------------------------------------- */
.mil-team-card {
  text-align: center;
}
.mil-team-card .mil-portrait {
  position: relative;
  padding-bottom: 130%;
  border-radius: 40px;
  overflow: hidden;
}
.mil-team-card .mil-portrait img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
}

/* -------------------------------------------

vacancie

------------------------------------------- */
.mil-vacancie {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 60px 100px;
  transform: translateX(-100px);
  background: rgb(242, 250, 250);
  width: calc(100% + 200px);
  border-radius: 40px;
}
.mil-vacancie:after {
  content: "";
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-vacancie .mil-left {
  display: block;
  z-index: 2;
  padding-right: 60px;
}
.mil-vacancie .mil-right {
  display: flex;
  justify-content: flex-end;
  z-index: 2;
}
.mil-vacancie .mil-tags {
  font-size: 14px;
  display: flex;
}
.mil-vacancie .mil-tags li {
  list-style-type: none;
  margin-right: 30px;
  color: rgb(137, 141, 150);
}
.mil-vacancie:hover:after {
  opacity: 1;
}
.mil-vacancie:hover h4 {
  color: rgb(242, 250, 250);
}
@media screen and (max-width: 992px) {
  .mil-vacancie {
    transform: translateX(0);
    width: 100%;
    padding: 60px;
    flex-direction: column;
    align-items: flex-start;
  }
  .mil-vacancie .mil-left {
    margin-bottom: 30px;
    padding-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .mil-vacancie .mil-tags {
    flex-direction: column;
  }
  .mil-vacancie .mil-tags li {
    margin-right: 0;
    margin-bottom: 15px;
  }
}

/* -------------------------------------------

blog

------------------------------------------- */
.mil-blog-card {
  display: block;
  background-color: rgb(242, 250, 250);
  border-radius: 40px;
}
.mil-blog-card .mil-card-cover {
  position: relative;
  overflow: hidden;
  overflow: hidden;
  border-radius: 40px;
  padding-bottom: 65%;
}
.mil-blog-card .mil-card-cover img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mil-blog-card .mil-descr {
  padding: 30px 30px 40px;
}

.mil-pub-cover {
  width: 100%;
  padding-bottom: 50%;
  position: relative;
  border-radius: 40px;
  overflow: hidden;
}
.mil-pub-cover img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
}
.mil-pub-cover.mil-inner {
  padding-bottom: 65%;
}
@media screen and (max-width: 768px) {
  .mil-pub-cover {
    padding-bottom: 65%;
  }
}

.mil-pup-tags {
  display: flex;
  padding: 0;
}
.mil-pup-tags li {
  list-style-type: none;
  margin-right: 10px;
}
.mil-pup-tags li:last-child {
  margin-right: 0;
}
.mil-pup-tags li a {
  font-size: 14px;
  display: block;
  padding: 6px 30px;
  border-radius: 10px;
  border: solid 1px rgb(196, 196, 196);
  color: rgb(196, 196, 196);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-pup-tags li a:hover {
  color: rgb(103, 178, 92);
  border: solid 1px rgb(103, 178, 92);
}
@media screen and (max-width: 768px) {
  .mil-pup-tags {
    flex-direction: column;
  }
  .mil-pup-tags li {
    margin-bottom: 15px;
    margin-right: 0;
  }
  .mil-pup-tags li:last-child {
    margin-bottom: 0;
  }
  .mil-pup-tags li a {
    text-align: center;
  }
}

.mil-share-frame {
  display: flex;
  align-items: center;
}
.mil-share-frame h6 {
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .mil-share-frame {
    flex-direction: column;
  }
  .mil-share-frame h6 {
    margin-bottom: 15px;
    margin-right: 0;
  }
}

.mil-pup-share {
  display: flex;
  padding: 0;
}
.mil-pup-share li {
  list-style-type: none;
  margin-right: 10px;
}
.mil-pup-share li:last-child {
  margin-right: 0;
}
.mil-pup-share li a {
  font-size: 14px;
  display: block;
  padding: 6px 15px;
  border-radius: 10px;
  background-color: rgb(242, 250, 250);
  color: rgb(196, 196, 196);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-pup-share li a i {
  color: rgb(196, 196, 196);
  margin-right: 10px;
}
.mil-pup-share li a:hover {
  background-color: rgb(103, 178, 92);
  color: rgb(255, 255, 255);
}
.mil-pup-share li a:hover i {
  color: rgb(255, 255, 255);
}

.mil-next-post {
  padding: 60px 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border-top: solid 1px rgb(196, 196, 196);
  border-bottom: solid 1px rgb(196, 196, 196);
}
.mil-next-post .mil-descr {
  text-align: right;
  padding-right: 60px;
}
.mil-next-post .mil-cover {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 200px;
  height: 200px;
  border-radius: 40px;
  overflow: hidden;
}
.mil-next-post .mil-cover img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-next-post .mil-cover i {
  background-color: rgb(237, 134, 34);
  color: rgb(255, 255, 255);
  position: absolute;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: scale(0.5);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-next-post .mil-cover:hover img {
  transform: scale(1.1);
}
.mil-next-post .mil-cover:hover i {
  transform: scale(1);
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .mil-next-post {
    flex-direction: column;
  }
  .mil-next-post .mil-descr {
    text-align: center;
    margin-bottom: 30px;
    padding: 0;
  }
}

/* -------------------------------------------

comments

------------------------------------------- */
.mil-comments li {
  list-style-type: none;
}
.mil-comments li .mil-comment {
  display: flex;
  margin-bottom: 60px;
}
.mil-comments li .mil-comment .mil-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
.mil-comments li .mil-comment .mil-avatar img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.mil-comments li .mil-comment .mil-comment-text {
  position: relative;
  padding-left: 30px;
  width: calc(100% - 60px);
}
.mil-comments li .mil-comment .mil-comment-text .mil-reply {
  position: absolute;
  top: 0;
  right: 0;
  font-weight: 600;
  font-size: 14px;
  font-family: "Switzer-Variable";
  color: rgb(237, 134, 34);
}
.mil-comments li ul {
  padding-left: 90px;
}
@media screen and (max-width: 768px) {
  .mil-comments li .mil-comment .mil-avatar {
    width: 40px;
    height: 40px;
  }
  .mil-comments li .mil-comment .mil-comment-text {
    padding-left: 15px;
    width: calc(100% - 40px);
  }
  .mil-comments li ul {
    padding-left: 55px;
  }
}

/* -------------------------------------------

form

------------------------------------------- */
.mil-input {
  width: 100%;
  height: 70px;
  border: solid 1px rgba(137, 141, 150, 0.2);
  font-weight: 600;
  font-size: 14px;
  font-family: "Switzer-Variable";
  border-radius: 20px;
  padding: 0 30px;
}
.mil-input::placeholder {
  font-weight: 600;
  font-size: 14px;
  font-family: "Switzer-Variable";
}

textarea {
  width: 100%;
  border: solid 1px rgb(196, 196, 196);
  border-radius: 20px;
  padding: 30px 30px;
}
textarea::placeholder {
  font-weight: 600;
  font-size: 14px;
  font-family: "Switzer-Variable";
}

.mil-checkbox-frame {
  display: flex;
  align-items: center;
}
.mil-checkbox-frame p {
  padding-left: 15px;
}

.mil-checkbox {
  position: relative;
  height: 24px;
  width: 24px;
}

.mil-checkbox label {
  background-color: rgb(255, 255, 255);
  border: 1px solid rgb(196, 196, 196);
  border-radius: 3px;
  cursor: pointer;
  height: 24px;
  width: 24px;
  left: 0;
  position: absolute;
  top: 0;
}

.mil-checkbox label:after {
  border: 2px solid rgb(255, 255, 255);
  border-top: none;
  border-right: none;
  content: "";
  height: 6px;
  left: 5px;
  opacity: 0;
  position: absolute;
  top: 6px;
  transform: rotate(-45deg);
  width: 12px;
}

.mil-checkbox input[type=checkbox] {
  visibility: hidden;
}

.mil-checkbox input[type=checkbox]:checked + label {
  background-color: rgb(237, 134, 34);
  border-color: rgb(237, 134, 34);
}

.mil-checkbox input[type=checkbox]:checked + label:after {
  opacity: 1;
}

.mil-subscripe-form {
  position: relative;
  display: flex;
}
.mil-subscripe-form .mil-input {
  margin-right: 15px;
}
@media screen and (max-width: 768px) {
  .mil-subscripe-form {
    flex-direction: column;
  }
  .mil-subscripe-form .mil-input {
    margin-bottom: 15px;
  }
}

/* -------------------------------------------

text list

------------------------------------------- */
.mil-text-list li {
  text-align: left !important;
  display: flex;
  align-items: center;
  list-style-type: none;
  margin-bottom: 10px;
}
.mil-text-list li:before {
  display: block;
  content: "";
  background-color: rgb(160, 205, 205);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 20px;
}
.mil-text-list li:last-child {
  margin-bottom: 0;
}
.mil-text-list.mil-check li:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00c";
  padding: 5px;
  font-size: 10px;
  color: rgb(103, 178, 92);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: rgb(242, 250, 250);
}
.mil-text-list.mil-check.mil-type-2 li:before {
  background-color: rgb(103, 178, 92);
  color: rgb(242, 250, 250);
}

/* -------------------------------------------

price

------------------------------------------- */
.mil-switcher {
  position: relative;
  display: flex;
  justify-content: center;
  background-color: rgb(69, 116, 67);
  border: solid 5px rgb(69, 116, 67);
  width: 245px;
  padding: 0;
  border-radius: 50px;
}
.mil-switcher:after {
  content: "-30%";
  background: linear-gradient(180deg, #F27457 0%, #A08488 100%);
  padding: 10px 15px;
  border-radius: 40px;
  position: absolute;
  top: -20px;
  right: -20px;
  font-family: "Switzer-Variable";
  font-size: 12px;
  font-weight: 600;
  color: rgb(255, 255, 255);
}
.mil-switcher span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  text-align: center;
  height: 60px;
  cursor: pointer;
  color: #fff;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  font-family: "Switzer-Variable";
  margin-right: 5px;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-switcher span:last-child {
  margin-right: 0;
}
.mil-switcher span.mil-active {
  background-color: #fff;
  color: rgb(69, 116, 67);
}

.mil-price-card {
  padding: 60px 30px;
  text-align: center;
  border-radius: 40px;
}
.mil-price-card .mil-sup-text {
  font-size: 18px;
  margin-left: 5px;
}
.mil-price-card.mil-featured {
  background: linear-gradient(0deg, #224D50 0%, #1C6360 100%);
}
.mil-price-card li {
  list-style: none;
}
@media screen and (max-width: 768px) {
  .mil-price-card {
    background-color: rgba(196, 196, 196, 0.05);
  }
}

/* -------------------------------------------

footer

------------------------------------------- */
footer .mil-footer-logo {
  display: inline-block;
}
footer .mil-footer-list li {
  list-style-type: none;
}
footer .mil-footer-list li a {
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
footer .mil-footer-list li a:hover {
  color: rgb(69, 116, 67);
}
footer .mil-footer-list.mil-footer-list-2 {
  display: flex;
}
footer .mil-footer-list.mil-footer-list-2 li {
  margin-right: 30px;
  margin-bottom: 0;
}
footer .mil-footer-list.mil-footer-list-2 li a {
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
footer .mil-footer-list.mil-footer-list-2 li a:hover {
  color: rgb(255, 255, 255);
}
@media (max-width: 768px) {
  footer .mil-footer-list.mil-footer-list-2 {
    flex-direction: column;
  }
  footer .mil-footer-list.mil-footer-list-2 li {
    margin-bottom: 15px;
  }
}
footer .mil-footer-bottom {
  padding-top: 60px;
  padding-bottom: 60px;
  border-top: solid 1px rgba(137, 141, 150, 0.2);
}
footer.mil-footer-with-bg {
  background-color: rgb(242, 250, 250);
}
footer.mil-footer-with-bg .mil-footer-bottom {
  border-top: solid 1px rgba(137, 141, 150, 0.2);
}
footer.mil-footer-dark {
  background-color: rgb(69, 116, 67);
}
footer.mil-footer-dark .mil-footer-bottom {
  border-top: solid 1px rgba(103, 178, 92, 0.2);
}
footer.mil-footer-dark-2 {
  background-color: rgb(39, 38, 38);
}
footer.mil-footer-dark-2 .mil-footer-bottom {
  border-top: solid 1px rgba(137, 141, 150, 0.2);
}

.mil-footer-space-fix {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

.mil-subscripe-form-footer {
  position: relative;
}
.mil-subscripe-form-footer input {
  background-color: transparent;
  height: 65px;
}
.mil-subscripe-form-footer input:focus {
  outline: inherit;
}
.mil-subscripe-form-footer button {
  background-color: transparent;
  border: none;
  position: absolute;
  top: 20px;
  right: 25px;
  font-size: 22px;
  cursor: pointer;
}
.mil-subscripe-form-footer button i {
  color: rgb(242, 250, 250);
}
.mil-subscripe-form-footer button i.mil-dark {
  color: rgb(69, 116, 67);
}/*# sourceMappingURL=style.css.map */


/* RESPONSIVESS CUSTOM */
/* Base visibility classes */
.hidden {
    display: none !important;
}

.block {
    display: block !important;
}

.inline {
    display: inline !important;
}

.inline-block {
    display: inline-block !important;
}

.flex {
    display: flex !important;
}

.inline-flex {
    display: inline-flex !important;
}

.grid {
    display: grid !important;
}

/* Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:hidden {
        display: none !important;
    }
    
    .sm\:block {
        display: block !important;
    }
    
    .sm\:inline {
        display: inline !important;
    }
    
    .sm\:inline-block {
        display: inline-block !important;
    }
    
    .sm\:flex {
        display: flex !important;
    }
    
    .sm\:inline-flex {
        display: inline-flex !important;
    }
    
    .sm\:grid {
        display: grid !important;
    }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:hidden {
        display: none !important;
    }
    
    .md\:block {
        display: block !important;
    }
    
    .md\:inline {
        display: inline !important;
    }
    
    .md\:inline-block {
        display: inline-block !important;
    }
    
    .md\:flex {
        display: flex !important;
    }
    
    .md\:inline-flex {
        display: inline-flex !important;
    }
    
    .md\:grid {
        display: grid !important;
    }
}

/* Large screens (lg) - 1024px and up */
@media (min-width: 1024px) {
    .lg\:hidden {
        display: none !important;
    }
    
    .lg\:block {
        display: block !important;
    }
    
    .lg\:inline {
        display: inline !important;
    }
    
    .lg\:inline-block {
        display: inline-block !important;
    }
    
    .lg\:flex {
        display: flex !important;
    }
    
    .lg\:inline-flex {
        display: inline-flex !important;
    }
    
    .lg\:grid {
        display: grid !important;
    }
}

/* Extra large screens (xl) - 1280px and up */
@media (min-width: 1280px) {
    .xl\:hidden {
        display: none !important;
    }
    
    .xl\:block {
        display: block !important;
    }
    
    .xl\:inline {
        display: inline !important;
    }
    
    .xl\:inline-block {
        display: inline-block !important;
    }
    
    .xl\:flex {
        display: flex !important;
    }
    
    .xl\:inline-flex {
        display: inline-flex !important;
    }
    
    .xl\:grid {
        display: grid !important;
    }
}

/* Extra extra large screens (2xl) - 1536px and up */
@media (min-width: 1536px) {
    .\32xl\:hidden {
        display: none !important;
    }
    
    .\32xl\:block {
        display: block !important;
    }
    
    .\32xl\:inline {
        display: inline !important;
    }
    
    .\32xl\:inline-block {
        display: inline-block !important;
    }
    
    .\32xl\:flex {
        display: flex !important;
    }
    
    .\32xl\:inline-flex {
        display: inline-flex !important;
    }
    
    .\32xl\:grid {
        display: grid !important;
    }
}

/* Additional utility classes for common responsive patterns */
.show-mobile {
    display: block !important;
}

.show-tablet {
    display: none !important;
}

.show-desktop {
    display: none !important;
}

@media (min-width: 768px) {
    .show-mobile {
        display: none !important;
    }
    
    .show-tablet {
        display: block !important;
    }
}

@media (min-width: 1024px) {
    .show-tablet {
        display: none !important;
    }
    
    .show-desktop {
        display: block !important;
    }
}

/* Flexbox utilities for responsive layouts */
.flex-col {
    flex-direction: column !important;
}

.flex-row {
    flex-direction: row !important;
}

@media (min-width: 768px) {
    .md\:flex-row {
        flex-direction: row !important;
    }
    
    .md\:flex-col {
        flex-direction: column !important;
    }
}

@media (min-width: 1024px) {
    .lg\:flex-row {
        flex-direction: row !important;
    }
    
    .lg\:flex-col {
        flex-direction: column !important;
    }
}

/* Base font sizes */
.text-xs {
    font-size: 0.75rem; /* 12px */
    line-height: 1rem; /* 16px */
}

.text-sm {
    font-size: 0.875rem; /* 14px */
    line-height: 1.25rem; /* 20px */
}

.text-base {
    font-size: 1rem; /* 16px */
    line-height: 1.5rem; /* 24px */
}

.text-lg {
    font-size: 1.125rem; /* 18px */
    line-height: 1.75rem; /* 28px */
}

.text-xl {
    font-size: 1.25rem; /* 20px */
    line-height: 1.75rem; /* 28px */
}

.text-2xl {
    font-size: 1.5rem; /* 24px */
    line-height: 2rem; /* 32px */
}

.text-3xl {
    font-size: 1.875rem; /* 30px */
    line-height: 2.25rem; /* 36px */
}

.text-4xl {
    font-size: 2.25rem; /* 36px */
    line-height: 2.5rem; /* 40px */
}

.text-5xl {
    font-size: 3rem; /* 48px */
    line-height: 1;
}

.text-6xl {
    font-size: 3.75rem; /* 60px */
    line-height: 1;
}

.text-7xl {
    font-size: 4.5rem; /* 72px */
    line-height: 1;
}

.text-8xl {
    font-size: 6rem; /* 96px */
    line-height: 1;
}

.text-9xl {
    font-size: 8rem; /* 128px */
    line-height: 1;
}

.text-white {
    color: #ffffff !important;
}

/* Font weights */
.font-thin {
    font-weight: 100;
}

.font-extralight {
    font-weight: 200;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-extrabold {
    font-weight: 800;
}

.font-black {
    font-weight: 900;
}

/* Line heights */
.leading-3 {
    line-height: 0.75rem; /* 12px */
}

.leading-4 {
    line-height: 1rem; /* 16px */
}

.leading-5 {
    line-height: 1.25rem; /* 20px */
}

.leading-6 {
    line-height: 1.5rem; /* 24px */
}

.leading-7 {
    line-height: 1.75rem; /* 28px */
}

.leading-8 {
    line-height: 2rem; /* 32px */
}

.leading-9 {
    line-height: 2.25rem; /* 36px */
}

.leading-10 {
    line-height: 2.5rem; /* 40px */
}

.leading-none {
    line-height: 1;
}

.leading-tight {
    line-height: 1.25;
}

.leading-snug {
    line-height: 1.375;
}

.leading-normal {
    line-height: 1.5;
}

.leading-relaxed {
    line-height: 1.625;
}

.leading-loose {
    line-height: 2;
}

/* Letter spacing */
.tracking-tighter {
    letter-spacing: -0.05em;
}

.tracking-tight {
    letter-spacing: -0.025em;
}

.tracking-normal {
    letter-spacing: 0em;
}

.tracking-wide {
    letter-spacing: 0.025em;
}

.tracking-wider {
    letter-spacing: 0.05em;
}

.tracking-widest {
    letter-spacing: 0.1em;
}

/* Text alignment */
.text-left {
    text-align: left;
}

.text-center {
    text-align: center;
}

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

.text-justify {
    text-align: justify;
}

/* Text transform */
.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

.normal-case {
    text-transform: none;
}

/* Text decoration */
.underline {
    text-decoration-line: underline;
}

.overline {
    text-decoration-line: overline;
}

.line-through {
    text-decoration-line: line-through;
}

.no-underline {
    text-decoration-line: none;
}

/* Font style */
.italic {
    font-style: italic;
}

.not-italic {
    font-style: normal;
}

/* Responsive font sizes - Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:text-xs { font-size: 0.75rem; line-height: 1rem; }
    .sm\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
    .sm\:text-base { font-size: 1rem; line-height: 1.5rem; }
    .sm\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
    .sm\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
    .sm\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
    .sm\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
    .sm\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
    .sm\:text-5xl { font-size: 3rem; line-height: 1; }
    .sm\:text-6xl { font-size: 3.75rem; line-height: 1; }
    .sm\:text-7xl { font-size: 4.5rem; line-height: 1; }
    .sm\:text-8xl { font-size: 6rem; line-height: 1; }
    .sm\:text-9xl { font-size: 8rem; line-height: 1; }
    
    .sm\:text-left { text-align: left; }
    .sm\:text-center { text-align: center; }
    .sm\:text-right { text-align: right; }
    .sm\:text-justify { text-align: justify; }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:text-xs { font-size: 0.75rem; line-height: 1rem; }
    .md\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
    .md\:text-base { font-size: 1rem; line-height: 1.5rem; }
    .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
    .md\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
    .md\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
    .md\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
    .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
    .md\:text-5xl { font-size: 3rem; line-height: 1; }
    .md\:text-6xl { font-size: 3.75rem; line-height: 1; }
    .md\:text-7xl { font-size: 4.5rem; line-height: 1; }
    .md\:text-8xl { font-size: 6rem; line-height: 1; }
    .md\:text-9xl { font-size: 8rem; line-height: 1; }
    
    .md\:text-left { text-align: left; }
    .md\:text-center { text-align: center; }
    .md\:text-right { text-align: right; }
    .md\:text-justify { text-align: justify; }
}

/* Large screens (lg) - 1024px and up */
@media (min-width: 1024px) {
    .lg\:text-xs { font-size: 0.75rem; line-height: 1rem; }
    .lg\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
    .lg\:text-base { font-size: 1rem; line-height: 1.5rem; }
    .lg\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
    .lg\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
    .lg\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
    .lg\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
    .lg\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
    .lg\:text-5xl { font-size: 3rem; line-height: 1; }
    .lg\:text-6xl { font-size: 3.75rem; line-height: 1; }
    .lg\:text-7xl { font-size: 4.5rem; line-height: 1; }
    .lg\:text-8xl { font-size: 6rem; line-height: 1; }
    .lg\:text-9xl { font-size: 8rem; line-height: 1; }
    
    .lg\:text-left { text-align: left; }
    .lg\:text-center { text-align: center; }
    .lg\:text-right { text-align: right; }
    .lg\:text-justify { text-align: justify; }
}

/* Extra large screens (xl) - 1280px and up */
@media (min-width: 1280px) {
    .xl\:text-xs { font-size: 0.75rem; line-height: 1rem; }
    .xl\:text-sm { font-size: 0.875rem; line-height: 1.25rem; }
    .xl\:text-base { font-size: 1rem; line-height: 1.5rem; }
    .xl\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
    .xl\:text-xl { font-size: 1.25rem; line-height: 1.75rem; }
    .xl\:text-2xl { font-size: 1.5rem; line-height: 2rem; }
    .xl\:text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
    .xl\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
    .xl\:text-5xl { font-size: 3rem; line-height: 1; }
    .xl\:text-6xl { font-size: 3.75rem; line-height: 1; }
    .xl\:text-7xl { font-size: 4.5rem; line-height: 1; }
    .xl\:text-8xl { font-size: 6rem; line-height: 1; }
    .xl\:text-9xl { font-size: 8rem; line-height: 1; }
    
    .xl\:text-left { text-align: left; }
    .xl\:text-center { text-align: center; }
    .xl\:text-right { text-align: right; }
    .xl\:text-justify { text-align: justify; }
}

/* Custom utility classes for common patterns */
.text-heading {
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.text-subheading {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.text-body {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
}

.text-caption {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
}

.text-button {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* Responsive typography helpers */
@media (max-width: 767px) {
    .text-heading {
        font-size: 1.875rem;
    }
    
    .text-subheading {
        font-size: 1.25rem;
    }
}

/* Base spacing scale - using rem units */
/* 0.25rem = 4px, 0.5rem = 8px, 0.75rem = 12px, 1rem = 16px, etc. */

/* MARGIN UTILITIES */

/* Margin - All sides */
.m-0 { margin: 0; }
.m-px { margin: 1px; }
.m-0\.5 { margin: 0.125rem; /* 2px */ }
.m-1 { margin: 0.25rem; /* 4px */ }
.m-1\.5 { margin: 0.375rem; /* 6px */ }
.m-2 { margin: 0.5rem; /* 8px */ }
.m-2\.5 { margin: 0.625rem; /* 10px */ }
.m-3 { margin: 0.75rem; /* 12px */ }
.m-3\.5 { margin: 0.875rem; /* 14px */ }
.m-4 { margin: 1rem; /* 16px */ }
.m-5 { margin: 1.25rem; /* 20px */ }
.m-6 { margin: 1.5rem; /* 24px */ }
.m-7 { margin: 1.75rem; /* 28px */ }
.m-8 { margin: 2rem; /* 32px */ }
.m-9 { margin: 2.25rem; /* 36px */ }
.m-10 { margin: 2.5rem; /* 40px */ }
.m-11 { margin: 2.75rem; /* 44px */ }
.m-12 { margin: 3rem; /* 48px */ }
.m-14 { margin: 3.5rem; /* 56px */ }
.m-16 { margin: 4rem; /* 64px */ }
.m-20 { margin: 5rem; /* 80px */ }
.m-24 { margin: 6rem; /* 96px */ }
.m-28 { margin: 7rem; /* 112px */ }
.m-32 { margin: 8rem; /* 128px */ }
.m-36 { margin: 9rem; /* 144px */ }
.m-40 { margin: 10rem; /* 160px */ }
.m-44 { margin: 11rem; /* 176px */ }
.m-48 { margin: 12rem; /* 192px */ }
.m-52 { margin: 13rem; /* 208px */ }
.m-56 { margin: 14rem; /* 224px */ }
.m-60 { margin: 15rem; /* 240px */ }
.m-64 { margin: 16rem; /* 256px */ }
.m-72 { margin: 18rem; /* 288px */ }
.m-80 { margin: 20rem; /* 320px */ }
.m-96 { margin: 24rem; /* 384px */ }

/* Margin - Auto */
.m-auto { margin: auto; }

/* Margin - Horizontal (left and right) */
.mx-0 { margin-left: 0; margin-right: 0; }
.mx-px { margin-left: 1px; margin-right: 1px; }
.mx-0\.5 { margin-left: 0.125rem; margin-right: 0.125rem; }
.mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
.mx-1\.5 { margin-left: 0.375rem; margin-right: 0.375rem; }
.mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
.mx-2\.5 { margin-left: 0.625rem; margin-right: 0.625rem; }
.mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
.mx-3\.5 { margin-left: 0.875rem; margin-right: 0.875rem; }
.mx-4 { margin-left: 1rem; margin-right: 1rem; }
.mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
.mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-7 { margin-left: 1.75rem; margin-right: 1.75rem; }
.mx-8 { margin-left: 2rem; margin-right: 2rem; }
.mx-9 { margin-left: 2.25rem; margin-right: 2.25rem; }
.mx-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
.mx-12 { margin-left: 3rem; margin-right: 3rem; }
.mx-16 { margin-left: 4rem; margin-right: 4rem; }
.mx-20 { margin-left: 5rem; margin-right: 5rem; }
.mx-24 { margin-left: 6rem; margin-right: 6rem; }
.mx-32 { margin-left: 8rem; margin-right: 8rem; }
.mx-40 { margin-left: 10rem; margin-right: 10rem; }
.mx-48 { margin-left: 12rem; margin-right: 12rem; }
.mx-56 { margin-left: 14rem; margin-right: 14rem; }
.mx-64 { margin-left: 16rem; margin-right: 16rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* Margin - Vertical (top and bottom) */
.my-0 { margin-top: 0; margin-bottom: 0; }
.my-px { margin-top: 1px; margin-bottom: 1px; }
.my-0\.5 { margin-top: 0.125rem; margin-bottom: 0.125rem; }
.my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
.my-1\.5 { margin-top: 0.375rem; margin-bottom: 0.375rem; }
.my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
.my-2\.5 { margin-top: 0.625rem; margin-bottom: 0.625rem; }
.my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
.my-3\.5 { margin-top: 0.875rem; margin-bottom: 0.875rem; }
.my-4 { margin-top: 1rem; margin-bottom: 1rem; }
.my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-7 { margin-top: 1.75rem; margin-bottom: 1.75rem; }
.my-8 { margin-top: 2rem; margin-bottom: 2rem; }
.my-9 { margin-top: 2.25rem; margin-bottom: 2.25rem; }
.my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.my-12 { margin-top: 3rem; margin-bottom: 3rem; }
.my-16 { margin-top: 4rem; margin-bottom: 4rem; }
.my-20 { margin-top: 5rem; margin-bottom: 5rem; }
.my-24 { margin-top: 6rem; margin-bottom: 6rem; }
.my-32 { margin-top: 8rem; margin-bottom: 8rem; }
.my-40 { margin-top: 10rem; margin-bottom: 10rem; }
.my-48 { margin-top: 12rem; margin-bottom: 12rem; }
.my-56 { margin-top: 14rem; margin-bottom: 14rem; }
.my-64 { margin-top: 16rem; margin-bottom: 16rem; }

/* Margin - Individual sides */
.mt-0 { margin-top: 0; }
.mt-px { margin-top: 1px; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-1\.5 { margin-top: 0.375rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-2\.5 { margin-top: 0.625rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-3\.5 { margin-top: 0.875rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }
.mt-9 { margin-top: 2.25rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.mt-20 { margin-top: 5rem; }
.mt-24 { margin-top: 6rem; }
.mt-32 { margin-top: 8rem; }
.mt-40 { margin-top: 10rem; }
.mt-48 { margin-top: 12rem; }
.mt-56 { margin-top: 14rem; }
.mt-64 { margin-top: 16rem; }
.mt-auto { margin-top: auto; }

.mr-0 { margin-right: 0; }
.mr-px { margin-right: 1px; }
.mr-0\.5 { margin-right: 0.125rem; }
.mr-1 { margin-right: 0.25rem; }
.mr-1\.5 { margin-right: 0.375rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-2\.5 { margin-right: 0.625rem; }
.mr-3 { margin-right: 0.75rem; }
.mr-3\.5 { margin-right: 0.875rem; }
.mr-4 { margin-right: 1rem; }
.mr-5 { margin-right: 1.25rem; }
.mr-6 { margin-right: 1.5rem; }
.mr-7 { margin-right: 1.75rem; }
.mr-8 { margin-right: 2rem; }
.mr-9 { margin-right: 2.25rem; }
.mr-10 { margin-right: 2.5rem; }
.mr-12 { margin-right: 3rem; }
.mr-16 { margin-right: 4rem; }
.mr-20 { margin-right: 5rem; }
.mr-24 { margin-right: 6rem; }
.mr-32 { margin-right: 8rem; }
.mr-40 { margin-right: 10rem; }
.mr-48 { margin-right: 12rem; }
.mr-56 { margin-right: 14rem; }
.mr-64 { margin-right: 16rem; }
.mr-auto { margin-right: auto; }

.mb-0 { margin-bottom: 0; }
.mb-px { margin-bottom: 1px; }
.mb-0\.5 { margin-bottom: 0.125rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-1\.5 { margin-bottom: 0.375rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-2\.5 { margin-bottom: 0.625rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-3\.5 { margin-bottom: 0.875rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-7 { margin-bottom: 1.75rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-9 { margin-bottom: 2.25rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-20 { margin-bottom: 5rem; }
.mb-24 { margin-bottom: 6rem; }
.mb-32 { margin-bottom: 8rem; }
.mb-40 { margin-bottom: 10rem; }
.mb-48 { margin-bottom: 12rem; }
.mb-56 { margin-bottom: 14rem; }
.mb-64 { margin-bottom: 16rem; }
.mb-auto { margin-bottom: auto; }

.ml-0 { margin-left: 0; }
.ml-px { margin-left: 1px; }
.ml-0\.5 { margin-left: 0.125rem; }
.ml-1 { margin-left: 0.25rem; }
.ml-1\.5 { margin-left: 0.375rem; }
.ml-2 { margin-left: 0.5rem; }
.ml-2\.5 { margin-left: 0.625rem; }
.ml-3 { margin-left: 0.75rem; }
.ml-3\.5 { margin-left: 0.875rem; }
.ml-4 { margin-left: 1rem; }
.ml-5 { margin-left: 1.25rem; }
.ml-6 { margin-left: 1.5rem; }
.ml-7 { margin-left: 1.75rem; }
.ml-8 { margin-left: 2rem; }
.ml-9 { margin-left: 2.25rem; }
.ml-10 { margin-left: 2.5rem; }
.ml-12 { margin-left: 3rem; }
.ml-16 { margin-left: 4rem; }
.ml-20 { margin-left: 5rem; }
.ml-24 { margin-left: 6rem; }
.ml-32 { margin-left: 8rem; }
.ml-40 { margin-left: 10rem; }
.ml-48 { margin-left: 12rem; }
.ml-56 { margin-left: 14rem; }
.ml-64 { margin-left: 16rem; }
.ml-auto { margin-left: auto; }

/* Negative margins */
.-m-1 { margin: -0.25rem; }
.-m-2 { margin: -0.5rem; }
.-m-3 { margin: -0.75rem; }
.-m-4 { margin: -1rem; }
.-m-5 { margin: -1.25rem; }
.-m-6 { margin: -1.5rem; }
.-m-8 { margin: -2rem; }
.-m-10 { margin: -2.5rem; }
.-m-12 { margin: -3rem; }
.-m-16 { margin: -4rem; }
.-m-20 { margin: -5rem; }
.-m-24 { margin: -6rem; }

.-mx-1 { margin-left: -0.25rem; margin-right: -0.25rem; }
.-mx-2 { margin-left: -0.5rem; margin-right: -0.5rem; }
.-mx-3 { margin-left: -0.75rem; margin-right: -0.75rem; }
.-mx-4 { margin-left: -1rem; margin-right: -1rem; }
.-mx-5 { margin-left: -1.25rem; margin-right: -1.25rem; }
.-mx-6 { margin-left: -1.5rem; margin-right: -1.5rem; }
.-mx-8 { margin-left: -2rem; margin-right: -2rem; }
.-mx-10 { margin-left: -2.5rem; margin-right: -2.5rem; }
.-mx-12 { margin-left: -3rem; margin-right: -3rem; }

.-my-1 { margin-top: -0.25rem; margin-bottom: -0.25rem; }
.-my-2 { margin-top: -0.5rem; margin-bottom: -0.5rem; }
.-my-3 { margin-top: -0.75rem; margin-bottom: -0.75rem; }
.-my-4 { margin-top: -1rem; margin-bottom: -1rem; }
.-my-5 { margin-top: -1.25rem; margin-bottom: -1.25rem; }
.-my-6 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
.-my-8 { margin-top: -2rem; margin-bottom: -2rem; }
.-my-10 { margin-top: -2.5rem; margin-bottom: -2.5rem; }
.-my-12 { margin-top: -3rem; margin-bottom: -3rem; }

.-mt-1 { margin-top: -0.25rem; }
.-mt-2 { margin-top: -0.5rem; }
.-mt-3 { margin-top: -0.75rem; }
.-mt-4 { margin-top: -1rem; }
.-mt-5 { margin-top: -1.25rem; }
.-mt-6 { margin-top: -1.5rem; }
.-mt-8 { margin-top: -2rem; }
.-mt-10 { margin-top: -2.5rem; }
.-mt-12 { margin-top: -3rem; }
.-mt-16 { margin-top: -4rem; }
.-mt-20 { margin-top: -5rem; }
.-mt-24 { margin-top: -6rem; }

.-mr-1 { margin-right: -0.25rem; }
.-mr-2 { margin-right: -0.5rem; }
.-mr-3 { margin-right: -0.75rem; }
.-mr-4 { margin-right: -1rem; }
.-mr-5 { margin-right: -1.25rem; }
.-mr-6 { margin-right: -1.5rem; }
.-mr-8 { margin-right: -2rem; }
.-mr-10 { margin-right: -2.5rem; }
.-mr-12 { margin-right: -3rem; }

.-mb-1 { margin-bottom: -0.25rem; }
.-mb-2 { margin-bottom: -0.5rem; }
.-mb-3 { margin-bottom: -0.75rem; }
.-mb-4 { margin-bottom: -1rem; }
.-mb-5 { margin-bottom: -1.25rem; }
.-mb-6 { margin-bottom: -1.5rem; }
.-mb-8 { margin-bottom: -2rem; }
.-mb-10 { margin-bottom: -2.5rem; }
.-mb-12 { margin-bottom: -3rem; }

.-ml-1 { margin-left: -0.25rem; }
.-ml-2 { margin-left: -0.5rem; }
.-ml-3 { margin-left: -0.75rem; }
.-ml-4 { margin-left: -1rem; }
.-ml-5 { margin-left: -1.25rem; }
.-ml-6 { margin-left: -1.5rem; }
.-ml-8 { margin-left: -2rem; }
.-ml-10 { margin-left: -2.5rem; }
.-ml-12 { margin-left: -3rem; }

/* PADDING UTILITIES */

/* Padding - All sides */
.p-0 { padding: 0; }
.p-px { padding: 1px; }
.p-0\.5 { padding: 0.125rem; }
.p-1 { padding: 0.25rem; }
.p-1\.5 { padding: 0.375rem; }
.p-2 { padding: 0.5rem; }
.p-2\.5 { padding: 0.625rem; }
.p-3 { padding: 0.75rem; }
.p-3\.5 { padding: 0.875rem; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }
.p-7 { padding: 1.75rem; }
.p-8 { padding: 2rem; }
.p-9 { padding: 2.25rem; }
.p-10 { padding: 2.5rem; }
.p-11 { padding: 2.75rem; }
.p-12 { padding: 3rem; }
.p-14 { padding: 3.5rem; }
.p-16 { padding: 4rem; }
.p-20 { padding: 5rem; }
.p-24 { padding: 6rem; }
.p-28 { padding: 7rem; }
.p-32 { padding: 8rem; }
.p-36 { padding: 9rem; }
.p-40 { padding: 10rem; }
.p-44 { padding: 11rem; }
.p-48 { padding: 12rem; }
.p-52 { padding: 13rem; }
.p-56 { padding: 14rem; }
.p-60 { padding: 15rem; }
.p-64 { padding: 16rem; }
.p-72 { padding: 18rem; }
.p-80 { padding: 20rem; }
.p-96 { padding: 24rem; }

/* Padding - Horizontal (left and right) */
.px-0 { padding-left: 0; padding-right: 0; }
.px-px { padding-left: 1px; padding-right: 1px; }
.px-0\.5 { padding-left: 0.125rem; padding-right: 0.125rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-1\.5 { padding-left: 0.375rem; padding-right: 0.375rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-2\.5 { padding-left: 0.625rem; padding-right: 0.625rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-3\.5 { padding-left: 0.875rem; padding-right: 0.875rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-7 { padding-left: 1.75rem; padding-right: 1.75rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.px-9 { padding-left: 2.25rem; padding-right: 2.25rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.px-12 { padding-left: 3rem; padding-right: 3rem; }
.px-16 { padding-left: 4rem; padding-right: 4rem; }
.px-20 { padding-left: 5rem; padding-right: 5rem; }
.px-24 { padding-left: 6rem; padding-right: 6rem; }
.px-32 { padding-left: 8rem; padding-right: 8rem; }
.px-40 { padding-left: 10rem; padding-right: 10rem; }
.px-48 { padding-left: 12rem; padding-right: 12rem; }
.px-56 { padding-left: 14rem; padding-right: 14rem; }
.px-64 { padding-left: 16rem; padding-right: 16rem; }

/* Padding - Vertical (top and bottom) */
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-px { padding-top: 1px; padding-bottom: 1px; }
.py-0\.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-3\.5 { padding-top: 0.875rem; padding-bottom: 0.875rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-7 { padding-top: 1.75rem; padding-bottom: 1.75rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-9 { padding-top: 2.25rem; padding-bottom: 2.25rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.py-32 { padding-top: 8rem; padding-bottom: 8rem; }
.py-40 { padding-top: 10rem; padding-bottom: 10rem; }
.py-48 { padding-top: 12rem; padding-bottom: 12rem; }
.py-56 { padding-top: 14rem; padding-bottom: 14rem; }
.py-64 { padding-top: 16rem; padding-bottom: 16rem; }

/* Padding - Individual sides */
.pt-0 { padding-top: 0; }
.pt-px { padding-top: 1px; }
.pt-0\.5 { padding-top: 0.125rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-1\.5 { padding-top: 0.375rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-2\.5 { padding-top: 0.625rem; }
.pt-3 { padding-top: 0.75rem; }
.pt-3\.5 { padding-top: 0.875rem; }
.pt-4 { padding-top: 1rem; }
.pt-5 { padding-top: 1.25rem; }
.pt-6 { padding-top: 1.5rem; }
.pt-7 { padding-top: 1.75rem; }
.pt-8 { padding-top: 2rem; }
.pt-9 { padding-top: 2.25rem; }
.pt-10 { padding-top: 2.5rem; }
.pt-12 { padding-top: 3rem; }
.pt-16 { padding-top: 4rem; }
.pt-20 { padding-top: 5rem; }
.pt-24 { padding-top: 6rem; }
.pt-32 { padding-top: 8rem; }
.pt-40 { padding-top: 10rem; }
.pt-48 { padding-top: 12rem; }
.pt-56 { padding-top: 14rem; }
.pt-64 { padding-top: 16rem; }

.pr-0 { padding-right: 0; }
.pr-px { padding-right: 1px; }
.pr-0\.5 { padding-right: 0.125rem; }
.pr-1 { padding-right: 0.25rem; }
.pr-1\.5 { padding-right: 0.375rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-2\.5 { padding-right: 0.625rem; }
.pr-3 { padding-right: 0.75rem; }
.pr-3\.5 { padding-right: 0.875rem; }
.pr-4 { padding-right: 1rem; }
.pr-5 { padding-right: 1.25rem; }
.pr-6 { padding-right: 1.5rem; }
.pr-7 { padding-right: 1.75rem; }
.pr-8 { padding-right: 2rem; }
.pr-9 { padding-right: 2.25rem; }
.pr-10 { padding-right: 2.5rem; }
.pr-12 { padding-right: 3rem; }
.pr-16 { padding-right: 4rem; }
.pr-20 { padding-right: 5rem; }
.pr-24 { padding-right: 6rem; }
.pr-32 { padding-right: 8rem; }
.pr-40 { padding-right: 10rem; }
.pr-48 { padding-right: 12rem; }
.pr-56 { padding-right: 14rem; }
.pr-64 { padding-right: 16rem; }

.pb-0 { padding-bottom: 0; }
.pb-px { padding-bottom: 1px; }
.pb-0\.5 { padding-bottom: 0.125rem; }
.pb-1 { padding-bottom: 0.25rem; }
.pb-1\.5 { padding-bottom: 0.375rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-2\.5 { padding-bottom: 0.625rem; }
.pb-3 { padding-bottom: 0.75rem; }
.pb-3\.5 { padding-bottom: 0.875rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-6 { padding-bottom: 1.5rem; }
.pb-7 { padding-bottom: 1.75rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-9 { padding-bottom: 2.25rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-12 { padding-bottom: 3rem; }
.pb-16 { padding-bottom: 4rem; }
.pb-20 { padding-bottom: 5rem; }
.pb-24 { padding-bottom: 6rem; }
.pb-32 { padding-bottom: 8rem; }
.pb-40 { padding-bottom: 10rem; }
.pb-48 { padding-bottom: 12rem; }
.pb-56 { padding-bottom: 14rem; }
.pb-64 { padding-bottom: 16rem; }

.pl-0 { padding-left: 0; }
.pl-px { padding-left: 1px; }
.pl-0\.5 { padding-left: 0.125rem; }
.pl-1 { padding-left: 0.25rem; }
.pl-1\.5 { padding-left: 0.375rem; }
.pl-2 { padding-left: 0.5rem; }
.pl-2\.5 { padding-left: 0.625rem; }
.pl-3 { padding-left: 0.75rem; }
.pl-3\.5 { padding-left: 0.875rem; }
.pl-4 { padding-left: 1rem; }
.pl-5 { padding-left: 1.25rem; }
.pl-6 { padding-left: 1.5rem; }
.pl-7 { padding-left: 1.75rem; }
.pl-8 { padding-left: 2rem; }
.pl-9 { padding-left: 2.25rem; }
.pl-10 { padding-left: 2.5rem; }
.pl-12 { padding-left: 3rem; }
.pl-16 { padding-left: 4rem; }
.pl-20 { padding-left: 5rem; }
.pl-24 { padding-left: 6rem; }
.pl-32 { padding-left: 8rem; }
.pl-40 { padding-left: 10rem; }
.pl-48 { padding-left: 12rem; }
.pl-56 { padding-left: 14rem; }
.pl-64 { padding-left: 16rem; }

/* RESPONSIVE MARGIN UTILITIES */

/* Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:m-0 { margin: 0; }
    .sm\:m-1 { margin: 0.25rem; }
    .sm\:m-2 { margin: 0.5rem; }
    .sm\:m-3 { margin: 0.75rem; }
    .sm\:m-4 { margin: 1rem; }
    .sm\:m-5 { margin: 1.25rem; }
    .sm\:m-6 { margin: 1.5rem; }
    .sm\:m-8 { margin: 2rem; }
    .sm\:m-10 { margin: 2.5rem; }
    .sm\:m-12 { margin: 3rem; }
    .sm\:m-16 { margin: 4rem; }
    .sm\:m-20 { margin: 5rem; }
    .sm\:m-24 { margin: 6rem; }
    .sm\:m-32 { margin: 8rem; }
    .sm\:m-auto { margin: auto; }
    
    .sm\:mx-0 { margin-left: 0; margin-right: 0; }
    .sm\:mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
    .sm\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
    .sm\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
    .sm\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
    .sm\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
    .sm\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
    .sm\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
    .sm\:mx-auto { margin-left: auto; margin-right: auto; }
    
    .sm\:my-0 { margin-top: 0; margin-bottom: 0; }
    .sm\:my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
    .sm\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
    .sm\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
    .sm\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
    .sm\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
    .sm\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
    .sm\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
    
    .sm\:mt-0 { margin-top: 0; }
    .sm\:mt-1 { margin-top: 0.25rem; }
    .sm\:mt-2 { margin-top: 0.5rem; }
    .sm\:mt-3 { margin-top: 0.75rem; }
    .sm\:mt-4 { margin-top: 1rem; }
    .sm\:mt-5 { margin-top: 1.25rem; }
    .sm\:mt-6 { margin-top: 1.5rem; }
    .sm\:mt-8 { margin-top: 2rem; }
    .sm\:mt-10 { margin-top: 2.5rem; }
    .sm\:mt-12 { margin-top: 3rem; }
    .sm\:mt-16 { margin-top: 4rem; }
    .sm\:mt-20 { margin-top: 5rem; }
    .sm\:mt-24 { margin-top: 6rem; }
    .sm\:mt-auto { margin-top: auto; }
    
    .sm\:mr-0 { margin-right: 0; }
    .sm\:mr-1 { margin-right: 0.25rem; }
    .sm\:mr-2 { margin-right: 0.5rem; }
    .sm\:mr-3 { margin-right: 0.75rem; }
    .sm\:mr-4 { margin-right: 1rem; }
    .sm\:mr-5 { margin-right: 1.25rem; }
    .sm\:mr-6 { margin-right: 1.5rem; }
    .sm\:mr-8 { margin-right: 2rem; }
    .sm\:mr-auto { margin-right: auto; }
    
    .sm\:mb-0 { margin-bottom: 0; }
    .sm\:mb-1 { margin-bottom: 0.25rem; }
    .sm\:mb-2 { margin-bottom: 0.5rem; }
    .sm\:mb-3 { margin-bottom: 0.75rem; }
    .sm\:mb-4 { margin-bottom: 1rem; }
    .sm\:mb-5 { margin-bottom: 1.25rem; }
    .sm\:mb-6 { margin-bottom: 1.5rem; }
    .sm\:mb-8 { margin-bottom: 2rem; }
    .sm\:mb-10 { margin-bottom: 2.5rem; }
    .sm\:mb-12 { margin-bottom: 3rem; }
    .sm\:mb-16 { margin-bottom: 4rem; }
    .sm\:mb-20 { margin-bottom: 5rem; }
    .sm\:mb-24 { margin-bottom: 6rem; }
    .sm\:mb-auto { margin-bottom: auto; }
    
    .sm\:ml-0 { margin-left: 0; }
    .sm\:ml-1 { margin-left: 0.25rem; }
    .sm\:ml-2 { margin-left: 0.5rem; }
    .sm\:ml-3 { margin-left: 0.75rem; }
    .sm\:ml-4 { margin-left: 1rem; }
    .sm\:ml-5 { margin-left: 1.25rem; }
    .sm\:ml-6 { margin-left: 1.5rem; }
    .sm\:ml-8 { margin-left: 2rem; }
    .sm\:ml-auto { margin-left: auto; }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:m-0 { margin: 0; }
    .md\:m-1 { margin: 0.25rem; }
    .md\:m-2 { margin: 0.5rem; }
    .md\:m-3 { margin: 0.75rem; }
    .md\:m-4 { margin: 1rem; }
    .md\:m-5 { margin: 1.25rem; }
    .md\:m-6 { margin: 1.5rem; }
    .md\:m-8 { margin: 2rem; }
    .md\:m-10 { margin: 2.5rem; }
    .md\:m-12 { margin: 3rem; }
    .md\:m-16 { margin: 4rem; }
    .md\:m-20 { margin: 5rem; }
    .md\:m-24 { margin: 6rem; }
    .md\:m-32 { margin: 8rem; }
    .md\:m-auto { margin: auto; }
    
    .md\:mx-0 { margin-left: 0; margin-right: 0; }
    .md\:mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
    .md\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
    .md\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
    .md\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
    .md\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
    .md\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
    .md\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
    .md\:mx-auto { margin-left: auto; margin-right: auto; }
    
    .md\:my-0 { margin-top: 0; margin-bottom: 0; }
    .md\:my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
    .md\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
    .md\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
    .md\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
    .md\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
    .md\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
    .md\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
    
    .md\:mt-0 { margin-top: 0; }
    .md\:mt-1 { margin-top: 0.25rem; }
    .md\:mt-2 { margin-top: 0.5rem; }
    .md\:mt-3 { margin-top: 0.75rem; }
    .md\:mt-4 { margin-top: 1rem; }
    .md\:mt-5 { margin-top: 1.25rem; }
    .md\:mt-6 { margin-top: 1.5rem; }
    .md\:mt-8 { margin-top: 2rem; }
    .md\:mt-10 { margin-top: 2.5rem; }
    .md\:mt-12 { margin-top: 3rem; }
    .md\:mt-16 { margin-top: 4rem; }
    .md\:mt-20 { margin-top: 5rem; }
    .md\:mt-24 { margin-top: 6rem; }
    .md\:mt-auto { margin-top: auto; }
    
    .md\:mr-0 { margin-right: 0; }
    .md\:mr-1 { margin-right: 0.25rem; }
    .md\:mr-2 { margin-right: 0.5rem; }
    .md\:mr-3 { margin-right: 0.75rem; }
    .md\:mr-4 { margin-right: 1rem; }
    .md\:mr-5 { margin-right: 1.25rem; }
    .md\:mr-6 { margin-right: 1.5rem; }
    .md\:mr-8 { margin-right: 2rem; }
    .md\:mr-auto { margin-right: auto; }
    
    .md\:mb-0 { margin-bottom: 0; }
    .md\:mb-1 { margin-bottom: 0.25rem; }
    .md\:mb-2 { margin-bottom: 0.5rem; }
    .md\:mb-3 { margin-bottom: 0.75rem; }
    .md\:mb-4 { margin-bottom: 1rem; }
    .md\:mb-5 { margin-bottom: 1.25rem; }
    .md\:mb-6 { margin-bottom: 1.5rem; }
    .md\:mb-8 { margin-bottom: 2rem; }
    .md\:mb-10 { margin-bottom: 2.5rem; }
    .md\:mb-12 { margin-bottom: 3rem; }
    .md\:mb-16 { margin-bottom: 4rem; }
    .md\:mb-20 { margin-bottom: 5rem; }
    .md\:mb-24 { margin-bottom: 6rem; }
    .md\:mb-auto { margin-bottom: auto; }
    
    .md\:ml-0 { margin-left: 0; }
    .md\:ml-1 { margin-left: 0.25rem; }
    .md\:ml-2 { margin-left: 0.5rem; }
    .md\:ml-3 { margin-left: 0.75rem; }
    .md\:ml-4 { margin-left: 1rem; }
    .md\:ml-5 { margin-left: 1.25rem; }
    .md\:ml-6 { margin-left: 1.5rem; }
    .md\:ml-8 { margin-left: 2rem; }
    .md\:ml-auto { margin-left: auto; }
}

/* Large screens (lg) - 1024px and up */
@media (min-width: 1024px) {
    .lg\:m-0 { margin: 0; }
    .lg\:m-1 { margin: 0.25rem; }
    .lg\:m-2 { margin: 0.5rem; }
    .lg\:m-3 { margin: 0.75rem; }
    .lg\:m-4 { margin: 1rem; }
    .lg\:m-5 { margin: 1.25rem; }
    .lg\:m-6 { margin: 1.5rem; }
    .lg\:m-8 { margin: 2rem; }
    .lg\:m-10 { margin: 2.5rem; }
    .lg\:m-12 { margin: 3rem; }
    .lg\:m-16 { margin: 4rem; }
    .lg\:m-20 { margin: 5rem; }
    .lg\:m-24 { margin: 6rem; }
    .lg\:m-32 { margin: 8rem; }
    .lg\:m-auto { margin: auto; }
    
    .lg\:mx-auto { margin-left: auto; margin-right: auto; }
    .lg\:my-0 { margin-top: 0; margin-bottom: 0; }
    .lg\:mt-0 { margin-top: 0; }
    .lg\:mt-4 { margin-top: 1rem; }
    .lg\:mt-8 { margin-top: 2rem; }
    .lg\:mt-12 { margin-top: 3rem; }
    .lg\:mt-16 { margin-top: 4rem; }
    .lg\:mt-20 { margin-top: 5rem; }
    .lg\:mt-24 { margin-top: 6rem; }
    
    .lg\:mb-0 { margin-bottom: 0; }
    .lg\:mb-4 { margin-bottom: 1rem; }
    .lg\:mb-8 { margin-bottom: 2rem; }
    .lg\:mb-12 { margin-bottom: 3rem; }
    .lg\:mb-16 { margin-bottom: 4rem; }
    .lg\:mb-20 { margin-bottom: 5rem; }
    .lg\:mb-24 { margin-bottom: 6rem; }
}

/* RESPONSIVE PADDING UTILITIES */

/* Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:p-0 { padding: 0; }
    .sm\:p-1 { padding: 0.25rem; }
    .sm\:p-2 { padding: 0.5rem; }
    .sm\:p-3 { padding: 0.75rem; }
    .sm\:p-4 { padding: 1rem; }
    .sm\:p-5 { padding: 1.25rem; }
    .sm\:p-6 { padding: 1.5rem; }
    .sm\:p-8 { padding: 2rem; }
    .sm\:p-10 { padding: 2.5rem; }
    .sm\:p-12 { padding: 3rem; }
    .sm\:p-16 { padding: 4rem; }
    .sm\:p-20 { padding: 5rem; }
    .sm\:p-24 { padding: 6rem; }
    
    .sm\:px-0 { padding-left: 0; padding-right: 0; }
    .sm\:px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
    .sm\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
    .sm\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
    .sm\:px-4 { padding-left: 1rem; padding-right: 1rem; }
    .sm\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
    .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .sm\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    
    .sm\:py-0 { padding-top: 0; padding-bottom: 0; }
    .sm\:py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
    .sm\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .sm\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
    .sm\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
    .sm\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
    .sm\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .sm\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
    
    .sm\:pt-0 { padding-top: 0; }
    .sm\:pt-1 { padding-top: 0.25rem; }
    .sm\:pt-2 { padding-top: 0.5rem; }
    .sm\:pt-3 { padding-top: 0.75rem; }
    .sm\:pt-4 { padding-top: 1rem; }
    .sm\:pt-5 { padding-top: 1.25rem; }
    .sm\:pt-6 { padding-top: 1.5rem; }
    .sm\:pt-8 { padding-top: 2rem; }
    .sm\:pt-10 { padding-top: 2.5rem; }
    .sm\:pt-12 { padding-top: 3rem; }
    .sm\:pt-16 { padding-top: 4rem; }
    .sm\:pt-20 { padding-top: 5rem; }
    .sm\:pt-24 { padding-top: 6rem; }
    
    .sm\:pr-0 { padding-right: 0; }
    .sm\:pr-1 { padding-right: 0.25rem; }
    .sm\:pr-2 { padding-right: 0.5rem; }
    .sm\:pr-3 { padding-right: 0.75rem; }
    .sm\:pr-4 { padding-right: 1rem; }
    .sm\:pr-5 { padding-right: 1.25rem; }
    .sm\:pr-6 { padding-right: 1.5rem; }
    .sm\:pr-8 { padding-right: 2rem; }
    
    .sm\:pb-0 { padding-bottom: 0; }
    .sm\:pb-1 { padding-bottom: 0.25rem; }
    .sm\:pb-2 { padding-bottom: 0.5rem; }
    .sm\:pb-3 { padding-bottom: 0.75rem; }
    .sm\:pb-4 { padding-bottom: 1rem; }
    .sm\:pb-5 { padding-bottom: 1.25rem; }
    .sm\:pb-6 { padding-bottom: 1.5rem; }
    .sm\:pb-8 { padding-bottom: 2rem; }
    .sm\:pb-10 { padding-bottom: 2.5rem; }
    .sm\:pb-12 { padding-bottom: 3rem; }
    .sm\:pb-16 { padding-bottom: 4rem; }
    .sm\:pb-20 { padding-bottom: 5rem; }
    .sm\:pb-24 { padding-bottom: 6rem; }
    
    .sm\:pl-0 { padding-left: 0; }
    .sm\:pl-1 { padding-left: 0.25rem; }
    .sm\:pl-2 { padding-left: 0.5rem; }
    .sm\:pl-3 { padding-left: 0.75rem; }
    .sm\:pl-4 { padding-left: 1rem; }
    .sm\:pl-5 { padding-left: 1.25rem; }
    .sm\:pl-6 { padding-left: 1.5rem; }
    .sm\:pl-8 { padding-left: 2rem; }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:p-0 { padding: 0; }
    .md\:p-1 { padding: 0.25rem; }
    .md\:p-2 { padding: 0.5rem; }
    .md\:p-3 { padding: 0.75rem; }
    .md\:p-4 { padding: 1rem; }
    .md\:p-5 { padding: 1.25rem; }
    .md\:p-6 { padding: 1.5rem; }
    .md\:p-8 { padding: 2rem; }
    .md\:p-10 { padding: 2.5rem; }
    .md\:p-12 { padding: 3rem; }
    .md\:p-16 { padding: 4rem; }
    .md\:p-20 { padding: 5rem; }
    .md\:p-24 { padding: 6rem; }
    
    .md\:px-0 { padding-left: 0; padding-right: 0; }
    .md\:px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
    .md\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
    .md\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
    .md\:px-4 { padding-left: 1rem; padding-right: 1rem; }
    .md\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
    .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    
    .md\:py-0 { padding-top: 0; padding-bottom: 0; }
    .md\:py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
    .md\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .md\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
    .md\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
    .md\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
    .md\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .md\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
    
    .md\:pt-0 { padding-top: 0; }
    .md\:pt-1 { padding-top: 0.25rem; }
    .md\:pt-2 { padding-top: 0.5rem; }
    .md\:pt-3 { padding-top: 0.75rem; }
    .md\:pt-4 { padding-top: 1rem; }
    .md\:pt-5 { padding-top: 1.25rem; }
    .md\:pt-6 { padding-top: 1.5rem; }
    .md\:pt-8 { padding-top: 2rem; }
    .md\:pt-10 { padding-top: 2.5rem; }
    .md\:pt-12 { padding-top: 3rem; }
    .md\:pt-16 { padding-top: 4rem; }
    .md\:pt-20 { padding-top: 5rem; }
    .md\:pt-24 { padding-top: 6rem; }
    
    .md\:pr-0 { padding-right: 0; }
    .md\:pr-1 { padding-right: 0.25rem; }
    .md\:pr-2 { padding-right: 0.5rem; }
    .md\:pr-3 { padding-right: 0.75rem; }
    .md\:pr-4 { padding-right: 1rem; }
    .md\:pr-5 { padding-right: 1.25rem; }
    .md\:pr-6 { padding-right: 1.5rem; }
    .md\:pr-8 { padding-right: 2rem; }
    
    .md\:pb-0 { padding-bottom: 0; }
    .md\:pb-1 { padding-bottom: 0.25rem; }
    .md\:pb-2 { padding-bottom: 0.5rem; }
    .md\:pb-3 { padding-bottom: 0.75rem; }
    .md\:pb-4 { padding-bottom: 1rem; }
    .md\:pb-5 { padding-bottom: 1.25rem; }
    .md\:pb-6 { padding-bottom: 1.5rem; }
    .md\:pb-8 { padding-bottom: 2rem; }
    .md\:pb-10 { padding-bottom: 2.5rem; }
    .md\:pb-12 { padding-bottom: 3rem; }
    .md\:pb-16 { padding-bottom: 4rem; }
    .md\:pb-20 { padding-bottom: 5rem; }
    .md\:pb-24 { padding-bottom: 6rem; }
}

/* Base spacing scale - using rem units */
/* 0.25rem = 4px, 0.5rem = 8px, 0.75rem = 12px, 1rem = 16px, etc. */

/* MARGIN UTILITIES */

/* Margin - All sides */
.m-0 { margin: 0; }
.m-px { margin: 1px; }
.m-0\.5 { margin: 0.125rem; /* 2px */ }
.m-1 { margin: 0.25rem; /* 4px */ }
.m-1\.5 { margin: 0.375rem; /* 6px */ }
.m-2 { margin: 0.5rem; /* 8px */ }
.m-2\.5 { margin: 0.625rem; /* 10px */ }
.m-3 { margin: 0.75rem; /* 12px */ }
.m-3\.5 { margin: 0.875rem; /* 14px */ }
.m-4 { margin: 1rem; /* 16px */ }
.m-5 { margin: 1.25rem; /* 20px */ }
.m-6 { margin: 1.5rem; /* 24px */ }
.m-7 { margin: 1.75rem; /* 28px */ }
.m-8 { margin: 2rem; /* 32px */ }
.m-9 { margin: 2.25rem; /* 36px */ }
.m-10 { margin: 2.5rem; /* 40px */ }
.m-11 { margin: 2.75rem; /* 44px */ }
.m-12 { margin: 3rem; /* 48px */ }
.m-14 { margin: 3.5rem; /* 56px */ }
.m-16 { margin: 4rem; /* 64px */ }
.m-20 { margin: 5rem; /* 80px */ }
.m-24 { margin: 6rem; /* 96px */ }
.m-28 { margin: 7rem; /* 112px */ }
.m-32 { margin: 8rem; /* 128px */ }
.m-36 { margin: 9rem; /* 144px */ }
.m-40 { margin: 10rem; /* 160px */ }
.m-44 { margin: 11rem; /* 176px */ }
.m-48 { margin: 12rem; /* 192px */ }
.m-52 { margin: 13rem; /* 208px */ }
.m-56 { margin: 14rem; /* 224px */ }
.m-60 { margin: 15rem; /* 240px */ }
.m-64 { margin: 16rem; /* 256px */ }
.m-72 { margin: 18rem; /* 288px */ }
.m-80 { margin: 20rem; /* 320px */ }
.m-96 { margin: 24rem; /* 384px */ }

/* Margin - Auto */
.m-auto { margin: auto; }

/* Margin - Horizontal (left and right) */
.mx-0 { margin-left: 0; margin-right: 0; }
.mx-px { margin-left: 1px; margin-right: 1px; }
.mx-0\.5 { margin-left: 0.125rem; margin-right: 0.125rem; }
.mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
.mx-1\.5 { margin-left: 0.375rem; margin-right: 0.375rem; }
.mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
.mx-2\.5 { margin-left: 0.625rem; margin-right: 0.625rem; }
.mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
.mx-3\.5 { margin-left: 0.875rem; margin-right: 0.875rem; }
.mx-4 { margin-left: 1rem; margin-right: 1rem; }
.mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
.mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
.mx-7 { margin-left: 1.75rem; margin-right: 1.75rem; }
.mx-8 { margin-left: 2rem; margin-right: 2rem; }
.mx-9 { margin-left: 2.25rem; margin-right: 2.25rem; }
.mx-10 { margin-left: 2.5rem; margin-right: 2.5rem; }
.mx-12 { margin-left: 3rem; margin-right: 3rem; }
.mx-16 { margin-left: 4rem; margin-right: 4rem; }
.mx-20 { margin-left: 5rem; margin-right: 5rem; }
.mx-24 { margin-left: 6rem; margin-right: 6rem; }
.mx-32 { margin-left: 8rem; margin-right: 8rem; }
.mx-40 { margin-left: 10rem; margin-right: 10rem; }
.mx-48 { margin-left: 12rem; margin-right: 12rem; }
.mx-56 { margin-left: 14rem; margin-right: 14rem; }
.mx-64 { margin-left: 16rem; margin-right: 16rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* Margin - Vertical (top and bottom) */
.my-0 { margin-top: 0; margin-bottom: 0; }
.my-px { margin-top: 1px; margin-bottom: 1px; }
.my-0\.5 { margin-top: 0.125rem; margin-bottom: 0.125rem; }
.my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
.my-1\.5 { margin-top: 0.375rem; margin-bottom: 0.375rem; }
.my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
.my-2\.5 { margin-top: 0.625rem; margin-bottom: 0.625rem; }
.my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
.my-3\.5 { margin-top: 0.875rem; margin-bottom: 0.875rem; }
.my-4 { margin-top: 1rem; margin-bottom: 1rem; }
.my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
.my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
.my-7 { margin-top: 1.75rem; margin-bottom: 1.75rem; }
.my-8 { margin-top: 2rem; margin-bottom: 2rem; }
.my-9 { margin-top: 2.25rem; margin-bottom: 2.25rem; }
.my-10 { margin-top: 2.5rem; margin-bottom: 2.5rem; }
.my-12 { margin-top: 3rem; margin-bottom: 3rem; }
.my-16 { margin-top: 4rem; margin-bottom: 4rem; }
.my-20 { margin-top: 5rem; margin-bottom: 5rem; }
.my-24 { margin-top: 6rem; margin-bottom: 6rem; }
.my-32 { margin-top: 8rem; margin-bottom: 8rem; }
.my-40 { margin-top: 10rem; margin-bottom: 10rem; }
.my-48 { margin-top: 12rem; margin-bottom: 12rem; }
.my-56 { margin-top: 14rem; margin-bottom: 14rem; }
.my-64 { margin-top: 16rem; margin-bottom: 16rem; }

/* Margin - Individual sides */
.mt-0 { margin-top: 0; }
.mt-px { margin-top: 1px; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-1\.5 { margin-top: 0.375rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-2\.5 { margin-top: 0.625rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-3\.5 { margin-top: 0.875rem; }
.mt-4 { margin-top: 1rem; }
.mt-5 { margin-top: 1.25rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-7 { margin-top: 1.75rem; }
.mt-8 { margin-top: 2rem; }
.mt-9 { margin-top: 2.25rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mt-16 { margin-top: 4rem; }
.mt-20 { margin-top: 5rem; }
.mt-24 { margin-top: 6rem; }
.mt-32 { margin-top: 8rem; }
.mt-40 { margin-top: 10rem; }
.mt-48 { margin-top: 12rem; }
.mt-56 { margin-top: 14rem; }
.mt-64 { margin-top: 16rem; }
.mt-auto { margin-top: auto; }

.mr-0 { margin-right: 0; }
.mr-px { margin-right: 1px; }
.mr-0\.5 { margin-right: 0.125rem; }
.mr-1 { margin-right: 0.25rem; }
.mr-1\.5 { margin-right: 0.375rem; }
.mr-2 { margin-right: 0.5rem; }
.mr-2\.5 { margin-right: 0.625rem; }
.mr-3 { margin-right: 0.75rem; }
.mr-3\.5 { margin-right: 0.875rem; }
.mr-4 { margin-right: 1rem; }
.mr-5 { margin-right: 1.25rem; }
.mr-6 { margin-right: 1.5rem; }
.mr-7 { margin-right: 1.75rem; }
.mr-8 { margin-right: 2rem; }
.mr-9 { margin-right: 2.25rem; }
.mr-10 { margin-right: 2.5rem; }
.mr-12 { margin-right: 3rem; }
.mr-16 { margin-right: 4rem; }
.mr-20 { margin-right: 5rem; }
.mr-24 { margin-right: 6rem; }
.mr-32 { margin-right: 8rem; }
.mr-40 { margin-right: 10rem; }
.mr-48 { margin-right: 12rem; }
.mr-56 { margin-right: 14rem; }
.mr-64 { margin-right: 16rem; }
.mr-auto { margin-right: auto; }

.mb-0 { margin-bottom: 0; }
.mb-px { margin-bottom: 1px; }
.mb-0\.5 { margin-bottom: 0.125rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-1\.5 { margin-bottom: 0.375rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-2\.5 { margin-bottom: 0.625rem; }
.mb-3 { margin-bottom: 0.75rem; }
.mb-3\.5 { margin-bottom: 0.875rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-7 { margin-bottom: 1.75rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-9 { margin-bottom: 2.25rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-16 { margin-bottom: 4rem; }
.mb-20 { margin-bottom: 5rem; }
.mb-24 { margin-bottom: 6rem; }
.mb-32 { margin-bottom: 8rem; }
.mb-40 { margin-bottom: 10rem; }
.mb-48 { margin-bottom: 12rem; }
.mb-56 { margin-bottom: 14rem; }
.mb-64 { margin-bottom: 16rem; }
.mb-auto { margin-bottom: auto; }

.ml-0 { margin-left: 0; }
.ml-px { margin-left: 1px; }
.ml-0\.5 { margin-left: 0.125rem; }
.ml-1 { margin-left: 0.25rem; }
.ml-1\.5 { margin-left: 0.375rem; }
.ml-2 { margin-left: 0.5rem; }
.ml-2\.5 { margin-left: 0.625rem; }
.ml-3 { margin-left: 0.75rem; }
.ml-3\.5 { margin-left: 0.875rem; }
.ml-4 { margin-left: 1rem; }
.ml-5 { margin-left: 1.25rem; }
.ml-6 { margin-left: 1.5rem; }
.ml-7 { margin-left: 1.75rem; }
.ml-8 { margin-left: 2rem; }
.ml-9 { margin-left: 2.25rem; }
.ml-10 { margin-left: 2.5rem; }
.ml-12 { margin-left: 3rem; }
.ml-16 { margin-left: 4rem; }
.ml-20 { margin-left: 5rem; }
.ml-24 { margin-left: 6rem; }
.ml-32 { margin-left: 8rem; }
.ml-40 { margin-left: 10rem; }
.ml-48 { margin-left: 12rem; }
.ml-56 { margin-left: 14rem; }
.ml-64 { margin-left: 16rem; }
.ml-auto { margin-left: auto; }

/* Negative margins */
.-m-1 { margin: -0.25rem; }
.-m-2 { margin: -0.5rem; }
.-m-3 { margin: -0.75rem; }
.-m-4 { margin: -1rem; }
.-m-5 { margin: -1.25rem; }
.-m-6 { margin: -1.5rem; }
.-m-8 { margin: -2rem; }
.-m-10 { margin: -2.5rem; }
.-m-12 { margin: -3rem; }
.-m-16 { margin: -4rem; }
.-m-20 { margin: -5rem; }
.-m-24 { margin: -6rem; }

.-mx-1 { margin-left: -0.25rem; margin-right: -0.25rem; }
.-mx-2 { margin-left: -0.5rem; margin-right: -0.5rem; }
.-mx-3 { margin-left: -0.75rem; margin-right: -0.75rem; }
.-mx-4 { margin-left: -1rem; margin-right: -1rem; }
.-mx-5 { margin-left: -1.25rem; margin-right: -1.25rem; }
.-mx-6 { margin-left: -1.5rem; margin-right: -1.5rem; }
.-mx-8 { margin-left: -2rem; margin-right: -2rem; }
.-mx-10 { margin-left: -2.5rem; margin-right: -2.5rem; }
.-mx-12 { margin-left: -3rem; margin-right: -3rem; }

.-my-1 { margin-top: -0.25rem; margin-bottom: -0.25rem; }
.-my-2 { margin-top: -0.5rem; margin-bottom: -0.5rem; }
.-my-3 { margin-top: -0.75rem; margin-bottom: -0.75rem; }
.-my-4 { margin-top: -1rem; margin-bottom: -1rem; }
.-my-5 { margin-top: -1.25rem; margin-bottom: -1.25rem; }
.-my-6 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
.-my-8 { margin-top: -2rem; margin-bottom: -2rem; }
.-my-10 { margin-top: -2.5rem; margin-bottom: -2.5rem; }
.-my-12 { margin-top: -3rem; margin-bottom: -3rem; }

.-mt-1 { margin-top: -0.25rem; }
.-mt-2 { margin-top: -0.5rem; }
.-mt-3 { margin-top: -0.75rem; }
.-mt-4 { margin-top: -1rem; }
.-mt-5 { margin-top: -1.25rem; }
.-mt-6 { margin-top: -1.5rem; }
.-mt-8 { margin-top: -2rem; }
.-mt-10 { margin-top: -2.5rem; }
.-mt-12 { margin-top: -3rem; }
.-mt-16 { margin-top: -4rem; }
.-mt-20 { margin-top: -5rem; }
.-mt-24 { margin-top: -6rem; }

.-mr-1 { margin-right: -0.25rem; }
.-mr-2 { margin-right: -0.5rem; }
.-mr-3 { margin-right: -0.75rem; }
.-mr-4 { margin-right: -1rem; }
.-mr-5 { margin-right: -1.25rem; }
.-mr-6 { margin-right: -1.5rem; }
.-mr-8 { margin-right: -2rem; }
.-mr-10 { margin-right: -2.5rem; }
.-mr-12 { margin-right: -3rem; }

.-mb-1 { margin-bottom: -0.25rem; }
.-mb-2 { margin-bottom: -0.5rem; }
.-mb-3 { margin-bottom: -0.75rem; }
.-mb-4 { margin-bottom: -1rem; }
.-mb-5 { margin-bottom: -1.25rem; }
.-mb-6 { margin-bottom: -1.5rem; }
.-mb-8 { margin-bottom: -2rem; }
.-mb-10 { margin-bottom: -2.5rem; }
.-mb-12 { margin-bottom: -3rem; }

.-ml-1 { margin-left: -0.25rem; }
.-ml-2 { margin-left: -0.5rem; }
.-ml-3 { margin-left: -0.75rem; }
.-ml-4 { margin-left: -1rem; }
.-ml-5 { margin-left: -1.25rem; }
.-ml-6 { margin-left: -1.5rem; }
.-ml-8 { margin-left: -2rem; }
.-ml-10 { margin-left: -2.5rem; }
.-ml-12 { margin-left: -3rem; }

/* PADDING UTILITIES */

/* Padding - All sides */
.p-0 { padding: 0; }
.p-px { padding: 1px; }
.p-0\.5 { padding: 0.125rem; }
.p-1 { padding: 0.25rem; }
.p-1\.5 { padding: 0.375rem; }
.p-2 { padding: 0.5rem; }
.p-2\.5 { padding: 0.625rem; }
.p-3 { padding: 0.75rem; }
.p-3\.5 { padding: 0.875rem; }
.p-4 { padding: 1rem; }
.p-5 { padding: 1.25rem; }
.p-6 { padding: 1.5rem; }
.p-7 { padding: 1.75rem; }
.p-8 { padding: 2rem; }
.p-9 { padding: 2.25rem; }
.p-10 { padding: 2.5rem; }
.p-11 { padding: 2.75rem; }
.p-12 { padding: 3rem; }
.p-14 { padding: 3.5rem; }
.p-16 { padding: 4rem; }
.p-20 { padding: 5rem; }
.p-24 { padding: 6rem; }
.p-28 { padding: 7rem; }
.p-32 { padding: 8rem; }
.p-36 { padding: 9rem; }
.p-40 { padding: 10rem; }
.p-44 { padding: 11rem; }
.p-48 { padding: 12rem; }
.p-52 { padding: 13rem; }
.p-56 { padding: 14rem; }
.p-60 { padding: 15rem; }
.p-64 { padding: 16rem; }
.p-72 { padding: 18rem; }
.p-80 { padding: 20rem; }
.p-96 { padding: 24rem; }

/* Padding - Horizontal (left and right) */
.px-0 { padding-left: 0; padding-right: 0; }
.px-px { padding-left: 1px; padding-right: 1px; }
.px-0\.5 { padding-left: 0.125rem; padding-right: 0.125rem; }
.px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
.px-1\.5 { padding-left: 0.375rem; padding-right: 0.375rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-2\.5 { padding-left: 0.625rem; padding-right: 0.625rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-3\.5 { padding-left: 0.875rem; padding-right: 0.875rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.px-7 { padding-left: 1.75rem; padding-right: 1.75rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.px-9 { padding-left: 2.25rem; padding-right: 2.25rem; }
.px-10 { padding-left: 2.5rem; padding-right: 2.5rem; }
.px-12 { padding-left: 3rem; padding-right: 3rem; }
.px-16 { padding-left: 4rem; padding-right: 4rem; }
.px-20 { padding-left: 5rem; padding-right: 5rem; }
.px-24 { padding-left: 6rem; padding-right: 6rem; }
.px-32 { padding-left: 8rem; padding-right: 8rem; }
.px-40 { padding-left: 10rem; padding-right: 10rem; }
.px-48 { padding-left: 12rem; padding-right: 12rem; }
.px-56 { padding-left: 14rem; padding-right: 14rem; }
.px-64 { padding-left: 16rem; padding-right: 16rem; }

/* Padding - Vertical (top and bottom) */
.py-0 { padding-top: 0; padding-bottom: 0; }
.py-px { padding-top: 1px; padding-bottom: 1px; }
.py-0\.5 { padding-top: 0.125rem; padding-bottom: 0.125rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-1\.5 { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-3\.5 { padding-top: 0.875rem; padding-bottom: 0.875rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-7 { padding-top: 1.75rem; padding-bottom: 1.75rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-9 { padding-top: 2.25rem; padding-bottom: 2.25rem; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.py-32 { padding-top: 8rem; padding-bottom: 8rem; }
.py-40 { padding-top: 10rem; padding-bottom: 10rem; }
.py-48 { padding-top: 12rem; padding-bottom: 12rem; }
.py-56 { padding-top: 14rem; padding-bottom: 14rem; }
.py-64 { padding-top: 16rem; padding-bottom: 16rem; }

/* Padding - Individual sides */
.pt-0 { padding-top: 0; }
.pt-px { padding-top: 1px; }
.pt-0\.5 { padding-top: 0.125rem; }
.pt-1 { padding-top: 0.25rem; }
.pt-1\.5 { padding-top: 0.375rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-2\.5 { padding-top: 0.625rem; }
.pt-3 { padding-top: 0.75rem; }
.pt-3\.5 { padding-top: 0.875rem; }
.pt-4 { padding-top: 1rem; }
.pt-5 { padding-top: 1.25rem; }
.pt-6 { padding-top: 1.5rem; }
.pt-7 { padding-top: 1.75rem; }
.pt-8 { padding-top: 2rem; }
.pt-9 { padding-top: 2.25rem; }
.pt-10 { padding-top: 2.5rem; }
.pt-12 { padding-top: 3rem; }
.pt-16 { padding-top: 4rem; }
.pt-20 { padding-top: 5rem; }
.pt-24 { padding-top: 6rem; }
.pt-32 { padding-top: 8rem; }
.pt-40 { padding-top: 10rem; }
.pt-48 { padding-top: 12rem; }
.pt-56 { padding-top: 14rem; }
.pt-64 { padding-top: 16rem; }

.pr-0 { padding-right: 0; }
.pr-px { padding-right: 1px; }
.pr-0\.5 { padding-right: 0.125rem; }
.pr-1 { padding-right: 0.25rem; }
.pr-1\.5 { padding-right: 0.375rem; }
.pr-2 { padding-right: 0.5rem; }
.pr-2\.5 { padding-right: 0.625rem; }
.pr-3 { padding-right: 0.75rem; }
.pr-3\.5 { padding-right: 0.875rem; }
.pr-4 { padding-right: 1rem; }
.pr-5 { padding-right: 1.25rem; }
.pr-6 { padding-right: 1.5rem; }
.pr-7 { padding-right: 1.75rem; }
.pr-8 { padding-right: 2rem; }
.pr-9 { padding-right: 2.25rem; }
.pr-10 { padding-right: 2.5rem; }
.pr-12 { padding-right: 3rem; }
.pr-16 { padding-right: 4rem; }
.pr-20 { padding-right: 5rem; }
.pr-24 { padding-right: 6rem; }
.pr-32 { padding-right: 8rem; }
.pr-40 { padding-right: 10rem; }
.pr-48 { padding-right: 12rem; }
.pr-56 { padding-right: 14rem; }
.pr-64 { padding-right: 16rem; }

.pb-0 { padding-bottom: 0; }
.pb-px { padding-bottom: 1px; }
.pb-0\.5 { padding-bottom: 0.125rem; }
.pb-1 { padding-bottom: 0.25rem; }
.pb-1\.5 { padding-bottom: 0.375rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-2\.5 { padding-bottom: 0.625rem; }
.pb-3 { padding-bottom: 0.75rem; }
.pb-3\.5 { padding-bottom: 0.875rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-5 { padding-bottom: 1.25rem; }
.pb-6 { padding-bottom: 1.5rem; }
.pb-7 { padding-bottom: 1.75rem; }
.pb-8 { padding-bottom: 2rem; }
.pb-9 { padding-bottom: 2.25rem; }
.pb-10 { padding-bottom: 2.5rem; }
.pb-12 { padding-bottom: 3rem; }
.pb-16 { padding-bottom: 4rem; }
.pb-20 { padding-bottom: 5rem; }
.pb-24 { padding-bottom: 6rem; }
.pb-32 { padding-bottom: 8rem; }
.pb-40 { padding-bottom: 10rem; }
.pb-48 { padding-bottom: 12rem; }
.pb-56 { padding-bottom: 14rem; }
.pb-64 { padding-bottom: 16rem; }

.pl-0 { padding-left: 0; }
.pl-px { padding-left: 1px; }
.pl-0\.5 { padding-left: 0.125rem; }
.pl-1 { padding-left: 0.25rem; }
.pl-1\.5 { padding-left: 0.375rem; }
.pl-2 { padding-left: 0.5rem; }
.pl-2\.5 { padding-left: 0.625rem; }
.pl-3 { padding-left: 0.75rem; }
.pl-3\.5 { padding-left: 0.875rem; }
.pl-4 { padding-left: 1rem; }
.pl-5 { padding-left: 1.25rem; }
.pl-6 { padding-left: 1.5rem; }
.pl-7 { padding-left: 1.75rem; }
.pl-8 { padding-left: 2rem; }
.pl-9 { padding-left: 2.25rem; }
.pl-10 { padding-left: 2.5rem; }
.pl-12 { padding-left: 3rem; }
.pl-16 { padding-left: 4rem; }
.pl-20 { padding-left: 5rem; }
.pl-24 { padding-left: 6rem; }
.pl-32 { padding-left: 8rem; }
.pl-40 { padding-left: 10rem; }
.pl-48 { padding-left: 12rem; }
.pl-56 { padding-left: 14rem; }
.pl-64 { padding-left: 16rem; }

/* RESPONSIVE MARGIN UTILITIES */

/* Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:m-0 { margin: 0; }
    .sm\:m-1 { margin: 0.25rem; }
    .sm\:m-2 { margin: 0.5rem; }
    .sm\:m-3 { margin: 0.75rem; }
    .sm\:m-4 { margin: 1rem; }
    .sm\:m-5 { margin: 1.25rem; }
    .sm\:m-6 { margin: 1.5rem; }
    .sm\:m-8 { margin: 2rem; }
    .sm\:m-10 { margin: 2.5rem; }
    .sm\:m-12 { margin: 3rem; }
    .sm\:m-16 { margin: 4rem; }
    .sm\:m-20 { margin: 5rem; }
    .sm\:m-24 { margin: 6rem; }
    .sm\:m-32 { margin: 8rem; }
    .sm\:m-auto { margin: auto; }
    
    .sm\:mx-0 { margin-left: 0; margin-right: 0; }
    .sm\:mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
    .sm\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
    .sm\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
    .sm\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
    .sm\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
    .sm\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
    .sm\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
    .sm\:mx-auto { margin-left: auto; margin-right: auto; }
    
    .sm\:my-0 { margin-top: 0; margin-bottom: 0; }
    .sm\:my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
    .sm\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
    .sm\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
    .sm\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
    .sm\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
    .sm\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
    .sm\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
    
    .sm\:mt-0 { margin-top: 0; }
    .sm\:mt-1 { margin-top: 0.25rem; }
    .sm\:mt-2 { margin-top: 0.5rem; }
    .sm\:mt-3 { margin-top: 0.75rem; }
    .sm\:mt-4 { margin-top: 1rem; }
    .sm\:mt-5 { margin-top: 1.25rem; }
    .sm\:mt-6 { margin-top: 1.5rem; }
    .sm\:mt-8 { margin-top: 2rem; }
    .sm\:mt-10 { margin-top: 2.5rem; }
    .sm\:mt-12 { margin-top: 3rem; }
    .sm\:mt-16 { margin-top: 4rem; }
    .sm\:mt-20 { margin-top: 5rem; }
    .sm\:mt-24 { margin-top: 6rem; }
    .sm\:mt-auto { margin-top: auto; }
    
    .sm\:mr-0 { margin-right: 0; }
    .sm\:mr-1 { margin-right: 0.25rem; }
    .sm\:mr-2 { margin-right: 0.5rem; }
    .sm\:mr-3 { margin-right: 0.75rem; }
    .sm\:mr-4 { margin-right: 1rem; }
    .sm\:mr-5 { margin-right: 1.25rem; }
    .sm\:mr-6 { margin-right: 1.5rem; }
    .sm\:mr-8 { margin-right: 2rem; }
    .sm\:mr-auto { margin-right: auto; }
    
    .sm\:mb-0 { margin-bottom: 0; }
    .sm\:mb-1 { margin-bottom: 0.25rem; }
    .sm\:mb-2 { margin-bottom: 0.5rem; }
    .sm\:mb-3 { margin-bottom: 0.75rem; }
    .sm\:mb-4 { margin-bottom: 1rem; }
    .sm\:mb-5 { margin-bottom: 1.25rem; }
    .sm\:mb-6 { margin-bottom: 1.5rem; }
    .sm\:mb-8 { margin-bottom: 2rem; }
    .sm\:mb-10 { margin-bottom: 2.5rem; }
    .sm\:mb-12 { margin-bottom: 3rem; }
    .sm\:mb-16 { margin-bottom: 4rem; }
    .sm\:mb-20 { margin-bottom: 5rem; }
    .sm\:mb-24 { margin-bottom: 6rem; }
    .sm\:mb-auto { margin-bottom: auto; }
    
    .sm\:ml-0 { margin-left: 0; }
    .sm\:ml-1 { margin-left: 0.25rem; }
    .sm\:ml-2 { margin-left: 0.5rem; }
    .sm\:ml-3 { margin-left: 0.75rem; }
    .sm\:ml-4 { margin-left: 1rem; }
    .sm\:ml-5 { margin-left: 1.25rem; }
    .sm\:ml-6 { margin-left: 1.5rem; }
    .sm\:ml-8 { margin-left: 2rem; }
    .sm\:ml-auto { margin-left: auto; }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:m-0 { margin: 0; }
    .md\:m-1 { margin: 0.25rem; }
    .md\:m-2 { margin: 0.5rem; }
    .md\:m-3 { margin: 0.75rem; }
    .md\:m-4 { margin: 1rem; }
    .md\:m-5 { margin: 1.25rem; }
    .md\:m-6 { margin: 1.5rem; }
    .md\:m-8 { margin: 2rem; }
    .md\:m-10 { margin: 2.5rem; }
    .md\:m-12 { margin: 3rem; }
    .md\:m-16 { margin: 4rem; }
    .md\:m-20 { margin: 5rem; }
    .md\:m-24 { margin: 6rem; }
    .md\:m-32 { margin: 8rem; }
    .md\:m-auto { margin: auto; }
    
    .md\:mx-0 { margin-left: 0; margin-right: 0; }
    .md\:mx-1 { margin-left: 0.25rem; margin-right: 0.25rem; }
    .md\:mx-2 { margin-left: 0.5rem; margin-right: 0.5rem; }
    .md\:mx-3 { margin-left: 0.75rem; margin-right: 0.75rem; }
    .md\:mx-4 { margin-left: 1rem; margin-right: 1rem; }
    .md\:mx-5 { margin-left: 1.25rem; margin-right: 1.25rem; }
    .md\:mx-6 { margin-left: 1.5rem; margin-right: 1.5rem; }
    .md\:mx-8 { margin-left: 2rem; margin-right: 2rem; }
    .md\:mx-auto { margin-left: auto; margin-right: auto; }
    
    .md\:my-0 { margin-top: 0; margin-bottom: 0; }
    .md\:my-1 { margin-top: 0.25rem; margin-bottom: 0.25rem; }
    .md\:my-2 { margin-top: 0.5rem; margin-bottom: 0.5rem; }
    .md\:my-3 { margin-top: 0.75rem; margin-bottom: 0.75rem; }
    .md\:my-4 { margin-top: 1rem; margin-bottom: 1rem; }
    .md\:my-5 { margin-top: 1.25rem; margin-bottom: 1.25rem; }
    .md\:my-6 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
    .md\:my-8 { margin-top: 2rem; margin-bottom: 2rem; }
    
    .md\:mt-0 { margin-top: 0; }
    .md\:mt-1 { margin-top: 0.25rem; }
    .md\:mt-2 { margin-top: 0.5rem; }
    .md\:mt-3 { margin-top: 0.75rem; }
    .md\:mt-4 { margin-top: 1rem; }
    .md\:mt-5 { margin-top: 1.25rem; }
    .md\:mt-6 { margin-top: 1.5rem; }
    .md\:mt-8 { margin-top: 2rem; }
    .md\:mt-10 { margin-top: 2.5rem; }
    .md\:mt-12 { margin-top: 3rem; }
    .md\:mt-16 { margin-top: 4rem; }
    .md\:mt-20 { margin-top: 5rem; }
    .md\:mt-24 { margin-top: 6rem; }
    .md\:mt-auto { margin-top: auto; }
    
    .md\:mr-0 { margin-right: 0; }
    .md\:mr-1 { margin-right: 0.25rem; }
    .md\:mr-2 { margin-right: 0.5rem; }
    .md\:mr-3 { margin-right: 0.75rem; }
    .md\:mr-4 { margin-right: 1rem; }
    .md\:mr-5 { margin-right: 1.25rem; }
    .md\:mr-6 { margin-right: 1.5rem; }
    .md\:mr-8 { margin-right: 2rem; }
    .md\:mr-auto { margin-right: auto; }
    
    .md\:mb-0 { margin-bottom: 0; }
    .md\:mb-1 { margin-bottom: 0.25rem; }
    .md\:mb-2 { margin-bottom: 0.5rem; }
    .md\:mb-3 { margin-bottom: 0.75rem; }
    .md\:mb-4 { margin-bottom: 1rem; }
    .md\:mb-5 { margin-bottom: 1.25rem; }
    .md\:mb-6 { margin-bottom: 1.5rem; }
    .md\:mb-8 { margin-bottom: 2rem; }
    .md\:mb-10 { margin-bottom: 2.5rem; }
    .md\:mb-12 { margin-bottom: 3rem; }
    .md\:mb-16 { margin-bottom: 4rem; }
    .md\:mb-20 { margin-bottom: 5rem; }
    .md\:mb-24 { margin-bottom: 6rem; }
    .md\:mb-auto { margin-bottom: auto; }
    
    .md\:ml-0 { margin-left: 0; }
    .md\:ml-1 { margin-left: 0.25rem; }
    .md\:ml-2 { margin-left: 0.5rem; }
    .md\:ml-3 { margin-left: 0.75rem; }
    .md\:ml-4 { margin-left: 1rem; }
    .md\:ml-5 { margin-left: 1.25rem; }
    .md\:ml-6 { margin-left: 1.5rem; }
    .md\:ml-8 { margin-left: 2rem; }
    .md\:ml-auto { margin-left: auto; }
}

/* Large screens (lg) - 1024px and up */
@media (min-width: 1024px) {
    .lg\:m-0 { margin: 0; }
    .lg\:m-1 { margin: 0.25rem; }
    .lg\:m-2 { margin: 0.5rem; }
    .lg\:m-3 { margin: 0.75rem; }
    .lg\:m-4 { margin: 1rem; }
    .lg\:m-5 { margin: 1.25rem; }
    .lg\:m-6 { margin: 1.5rem; }
    .lg\:m-8 { margin: 2rem; }
    .lg\:m-10 { margin: 2.5rem; }
    .lg\:m-12 { margin: 3rem; }
    .lg\:m-16 { margin: 4rem; }
    .lg\:m-20 { margin: 5rem; }
    .lg\:m-24 { margin: 6rem; }
    .lg\:m-32 { margin: 8rem; }
    .lg\:m-auto { margin: auto; }
    
    .lg\:mx-auto { margin-left: auto; margin-right: auto; }
    .lg\:my-0 { margin-top: 0; margin-bottom: 0; }
    .lg\:mt-0 { margin-top: 0; }
    .lg\:mt-4 { margin-top: 1rem; }
    .lg\:mt-8 { margin-top: 2rem; }
    .lg\:mt-12 { margin-top: 3rem; }
    .lg\:mt-16 { margin-top: 4rem; }
    .lg\:mt-20 { margin-top: 5rem; }
    .lg\:mt-24 { margin-top: 6rem; }
    
    .lg\:mb-0 { margin-bottom: 0; }
    .lg\:mb-4 { margin-bottom: 1rem; }
    .lg\:mb-8 { margin-bottom: 2rem; }
    .lg\:mb-12 { margin-bottom: 3rem; }
    .lg\:mb-16 { margin-bottom: 4rem; }
    .lg\:mb-20 { margin-bottom: 5rem; }
    .lg\:mb-24 { margin-bottom: 6rem; }
}

/* RESPONSIVE PADDING UTILITIES */

/* Small screens (sm) - 640px and up */
@media (min-width: 640px) {
    .sm\:p-0 { padding: 0; }
    .sm\:p-1 { padding: 0.25rem; }
    .sm\:p-2 { padding: 0.5rem; }
    .sm\:p-3 { padding: 0.75rem; }
    .sm\:p-4 { padding: 1rem; }
    .sm\:p-5 { padding: 1.25rem; }
    .sm\:p-6 { padding: 1.5rem; }
    .sm\:p-8 { padding: 2rem; }
    .sm\:p-10 { padding: 2.5rem; }
    .sm\:p-12 { padding: 3rem; }
    .sm\:p-16 { padding: 4rem; }
    .sm\:p-20 { padding: 5rem; }
    .sm\:p-24 { padding: 6rem; }
    
    .sm\:px-0 { padding-left: 0; padding-right: 0; }
    .sm\:px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
    .sm\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
    .sm\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
    .sm\:px-4 { padding-left: 1rem; padding-right: 1rem; }
    .sm\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
    .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .sm\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    
    .sm\:py-0 { padding-top: 0; padding-bottom: 0; }
    .sm\:py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
    .sm\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .sm\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
    .sm\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
    .sm\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
    .sm\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .sm\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
    
    .sm\:pt-0 { padding-top: 0; }
    .sm\:pt-1 { padding-top: 0.25rem; }
    .sm\:pt-2 { padding-top: 0.5rem; }
    .sm\:pt-3 { padding-top: 0.75rem; }
    .sm\:pt-4 { padding-top: 1rem; }
    .sm\:pt-5 { padding-top: 1.25rem; }
    .sm\:pt-6 { padding-top: 1.5rem; }
    .sm\:pt-8 { padding-top: 2rem; }
    .sm\:pt-10 { padding-top: 2.5rem; }
    .sm\:pt-12 { padding-top: 3rem; }
    .sm\:pt-16 { padding-top: 4rem; }
    .sm\:pt-20 { padding-top: 5rem; }
    .sm\:pt-24 { padding-top: 6rem; }
    
    .sm\:pr-0 { padding-right: 0; }
    .sm\:pr-1 { padding-right: 0.25rem; }
    .sm\:pr-2 { padding-right: 0.5rem; }
    .sm\:pr-3 { padding-right: 0.75rem; }
    .sm\:pr-4 { padding-right: 1rem; }
    .sm\:pr-5 { padding-right: 1.25rem; }
    .sm\:pr-6 { padding-right: 1.5rem; }
    .sm\:pr-8 { padding-right: 2rem; }
    
    .sm\:pb-0 { padding-bottom: 0; }
    .sm\:pb-1 { padding-bottom: 0.25rem; }
    .sm\:pb-2 { padding-bottom: 0.5rem; }
    .sm\:pb-3 { padding-bottom: 0.75rem; }
    .sm\:pb-4 { padding-bottom: 1rem; }
    .sm\:pb-5 { padding-bottom: 1.25rem; }
    .sm\:pb-6 { padding-bottom: 1.5rem; }
    .sm\:pb-8 { padding-bottom: 2rem; }
    .sm\:pb-10 { padding-bottom: 2.5rem; }
    .sm\:pb-12 { padding-bottom: 3rem; }
    .sm\:pb-16 { padding-bottom: 4rem; }
    .sm\:pb-20 { padding-bottom: 5rem; }
    .sm\:pb-24 { padding-bottom: 6rem; }
    
    .sm\:pl-0 { padding-left: 0; }
    .sm\:pl-1 { padding-left: 0.25rem; }
    .sm\:pl-2 { padding-left: 0.5rem; }
    .sm\:pl-3 { padding-left: 0.75rem; }
    .sm\:pl-4 { padding-left: 1rem; }
    .sm\:pl-5 { padding-left: 1.25rem; }
    .sm\:pl-6 { padding-left: 1.5rem; }
    .sm\:pl-8 { padding-left: 2rem; }
}

/* Medium screens (md) - 768px and up */
@media (min-width: 768px) {
    .md\:p-0 { padding: 0; }
    .md\:p-1 { padding: 0.25rem; }
    .md\:p-2 { padding: 0.5rem; }
    .md\:p-3 { padding: 0.75rem; }
    .md\:p-4 { padding: 1rem; }
    .md\:p-5 { padding: 1.25rem; }
    .md\:p-6 { padding: 1.5rem; }
    .md\:p-8 { padding: 2rem; }
    .md\:p-10 { padding: 2.5rem; }
    .md\:p-12 { padding: 3rem; }
    .md\:p-16 { padding: 4rem; }
    .md\:p-20 { padding: 5rem; }
    .md\:p-24 { padding: 6rem; }
    
    .md\:px-0 { padding-left: 0; padding-right: 0; }
    .md\:px-1 { padding-left: 0.25rem; padding-right: 0.25rem; }
    .md\:px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
    .md\:px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
    .md\:px-4 { padding-left: 1rem; padding-right: 1rem; }
    .md\:px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
    .md\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .md\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    
    .md\:py-0 { padding-top: 0; padding-bottom: 0; }
    .md\:py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
    .md\:py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
    .md\:py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
    .md\:py-4 { padding-top: 1rem; padding-bottom: 1rem; }
    .md\:py-5 { padding-top: 1.25rem; padding-bottom: 1.25rem; }
    .md\:py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .md\:py-8 { padding-top: 2rem; padding-bottom: 2rem; }
    
    .md\:pt-0 { padding-top: 0; }
    .md\:pt-1 { padding-top: 0.25rem; }
    .md\:pt-2 { padding-top: 0.5rem; }
    .md\:pt-3 { padding-top: 0.75rem; }
    .md\:pt-4 { padding-top: 1rem; }
    .md\:pt-5 { padding-top: 1.25rem; }
    .md\:pt-6 { padding-top: 1.5rem; }
    .md\:pt-8 { padding-top: 2rem; }
    .md\:pt-10 { padding-top: 2.5rem; }
    .md\:pt-12 { padding-top: 3rem; }
    .md\:pt-16 { padding-top: 4rem; }
    .md\:pt-20 { padding-top: 5rem; }
    .md\:pt-24 { padding-top: 6rem; }
    
    .md\:pr-0 { padding-right: 0; }
    .md\:pr-1 { padding-right: 0.25rem; }
    .md\:pr-2 { padding-right: 0.5rem; }
    .md\:pr-3 { padding-right: 0.75rem; }
    .md\:pr-4 { padding-right: 1rem; }
    .md\:pr-5 { padding-right: 1.25rem; }
    .md\:pr-6 { padding-right: 1.5rem; }
    .md\:pr-8 { padding-right: 2rem; }
    
    .md\:pb-0 { padding-bottom: 0; }
    .md\:pb-1 { padding-bottom: 0.25rem; }
    .md\:pb-2 { padding-bottom: 0.5rem; }
    .md\:pb-3 { padding-bottom: 0.75rem; }
    .md\:pb-4 { padding-bottom: 1rem; }
    .md\:pb-5 { padding-bottom: 1.25rem; }
    .md\:pb-6 { padding-bottom: 1.5rem; }
    .md\:pb-8 { padding-bottom: 2rem; }
    .md\:pb-10 { padding-bottom: 2.5rem; }
    .md\:pb-12 { padding-bottom: 3rem; }
    .md\:pb-16 { padding-bottom: 4rem; }
    .md\:pb-20 { padding-bottom: 5rem; }
    .md\:pb-24 { padding-bottom: 6rem; }
}