//---- Front Page Blocks
$block-el-margin-bottom: 24px;

.rui-fp-margin-top {
  margin-top: 80px;
}

.rui-fp-margin-bottom {
  margin-bottom: 80px;

  @include media-breakpoint-between(xs, sm) {
    margin-bottom: 40px;
  }
}

.rui-block-margin-top {
  margin-top: 40px;

  @include media-breakpoint-only(md) {
    margin-top: 22px;
  }

  @include media-breakpoint-between(xs, sm) {
    margin-top: 10px;
  }
}

.rui-block-hr {
  margin: 60px auto;
  max-width: 60px;

  @include media-breakpoint-between(xs,sm) {
  margin: 40px auto;
  }
}

.rui-block-subtitle {
  margin-bottom: $block-el-margin-bottom;
  font-size: 1rem;
  text-align: center;
  color: $body-color-secondary;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: $font-size-md
  }
}


.rui-block-title {
  margin-bottom: $block-el-margin-bottom;
  font-size: 3.75rem; // 60px
  text-align: center;
  line-height: 1.2;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }

  @include media-breakpoint-only(md) {
    font-size: 2.5rem; // 40px
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: 1.5rem; // 24px
  }
}

.rui-block-desc {
  margin-bottom: $block-el-margin-bottom;
  font-size: 1.25rem; //18px
  color: $body-color;
  text-align: center;

  .theme-dark & {
    color: $dm-body-color;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: 1rem
  }
}

.rui-block-desc--lg {
  font-size: 2rem;

  @include media-breakpoint-between(xs, sm) {
    font-size: 1.5rem
  }
}

.rui-block-desc--sm {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.rui-block-footer {
  margin-top: 30px;
  font-size: .875rem; // 14px
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }
}

// Team
.rui-card-team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-column-gap: 40px;
  grid-row-gap: 40px;
}

.rui-img--anim-1 img {
  max-width: 100%;
  height: auto;
  border-radius: 120px 5px 5px 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 5px 120px 120px 5px;
  }
}

.rui-img--anim-2 img {
  max-width: 100%;
  height: auto;
  border-radius: 120px 5px 120px 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 120px 120px 120px 5px;
  }
}

.rui-img--anim-3 img {
  max-width: 100%;
  height: auto;
  border-radius: 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: $btn-border-radius-lg;
  }
}

.rui-img--anim-4 img {
  max-width: 100%;
  height: auto;
  border-radius: 5px 120px 120px 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 120px 120px 5px 120px;
  }
}

.rui-img--anim-5 img {
  max-width: 100%;
  height: auto;
  border-radius: 5px 120px 120px 5px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 120px 5px 5px 120px;
  }
}

.rui-img--anim-6 img {
  max-width: 100%;
  height: auto;
  border-radius: $btn-border-radius-lg;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 120px;
  }
}

.rui-img--anim-7 img {
  max-width: 100%;
  height: auto;
  border-radius: 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 120px 5px 120px 5px;
  }
}

.rui-img--anim-8 img {
  max-width: 100%;
  height: auto;
  border-radius: 120px;
  transition: border-radius 350ms cubic-bezier(0.165, 0.84, 0.44, 1);

  &:hover {
    border-radius: 5px 120px 5px 120px;
  }
}

.rui-block-social-list {
  margin-top: 1rem;
  display: inline-flex;

  a {
    width: 30px;
    height: 30px;
    font-size: 18px;
    color: $body-color;

    &:hover {
      opacity: .6;
    }

    .theme-dark & {
      color: $dm-body-color;
    }
  }
}

// Added important becaouse Atto editor adds additional classes
.rui-block-team-item {
  margin-bottom: 30px;

  position: relative;
  width: 100% !important;
  max-width: 100% !important;

  &:last-of-type {
    margin-bottom: 0;
  }
}

.rui-card-team--img-smpl img {
  position: relative;
  border-radius: $btn-border-radius-lg;
  width: 192px;

  @include media-breakpoint-between(xs, sm) {
  width: 40px;
  }
}

.rui-card-team--img-fw {
  position: relative;

  img {
    border-radius: $btn-border-radius-lg;
    width: 100%;
  }
}

