/* ===============================
   CONTAINER (Bootstrap-like)
================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container .container {
  padding-left: 0;
  padding-right: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.align-items-center {
    align-items: center !important
}

.list-unstyled {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* Breakpoints */
@media (min-width: 576px) {
  .container { max-width: 540px; }
}
@media (min-width: 768px) {
  .container { max-width: 720px; }
}
@media (min-width: 992px) {
  .container { max-width: 960px; }
}
@media (min-width: 1200px) {
  .container { max-width: 1140px; }
}
@media (min-width: 1400px) {
  .container { max-width: 1320px; }
}


/* ===============================
   ROW
================================ */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* Fix nested rows spacing issues */
.row > * {
  box-sizing: border-box;
}

.row > [class*="col-"] {
  min-height: 1px;
}

/* Optional: support your custom gutter-y-* */
[class*="gutter-y-"] {
  row-gap: var(--gutter-y, 30px);
}
.gutter-y-30 { row-gap: 30px; }
.gutter-y-40 { row-gap: 40px; }
.gutter-y-50 { row-gap: 50px; }


/* ===============================
   COLUMNS (BASE)
================================ */
[class*="col-"] {
  padding-right: 15px;
  padding-left: 15px;
  width: 100%;
  flex: 0 0 auto; 
}

.owl-carousel .owl-item {
  width: auto;
  padding: 0;
}


.col-12,
.col-md-12,
.col-lg-12,
.col-xl-12 {
  flex: 0 0 100%;
  max-width: 100%;
}


/* ===============================
   GRID SYSTEM (12 columns)
================================ */

/* Default (mobile first) */
.col-1  { width: 8.3333%;  max-width: 8.3333%; }
.col-2  { width: 16.6667%; max-width: 16.6667%; }
.col-3  { width: 25%;      max-width: 25%; }
.col-4  { width: 33.3333%; max-width: 33.3333%; }
.col-5  { width: 41.6667%; max-width: 41.6667%; }
.col-6  { width: 50%;      max-width: 50%; }
.col-7  { width: 58.3333%; max-width: 58.3333%; }
.col-8  { width: 66.6667%; max-width: 66.6667%; }
.col-9  { width: 75%;      max-width: 75%; }
.col-10 { width: 83.3333%; max-width: 83.3333%; }
.col-11 { width: 91.6667%; max-width: 91.6667%; }
.col-12 { width: 100%;     max-width: 100%; }


/* ===============================
   BREAKPOINTS
================================ */

/* SM */
@media (min-width: 576px) {
  .col-sm-1  { width: 8.3333%;  max-width: 8.3333%; }
  .col-sm-2  { width: 16.6667%; max-width: 16.6667%; }
  .col-sm-3  { width: 25%;      max-width: 25%; }
  .col-sm-4  { width: 33.3333%; max-width: 33.3333%; }
  .col-sm-5  { width: 41.6667%; max-width: 41.6667%; }
  .col-sm-6  { width: 50%;      max-width: 50%; }
  .col-sm-7  { width: 58.3333%; max-width: 58.3333%; }
  .col-sm-8  { width: 66.6667%; max-width: 66.6667%; }
  .col-sm-9  { width: 75%;      max-width: 75%; }
  .col-sm-10 { width: 83.3333%; max-width: 83.3333%; }
  .col-sm-11 { width: 91.6667%; max-width: 91.6667%; }
  .col-sm-12 { width: 100%;     max-width: 100%; }
}

/* MD */
@media (min-width: 768px) {
  .col-md-1  { width: 8.3333%;  max-width: 8.3333%; }
  .col-md-2  { width: 16.6667%; max-width: 16.6667%; }
  .col-md-3  { width: 25%;      max-width: 25%; }
  .col-md-4  { width: 33.3333%; max-width: 33.3333%; }
  .col-md-5  { width: 41.6667%; max-width: 41.6667%; }
  .col-md-6  { width: 50%;      max-width: 50%; }
  .col-md-7  { width: 58.3333%; max-width: 58.3333%; }
  .col-md-8  { width: 66.6667%; max-width: 66.6667%; }
  .col-md-9  { width: 75%;      max-width: 75%; }
  .col-md-10 { width: 83.3333%; max-width: 83.3333%; }
  .col-md-11 { width: 91.6667%; max-width: 91.6667%; }
  .col-md-12 { width: 100%;     max-width: 100%; }
}

/* LG */
@media (min-width: 992px) {
  .col-lg-1  { width: 8.3333%;  max-width: 8.3333%; }
  .col-lg-2  { width: 16.6667%; max-width: 16.6667%; }
  .col-lg-3  { width: 25%;      max-width: 25%; }
  .col-lg-4  { width: 33.3333%; max-width: 33.3333%; }
  .col-lg-5  { width: 41.6667%; max-width: 41.6667%; }
  .col-lg-6  { width: 50%;      max-width: 50%; }
  .col-lg-7  { width: 58.3333%; max-width: 58.3333%; }
  .col-lg-8  { width: 66.6667%; max-width: 66.6667%; }
  .col-lg-9  { width: 75%;      max-width: 75%; }
  .col-lg-10 { width: 83.3333%; max-width: 83.3333%; }
  .col-lg-11 { width: 91.6667%; max-width: 91.6667%; }
  .col-lg-12 { width: 100%;     max-width: 100%; }
}

/* XL */
@media (min-width: 1200px) {
  .col-xl-1  { width: 8.3333%;  max-width: 8.3333%; }
  .col-xl-2  { width: 16.6667%; max-width: 16.6667%; }
  .col-xl-3  { width: 25%;      max-width: 25%; }
  .col-xl-4  { width: 33.3333%; max-width: 33.3333%; }
  .col-xl-5  { width: 41.6667%; max-width: 41.6667%; }
  .col-xl-6  { width: 50%;      max-width: 50%; }
  .col-xl-7  { width: 58.3333%; max-width: 58.3333%; }
  .col-xl-8  { width: 66.6667%; max-width: 66.6667%; }
  .col-xl-9  { width: 75%;      max-width: 75%; }
  .col-xl-10 { width: 83.3333%; max-width: 83.3333%; }
  .col-xl-11 { width: 91.6667%; max-width: 91.6667%; }
  .col-xl-12 { width: 100%;     max-width: 100%; }
}