.rui-card-team-desc--absolute {
  position: absolute;
  background-color: $container-bg;
  padding: 7px 17px;

  left: 10px;
  right: 10px;
  bottom: 10px;
  border-radius: $btn-border-radius-md;

  .theme-dark & {
    background-color: $dm-container-bg;
  }
}

.rui-block-team-title {
  font-size: 1rem;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }
}

.rui-block-team-desc {
  font-size: .938rem; // 15px
  color: $body-color-secondary;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }
}

.rui-block-team-desc--sm {
  font-size: .75rem; // 12px
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }
}

.rui-block-team-list {
  li {
    margin-right: 10px;
    display: inline-block;

    a {
      font-size: .875rem;
      font-weight: $font-weight-bold;
      color: $body-color-secondary;

      .theme-dark & {
        color: $dm-body-color-secondary;
      }
    }

  }
}

// Tetimonials
.rui-card-testimonials-grid--2 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  column-gap: 60px;
  row-gap: 60px;

  @include media-breakpoint-only(md) {
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 20px), 1fr));
    column-gap: 40px;
    row-gap: 40px;
  }

  @include media-breakpoint-between(xs, sm) {
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    column-gap: 0;
    row-gap: 80px;
  }
}

.rui-card-testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  column-gap: 80px;
  row-gap: 80px;

  @include media-breakpoint-only(md) {
    grid-template-columns: repeat(auto-fill, minmax(calc(50% - 20px), 1fr));
    column-gap: 40px;
    row-gap: 40px;
  }

  @include media-breakpoint-between(xs, sm) {
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    column-gap: 0;
    row-gap: 80px;
  }
}

.rui-block-testimonials-item {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}

.rui-block-testimonials-img {
  width: 100%;
  margin-bottom: 30px;
}

.rui-block-testimonials-rating {
  margin-bottom: 30px;

  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  color: var(--primary-color-500);

  svg {
    width: 16px;
    margin-right: 4px;

    &:last-child {
      margin-right: 0;
    }
  }
}

.rui-block-testimonials--quote {
  margin: 0 0 10px;
  font-size: 1.5rem;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }
}

.rui-block-testimonials--author {
  width: 100%;
  margin-bottom: 0;
  font-size: $font-size-md;
  font-weight: $font-weight-medium;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }
}

.rui-block-testimonials--additional {
  width: 100%;
  font-size: $font-size-xs;
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }
}


// Category
.rui-card-cat-grid {
  width: 100%;
  display: grid;
  flex-wrap: wrap;
  gap: 10px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.rui-block-category-item {
  padding: 15px;
  position: relative;

  display: flex;
  justify-content: flex-start;
  align-items: center;

  background-color: $container-bg;
  border: 2px solid $container-bg;
  border-radius: $btn-border-radius-md;

  text-align: left;

  .theme-dark & {
    background-color: $dm-black;
    border-color: $dm-black;
  }

  img {
    .theme-dark & {
      filter: invert(1);
    }
  }

  &:hover {
    background-color: $gray-100;
    text-decoration: none;

    .theme-dark & {
      background-color: $dm-gray-100;
    }
  }

  .badge-wrapper {
    margin: 10px 0;
  }
}

.rui-block-category-item--icon {
  display: block;
}

.badge-sale {
  border: 1px solid $red-600;
  color: $red-800;

  .theme-dark & {
    border-color: $red-300;
    color: $red-200;
  }
}

.badge-new {
  border: 1px solid $green-600;
  color: $green-800;

  .theme-dark & {
    border-color: $green-300;
    color: $green-200;
  }
}

.badge-soon {
  border: 1px solid $blue-700;
  color: $blue-800;

  .theme-dark & {
    border-color: $blue-300;
    color: $blue-200;
  }
}

.rui-block-category-item-title {
  width: 100%;
  margin: 0;
  font-size: $font-size-md;
  font-weight: $font-weight-bold;
  text-align: left;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }
}

.rui-block-category-item-subtitle {
  font-size: $font-size-xs;
  font-weight: $font-weight-medium;
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }
}

// Block 13
.rui-cta-wrapper--center {
  margin: 0 auto;
  padding: 100px;

  @include media-breakpoint-only(md) {
    padding: 60px;
  }

  @include media-breakpoint-between(xs, sm) {
    padding: 30px;
    max-width: 90%;
    margin: 0 auto;
  }
}

.rui-cta-wrapper--left {
  padding: 100px 0 100px 100px;
  max-width: 700px;

  @include media-breakpoint-only(md) {
    padding: 60px;
  }

  @include media-breakpoint-between(xs, sm) {
    padding: 30px;
    max-width: 90%;
    margin: 0 auto;
  }
}

.rui-cta-wrapper--right {
  padding: 100px 100px 100px 0;
  max-width: 700px;

  @include media-breakpoint-only(md) {
    padding: 60px;
  }

  @include media-breakpoint-between(xs, sm) {
    padding: 30px;
    max-width: 90%;
    margin: 0 auto;
  }
}

.rui-cta-content {
  margin-bottom: 2rem;
  font-size: 1.5rem;
  opacity: .7;

  @include media-breakpoint-between(xs, sm) {
    font-size: $font-size-md;
  }
}

.rui-cta-subtitle {
  margin-bottom: 10px;
  font-family: $font-family-base;
  font-size: 1.25rem;
  line-height: 1.3;

  @include media-breakpoint-between(xs, sm) {
    font-size: 1rem;

    @include media-breakpoint-between(xs, sm) {
      font-size: .85rem;
    }
  }
}

.rui-cta-title {
  margin-bottom: 10px;
  font-family: $font-family-base;
  font-size: 2rem;
  line-height: 1.3;

  @include media-breakpoint-between(xs, sm) {
    font-size: 1.5rem;

    @include media-breakpoint-between(xs, sm) {
      font-size: 1rem;
    }
  }
}

.rui-cta-small {
  margin-top: $page-padding-global;
  font-size: $font-size-xs;
  opacity: .7;
}


// Cards
.rui-card {
  padding: 30px;
  border: 1px solid $border-color;
  border-radius: $btn-border-radius-md;
  background-color: $container-bg;

  .theme-dark & {
    border-color: $dm-border-color;
    background-color: $dm-container-bg;
  }
}

.rui-color-card {
  padding: 30px;
}

.rui-card-img-rounded,
.rui-color-card,
.rui-color-card-img {
  display: flex;
}

.rui-img-rounded,
.rui-img-rounded--md,
.rui-img-rounded--lg,
.rui-img-rounded--xl {
  img {
    display: flex;
    width: 100%;
  }
}

.rui-rounded {
  border-radius: $btn-border-radius-md;
}

.rui-rounded--md {
  border-radius: $btn-border-radius-md;
}

.rui-rounded--lg {
  border-radius: $btn-border-radius-lg;
}

.rui-rounded--xl {
  border-radius: $btn-border-radius-xl;
}

.rui-img-rounded img {
  display: block!important;
  border-radius: $border-radius!important;
}

.rui-img-rounded--md img {
  display: block!important;
  border-radius: $border-radius-md!important;
}

.rui-img-rounded--lg img {
  display: block!important;
  border-radius: $border-radius-lg!important;
}

.rui-img-rounded--xl img {
  display: block!important;
  border-radius: 60px!important;
}

.rui-color-card {
  background-color: $gray-900;
  color: $gray-300;

  transition: all 350ms cubic-bezier(0.45, 0.05, 0.55, 0.95);

  .rui-card-title {
    font-size: $font-size-base;
  }

  h1,
  h2,
  h3,
  h4,
  h5 {
    font-weight: $font-weight-medium;
    color: $white;
  }

  .rui-card-text {
    font-size: $font-size-sm;
  }
}

.rui-card-item:hover {
  .rui-color-card {
    transform: translateY(-20px);
  }
}


.rui-card-title {
  font-size: 1.125rem;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }

  .rui-color-card & {
    color: inherit;
  }
}

.rui-card-title--light {
  font-size: $font-size-md;
  font-weight: $font-weight-medium;
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }

  .rui-color-card & {
    color: inherit;
  }
}

.rui-card-text {
  font-size: $font-size-base;
  color: $body-color-secondary;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }

  .rui-color-card & {
    color: inherit;
  }
}

.rui-card-text--lg {
  font-size: 1.125px; // 18px
  color: $body-color-secondary;
  opacity: .7;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }

  .rui-color-card & {
    color: inherit;
  }
}

.rui-card-text--md {
  font-size: $font-size-md;
  color: $body-color-light;

  .theme-dark & {
    color: $dm-body-color-light;
  }

  .rui-color-card & {
    color: inherit;
  }
}

.rui-card--with-img {
  display: inline-flex;
  align-items: center;
  width: 100%;

  @include media-breakpoint-between(xs, sm) {
    display: block;
    text-align: center;
  }
}

.rui-card-btn-link {
  font-size: $font-size-md;
  font-weight: $font-weight-medium;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }

}


// Pricing table
.rui-pricing-table-title {
  font-size: 1.5rem; //24px
  font-weight: $font-weight-bold;
  text-align: center;
}

.rui-pricing-table-price {
  margin: 20px 0;
  font-size: 2rem; //32px
  font-weight: $font-weight-bold;
  text-align: center;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
  }

  .rui-pricing-table-price--smaller {
    font-size: 1.5rem; //24px
    color: $body-color-light;

    .theme-dark & {
      color: $dm-body-color-light;
    }
  }
}

.rui-pricing-table-text {
  margin-top: 10px;

  font-size: $font-size-md;
  text-align: center;
  color: $body-color-secondary;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }
}

.rui-special-list {
  margin: 20px;
  padding: 0;
  list-style: none !important;
  flex-wrap: wrap;

  font-size: $font-size-md;
  line-height: 2;
  color: $body-color-secondary;

  .theme-dark & {
    color: $dm-body-color-secondary;
  }

  li {
    padding-left: 26px;
    margin-right: 20px;
    margin-bottom: 10px;
    position: relative;

    &:before {
      content: '';
      background-repeat: no-repeat;
      background-size: 13px;
      background-position: center;

      position: absolute;
      top: 4px;
      left: 0;
      width: 18px;
      height: 18px;
      border-radius: 18px;
    }

    &.list-icon-x {
      opacity: .8;

      &:before {
        background-color: $gray-100;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17.25 6.75L6.75 17.25'%3E%3C/path%3E%3Cpath stroke='#{url-friendly-colour($gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6.75 6.75L17.25 17.25'%3E%3C/path%3E%3C/svg%3E%0A");

        .theme-dark & {
          background-color: $dm-gray-100;
          background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($dm-gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M17.25 6.75L6.75 17.25'%3E%3C/path%3E%3Cpath stroke='#{url-friendly-colour($dm-gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6.75 6.75L17.25 17.25'%3E%3C/path%3E%3C/svg%3E%0A");
        }

      }
    }
  }
}

.rui-special-list--light {
  li {
    &:before {
      background-color: $gray-100;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5.75 12.8665L8.33995 16.4138C9.15171 17.5256 10.8179 17.504 11.6006 16.3715L18.25 6.75'%3E%3C/path%3E%3C/svg%3E%0A");

      .theme-dark & {
        background-color: $dm-gray-100;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($dm-gray-700)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5.75 12.8665L8.33995 16.4138C9.15171 17.5256 10.8179 17.504 11.6006 16.3715L18.25 6.75'%3E%3C/path%3E%3C/svg%3E%0A");
      }
    }
  }
}

.rui-special-list--primary {
  li {
    &:before {
      background-color: var(--primary-color-200);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($gray-800)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5.75 12.8665L8.33995 16.4138C9.15171 17.5256 10.8179 17.504 11.6006 16.3715L18.25 6.75'%3E%3C/path%3E%3C/svg%3E%0A");

      .theme-dark & {
        background-color: $primary-color-800;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath stroke='#{url-friendly-colour($primary-color-500)}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M5.75 12.8665L8.33995 16.4138C9.15171 17.5256 10.8179 17.504 11.6006 16.3715L18.25 6.75'%3E%3C/path%3E%3C/svg%3E%0A");
      }
    }
  }
}

.rui-pricing-table {
  padding: 30px 40px;
  border-style: solid;
  border-color: $border-color;
  border-width: 1px 0;

  @include media-breakpoint-up(lg) {
    &:first-of-type {
      border-radius: $border-radius 0 0 $border-radius-md;
      border-width: 1px;
    }

    &:last-of-type {
      border-radius: 0 $border-radius $border-radius 0;
      border-width: 1px;
    }
  }

  @include media-breakpoint-between(xs, md) {
    margin: 10px 0;
    border-radius: $btn-border-radius-md;
    border-width: 1px;
  }

}

.rui-pricing-table--special {
  background-color: var(--primary-color-100);
  border-color: var(--primary-color-300);
  border-left: 2px dashed $primary-color-300 !important;

  .theme-dark & {
    background-color: $primary-color-800;
    border-color: var(--main-theme-color);
  }

  @include media-breakpoint-between(xs, md) {
    border-left: 1px solid var(--primary-color-300);

    .theme-dark & {
      border-color: var(--main-theme-color) !important;
    }
  }
}

.rui-fp-block--11,
.rui-fp-block--12 {

  .swiper-button-prev,
  .swiper-button-next {
    top: 160px;
  }
}

.rui-fp-block-mb {
  margin-bottom: 30px;
}

.rui-fp-block {
  .swiper-button-next {
    top: calc(50% - 45px);
  }
}

.rui-fp-block--cta {
  padding: 60px 80px;

  background-color: var(--primary-color-100);
  border-radius: $btn-border-radius-md;

  .theme-dark & {
    background-color: $primary-color-800;
  }

  @include media-breakpoint-only(md) {
    padding: 40px;
  }

  @include media-breakpoint-between(xs, sm) {
    padding: 25px;
  }

  .swiper {
    padding: 0 0 45px 0;
  }
}

.rui-fp-block--1,
.rui-fp-block--4 {
  .swiper-wrapper {
    border-radius: $btn-border-radius-lg;
    overflow: hidden;
  }
}

// Block 23
.rui-card-item {
  transition: $transition-base;

  &:hover {
    transform: translateY(-3px);
  }

  &.swiper-slide:hover {
    transform: none;
  }

  .rui-card-item-img {
    max-width: 200px;

    @include media-breakpoint-between(xs, sm) {
      max-width: 100%;
    }

    img {
      width: 100%;
      border: 4px solid $white;
    }
  }
}

// Block--1 -> Hero Slider
.rui-hero-content {
  color: inherit;

  @include media-breakpoint-up(lg) {
    max-width: 600px;
  }
  @include media-breakpoint-between(xs, lmd) {
    width: 100%;
  }
}

.rui-hero-bg {
  @include media-breakpoint-between(xs, sm) {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
}

.rui-hero-content-backdrop {
  padding: 45px 60px;
  border-radius: $btn-border-radius-lg;

  @include media-breakpoint-between(xs, sm) {
    background-color: $container-bg;
    padding: 30px 10px;
    border-radius: 0;

    .theme-dark & {
      background-color: $dm-container-bg;
    }
  }
}

$block1-wrapper-bg: #000 !default;
$block2-wrapper-bg: #000 !default;
$block3-wrapper-bg: #000 !default;
$block4-wrapper-bg: #000 !default;

.rui-hero-content-backdrop--block1 {
  background-color: $block1-wrapper-bg;
}

.rui-hero-content-backdrop--block2 {
  background-color: $block2-wrapper-bg;
}

.rui-hero-content-backdrop--block3 {
  background-color: $block3-wrapper-bg;
}

.rui-hero-content-backdrop--block4 {
  background-color: $block4-wrapper-bg;
}

.rui-fp-block--1 {
  .rui-hero-bg {
    background-color: $block1-wrapper-bg;
  }
}

.rui-fp-block--4 {
  .rui-hero-bg {
    background-color: $block4-wrapper-bg;
  }
}

@include media-breakpoint-between(xs, sm) {
.rui-fp-block--1,
.rui-fp-block--4 {
  .swiper-wrapper {
    border: 1px solid $border-color;
    border-radius: $btn-border-radius;
  
    .theme-dark & {
      border-color: $dm-border-color;
    }
  }
}
}


.rui-hero-content-position {
  position: absolute;
  z-index: 3;

  @include media-breakpoint-between(xs, sm) {
    position: relative;
    top: 0 !important;
    text-align: center;

    p {
      text-align: center!important;
    }
  }
}

.rui-hero-content-centered {
  width: 500px;

  text-align: center;
  left: calc(50% - 250px);

  @include media-breakpoint-between(xs, sm) {
    width: 100%;
    left: 0;
  }
}

.rui-hero-content-left {
  left: 100px;

  @include media-breakpoint-only(md) {
    text-align: center;
    width: 500px;
    left: calc(50% - 250px);
  }

  @include media-breakpoint-between(xs, sm) {
    text-align: center;
    width: 100%;
    left: 0;

    p {
      text-align: center!important;
    }
  }
}

.rui-hero-content-right {
  left: auto;
  right: 100px;

  @include media-breakpoint-only(md) {
    text-align: center;
    width: 500px;
    right: calc(50% - 250px);
  }

  @include media-breakpoint-between(xs, sm) {
    text-align: center;
    width: 300px;
    left: calc(50% - 150px);

    p {
      text-align: center!important;
    }
  }
}

.rui-hero-title {
  @include media-breakpoint-up(lg) {
    font-size: 40px;
    line-height: 1.3;
  }

  @include media-breakpoint-only(md) {
    font-size: 30px;
    line-height: 1.3;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: 20px;
    line-height: 1.3;
  }

  @include media-breakpoint-between(xs, sm) {
    color: $body-color;

    .theme-dark & {
      color: $dm-body-color;
    }
  }
}

.rui-hero-title-lg {
  @include media-breakpoint-up(lg) {
    font-size: 60px;
    line-height: 1.2;
  }

  @include media-breakpoint-only(md) {
    font-size: 40px;
    line-height: 1.3;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: 20px;
    line-height: 1.3;
  }
}

.rui-hero-title-xl {
  @include media-breakpoint-up(lg) {
    font-size: 80px;
    line-height: 1.1;
    word-break: break-all;
  }

  @include media-breakpoint-only(md) {
    font-size: 40px;
    line-height: 1.3;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: 20px;
    line-height: 1.3;
  }
}

.rui-hero-title+.rui-hero-desc {
  margin: 20px 0 0;
}

.rui-hero-desc {
  font-size: 1.125rem;

  @include media-breakpoint-only(md) {
    font-size: .85rem;
  }

  @include media-breakpoint-between(xs, sm) {
    font-size: $font-size-md;
    color: $body-color;

    .theme-dark & {
      color: $dm-body-color;
    }
  }
}

.rui-hero-btns {
  margin-top: $page-padding-global;
}

// Swiper inside bloks with arrows
.rui--swiper-arrows {
  padding-right: 80px !important;
  padding-left: 80px !important;
}


.rui-img--rounded-fluid img {
  max-width: 100%;
  height: auto;
  border-radius: $btn-border-radius-md;
}


// 2 col imgs with caption
.rui-text-content--absolute {
  padding: 80px;

  color: $white;

  .rui-text-content-heading {
    font-size: 2rem;
    font-weight: $font-weight-bold;
    color: $white;
  }
}


// Hero IMG 
.rui-hero-img {
  width: 100%;
  overflow: hidden;
  border-radius: $btn-border-radius-lg;

  position: relative;
}


// Hero Video 
.rui-hero-video {
  width: 100%;
  height: 600px;
  overflow: hidden;
  border-radius: $btn-border-radius-lg;

  position: relative;

  .vidbg-container {
    width: 100%;
  }
}

// Default moodle front page blocks
#site-news-forum,
#frontpage-category-combo,
#frontpage-course-list,
#frontpage-available-course-list {
  .rui-title-container .rui-main-content-title {
    margin: $block-el-margin-bottom 0;

    display: block;

    font-size: 3rem;
    font-weight: $font-weight-bold;
    text-align: center;
    color: $body-color;

    .theme-dark & {
      color: $dm-body-color;
    }

    @include media-breakpoint-only(md) {
      font-size: 2.5rem; // 40px
    }

    @include media-breakpoint-between(xs, sm) {
      font-size: 1.5rem; // 24px
    }
  }
}

.sitetopic {
  width: $wrapper-md;
  margin: 0 auto;

  @include media-breakpoint-between(xs, md) {
    width: 100%;
  }
}


// Front page blocks - elements
.rui-icon-box {
  width: 60px;
  height: 60px;
  border-radius: 60px;

  display: flex;
  justify-content: center;
  align-items: center;
}

.rui-icon-box--primary-light {
  background-color: var(--primary-color-100);
  color: var(--main-theme-color);

  .theme-dark & {
    background-color: var(--main-theme-color);
    color: var(--primary-color-100);
  }
}

.rui-icon-box--primary {
  background-color: var(--main-theme-color);
  color: var(--primary-color-100);
}

.rui-icon-box--gray {
  background-color: $gray-100;
  color: $gray-600;

  .theme-dark & {
    background-color: $dm-gray-100;
    color: $dm-gray-600;
  }
}

.rui-icon-box--black {
  background-color: $black;
  color: $gray-100;

  .theme-dark & {
    background-color: $white;
    color: $black;
  }
}

.rui-icon-box--white {
  background-color: $white;
  color: $gray-900;

  .theme-dark & {
    background-color: $black;
    color: $white;
  }
}

.rui-block-text--secondary {
  color: $body-color-secondary;
}

.rui-block-text--light {
  color: $body-color-light;
}

.rui-block-text--1 {
  font-size: $font-size-lg;
}

.rui-block-text--2 {
  font-size: $font-size-md;
}

.rui-block-text--3 {
  font-size: $font-size-xs;
}

.rui-rounded-icon {
  display: inline-flex;
  align-items: center;

  border-radius: 40px;
  padding: 10px;

  img,
  svg {
    width: 24px;
    height: auto;
  }
}

.rui-rounded-icon--color {
  background-color: var(--primary-color-100);
  color: var(--main-theme-color);

  .theme-dark & {
    background-color: var(--main-theme-color);
    color: var(--primary-color-100);
  }
}

.rui-rounded-icon--gray {
  background-color: $gray-100;
  color: $gray-800;

  .theme-dark & {
    background-color: $dm-gray-100;
    color: $dm-gray-800;   
  }
}


.rui-card--colorized {
  padding: 60px;
  color: $body-color;

  .theme-dark & {
    color: $dm-body-color;
    background-color: $dm-gray-100!important;
  }

  @include media-breakpoint-between(xs, sm) {
    padding: 30px;
  }

  .rui-card-text,
  .lead-1,
  .lead-2,
  .lead-3,
  .lead-4,
  .display-1,
  .display-2,
  .display-3,
  .display-4 {
    color: $body-color;
    
    .theme-dark & {
      color: $dm-body-color;
    }
  }

}

// Margins
.rui-fp-block-mt {
  margin-top: 80px;

  @include media-breakpoint-between(xs, sm) {
    margin-top: 40px;
  }
}

.rui-fp-block-mb {
  margin-bottom: 60px;

  @include media-breakpoint-between(xs, sm) {
    margin-bottom: 30px;
  }
}

//

//Grid Content UI
.rui-fp-content-box--left,
.rui-fp-content-box--right,
.rui-img--rounded-left,
.rui-img--rounded-right {
  overflow: hidden;
}

.rui-fp-grid-content--1,
.rui-fp-grid-content--3 {
  .rui-fp-content-box {
    background-color: $gray-100;

    .theme-dark & {
      background-color: $dm-gray-100;
    }

    @include media-breakpoint-up(md) {
      padding: 80px;
    }

    @include media-breakpoint-between(xs, sm) {
      padding: 30px;
    }
  }


  @include media-breakpoint-up(lg) {
    .rui-fp-content-box--left {
      border-radius: 60px 0 60px 60px;
    }

    .rui-fp-content-box--right {
      border-radius: 0 60px 60px 60px;
    }

    .rui-img--rounded-left {
      border-radius: 60px 0 60px 60px;
    }

    .rui-img--rounded-right {
      border-radius: 0 60px 60px 60px;
    }
  }

  @include media-breakpoint-between(xs, md) {

    .rui-fp-content-box--left,
    .rui-fp-content-box--right,
    .rui-img--rounded-left,
    .rui-img--rounded-right {
      border-radius: $btn-border-radius-lg;
    }
  }

}

.rui-fp-grid-content--2 {
  .rui-fp-content-box {
    background-color: $gray-100;

    .theme-dark & {
      background-color: $dm-gray-100;
    }

    @include media-breakpoint-up(md) {
      padding: 80px;
    }

    @include media-breakpoint-between(xs, sm) {
      padding: 30px;
    }
  }

  @include media-breakpoint-up(lg) {
    .rui-fp-content-box--left {
      border-radius: 60px 60px 0 60px;
    }

    .rui-fp-content-box--right {
      border-radius: 60px 60px 60px 0;
    }

    .rui-img--rounded-left {
      border-radius: 60px 60px 0 60px;
    }

    .rui-img--rounded-right {
      border-radius: 60px 60px 60px 0;
    }
  }

  @include media-breakpoint-between(xs, md) {

    .rui-fp-content-box--left,
    .rui-fp-content-box--right,
    .rui-img--rounded-left,
    .rui-img--rounded-right {
      border-radius: $btn-border-radius-lg;
    }
  }
}


.rui-fp-grid-content--3 {
  .rui-fp-content-box {
    @include media-breakpoint-up(md) {
      padding: 80px;
    }

    @include media-breakpoint-between(xs, sm) {
      padding: 30px;
    }
  }
}

.rui-fp-grid-content--4 {
  .rui-fp-content-box {

    @include media-breakpoint-up(md) {
      padding: 80px;
    }

    @include media-breakpoint-between(xs, sm) {
      padding: 30px;
    }
  }

  @include media-breakpoint-up(lg) {
    .rui-fp-content-box--left {
      border-radius: 120px 120px 0 120px;
    }

    .rui-fp-content-box--right {
      border-radius: 120px 120px 120px 0;
    }

    .rui-img--rounded-left {
      border-radius: 120px 120px 0 120px;
    }

    .rui-img--rounded-right {
      border-radius: 120px 120px 120px 0;
    }
  }

  @include media-breakpoint-between(xs, md) {

    .rui-fp-content-box--left,
    .rui-fp-content-box--right,
    .rui-img--rounded-left,
    .rui-img--rounded-right {
      border-radius: 120px;
    }
  }
}

.rui-fp-grid-content--5 {
  .rui-fp-content-box {
    background-color: var(--primary-color-100);

    .theme-dark & {
      background-color: $dm-black;
    }

    @include media-breakpoint-up(md) {
      padding: 80px;
    }

    @include media-breakpoint-between(xs, sm) {
      padding: 30px;
    }
  }

  @include media-breakpoint-up(lg) {
    .rui-fp-content-box--left {
      border-radius: 60px 60px 0 60px;
    }

    .rui-fp-content-box--right {
      border-radius: 60px 60px 60px 0;
    }

    .rui-img--rounded-left {
      border-radius: 60px 60px 0 60px;
    }

    .rui-img--rounded-right {
      border-radius: 60px 60px 60px 0;
    }
  }

  @include media-breakpoint-between(xs, md) {

    .rui-fp-content-box--left,
    .rui-fp-content-box--right,
    .rui-img--rounded-left,
    .rui-img--rounded-right {
      border-radius: $btn-border-radius-lg;
    }
  }
}

.rui-img-box--anim {
  overflow: hidden;
  height: 100%;
  box-sizing: border-box;
  display: block;
  position: relative;
  height: 100%;

  img {
    transition: all 350ms ease-in-out;

    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  &:hover {
    img {
      transform: scale(1.1);
    }
  }
}

.rui-list--gap {
  display: grid;
  row-gap: 30px;
}

.rui-img-mask--grayscale {
  img {
    filter: grayscale(1);
  }
}
