/*

 Theme Name:     MTS

 Template:       Divi

*/
:root {
  font-size: 18px;
  --special: clamp(10vw, calc((100vw - 1260px) / 2), 50vw);
  --menu-close-color: #313250;
  --menu-close-height: 48px;
  --menu-close-background: #eee;
  --menu-close-font: 24px;
  --menu: "MENU";
}
body {
  overflow-x: hidden;
  font-weight: 400;
}
h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
}
.et_pb_button {
  text-wrap: nowrap;
}
::placeholder {
  color: #b0b3b8 !important;
}
.special-list ul {
  padding: 0;
  list-style: none;
}
.special-list ul li {
  display: flex;
}
.equal-height-image .et_pb_image,
.equal-height-image .et_pb_image_wrap,
.equal-height-image .et_pb_module.et_pb_image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.square-image .et_pb_image_wrap,
.square-image .et_pb_image_wrap img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.et-db #et-boc .et-l .et_pb_column .et_pb_module.dipi_button_grid_child,
div.dipi_button_grid.et_pb_module
  .dipi-button-grid-container
  div.dipi_button_grid_child.et_pb_module {
  margin-left: 0;
}
.et-db #et-boc .et-l .et_pb_column .et_pb_module.dipi_button_grid_child,
div.dipi_button_grid.et_pb_module
  .dipi-button-grid-container
  div.dipi_button_grid_child.et_pb_module:has(+ .et_pb_module) {
  margin-right: 1em;
}
#header-new #menu-primary-menu > .menu-item {
  min-height: 100px;
}
#header-new #menu-primary-menu > .menu-item > a {
  align-items: center;
  display: flex;
}
#header-new .et-menu .menu-item-has-children > a:first-child:after {
  top: 50%;
  transform: translateY(-75%);
  font-size: 18px;
  line-height: 18px;
}
#header-new .et_pb_module {
  margin: auto;
}
#header-new .et_pb_column {
  display: flex;
  align-items: center;
  gap: 16px;
}
#header-new .et_pb_menu .et-menu > li {
  padding-left: 8px;
  padding-right: 8px;
}
#hero-new {
  display: flex;
}
#hero-new * {
  text-decoration-color: #f0221a !important;
  text-underline-offset: 9px;
}
.special-list ul li {
  gap: 12px;
}
.special-list img {
  height: fit-content;
}
#service-types .et_pb_column {
  display: flex;
  flex-direction: column;
}
#service-types .et_pb_column .et_pb_button_module_wrapper {
  flex: 1;
  display: flex;
  align-items: flex-end;
}
#service-types .et_pb_column .et_pb_button_module_wrapper .et_pb_button {
  width: 100%;
  text-align: center;
}
#service-types img {
  object-fit: cover;
}
#team .et_pb_column {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
}
.team-card {
  width: 100%;
  flex: 0 0 100%;
}
.title-blurb .et_pb_blurb_content {
  display: flex;
  align-items: center;
}
.benefits .et_pb_text_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.benefits .et_pb_text_inner > ul {
  flex: 0 0 100%;
  list-style: none;
  padding: 0;
}
.benefits .et_pb_text_inner > ul > li:has(img) {
  padding-left: 28px;
  position: relative;
}
.benefits .et_pb_text_inner > ul > li:has(+ li) {
  margin-bottom: 8px;
}
.benefits .et_pb_text_inner > ul > li img {
  position: absolute;
  left: 0;
  top: 0;
}
.benefits .et_pb_text_inner > ul ul {
  padding-left: 24px;
  padding-bottom: 0;
}
.et_pb_blurb:is(.team-card, .career-blurb) .et_pb_main_blurb_image,
.et_pb_blurb:is(.team-card, .career-blurb) .et_pb_main_blurb_image img {
  width: 100%;
  object-fit: cover;
  margin-bottom: 0;
}
.et_pb_blurb:is(.team-card, .career-blurb) .et_pb_blurb_container {
  padding: 16px;
}
.et_pb_blurb:is(.team-card, .career-blurb) .et_pb_main_blurb_image {
  width: 100%;
  margin: 0;
}
#partners .et_pb_column {
  display: flex;
  flex-direction: column;
}
#partners .et_pb_text {
  flex: 1;
}
#partners .title-blurb .et_pb_main_blurb_image {
  width: fit-content;
}
.et_pb_blurb_content {
  max-width: 100%;
}
.gallery .et_pb_image_wrap {
  overflow: hidden;
}
.gallery img {
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
}
.gallery img:hover {
  transform: scale(1.2);
  transition: all 0.2s ease;
}
.dipi-carousel-image {
  width: 100%;
}
#page-container .swiper-pagination-bullet {
  border-radius: 100px;
  transition: width 0.3s ease;
}
#page-container .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 32px;
  transition: width 0.3s ease;
}
@media (max-width: 1574px) {
}
@media (min-width: 1575px) {
}
@media (max-width: 980px) {
  .reverse-m {
    display: flex;
    flex-direction: column-reverse;
    gap: 32px;
  }
  .reverse-m .et_pb_column {
    margin-bottom: 0;
  }
  #mega-menu-wrap-primary-menu
    .mega-menu-toggle.mega-menu-open
    + #mega-menu-primary-menu {
    padding-top: var(--menu-close-height);
  }
  #mega-menu-wrap-primary-menu .mega-menu-toggle ~ button.mega-close {
    width: 0;
    max-width: 0;
    opacity: 0;
    transition: all 0.3s ease;
  }
  #mega-menu-wrap-primary-menu
    .mega-menu-toggle.mega-menu-open
    ~ button.mega-close {
    left: 0;
    opacity: 1;
    width: 100vw;
    height: var(--menu-close-height);
    max-width: 300px;
    justify-content: space-between;
    flex-direction: row-reverse;
    background: var(--menu-close-background);
    transition: all 0.3s ease;
  }
  #mega-menu-wrap-primary-menu .mega-menu-toggle ~ button.mega-close:before {
    width: var(--menu-close-height);
    height: var(--menu-close-height);
    font-size: var(--menu-close-font);
  }
  #mega-menu-wrap-primary-menu .mega-menu-toggle ~ button.mega-close:after {
    content: var(--menu);
    display: flex;
    align-items: center;
    margin-left: 24px;
    font-weight: 700;
    color: var(--menu-close-color);
    font-size: var(--menu-close-font);
  }
  #header-new .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a {
    color: #141414 !important;
    background-color: #00000008;
  }
  #header-new .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before,
  #header-new
    .et_pb_menu_0_tb_header
    .et_pb_menu__icon.et_pb_menu__search-button,
  #header-new
    .et_pb_menu_0_tb_header
    .et_pb_menu__icon.et_pb_menu__close-search-button,
  #header-new
    .et_pb_menu_0_tb_header
    .et_pb_menu__icon.et_pb_menu__cart-button {
    color: #fff;
  }
  #main-content .padding-right,
  #main-content .padding-left {
    padding-right: 0;
    padding-left: 0;
  }
  #hero-new {
    display: block;
  }
}
@media (max-width: 768px) {
  .et_pb_button {
    width: 100%;
    text-align: center;
  }
  .square-image.mobile {
    height: calc(100vw - (var(--special) * 2));
  }
  #header-new .et_pb_column {
    gap: 0;
  }
  #et-boc #main-content .et_pb_module.dipi_button_grid_child {
    margin: 0;
    width: 100%;
  }
  #et-boc
    #main-content
    .et_pb_module.dipi_button_grid_child:has(+ .dipi_button_grid_child) {
    margin-bottom: 16px !important;
  }
  .title-blurb .et_pb_blurb_content {
    flex-direction: column;
    align-items: flex-start;
  }
  .title-blurb.et_pb_blurb_position_left .et_pb_blurb_container {
    padding: 0;
  }
}
@media (min-width: 769px) {
  .et_pb_column_1_3 .square-image {
    height: calc((100vw - (var(--special) * 2)) * 0.3133);
  }
  .et_pb_column_1_2 .square-image {
    height: calc((100vw - (var(--special) * 2)) * 0.4725);
  }
  .et_pb_column_1_4 .square-image {
    height: calc((100vw - (var(--special) * 2)) * 0.2087);
  }
  .two-col-text .et_pb_text_inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .team-card {
    width: calc(50% - 12px);
    flex: 0 0 calc(50% - 12px);
  }
}
@media (min-width: 981px) {
  .v-align {
    display: flex;
    align-items: center;
  }
  .flex-row .et_pb_column {
    display: flex;
    gap: 24px;
  }
  .flex-row.bottom .et_pb_column {
    align-items: flex-end;
  }
  .flex-row.center .et_pb_column {
    align-items: center;
  }
  .flex-1 {
    flex: 1;
  }
  .align-center .et_pb_column {
    align-items: center;
  }
  .align-bottom .et_pb_column {
    align-items: flex-end;
  }
  .space-between .et_pb_column {
    justify-content: space-between;
  }
  .fullheight-image,
  .fullheight-image .et_pb_image_wrap,
  .fullheight-image img {
    height: 100%;
    object-fit: cover;
  }
  .v-align-2 {
    display: flex;
    align-items: stretch;
  }
  #main-content .padding-right {
    padding-right: var(--special, 10vw);
  }
  #main-content .padding-left {
    padding-left: var(--special, 10vw);
  }
  #copyright .et_pb_column {
    display: flex;
    justify-content: space-between;
    gap: 16px;
  }
  .team-card {
    width: calc(33.33% - 16px);
    flex: 0 0 calc(33.33% - 16px);
  }
  .benefits .et_pb_text_inner ul {
    flex: 0 0 49%;
  }
}
/*Mobile menu*/
@media (max-width: 980px) {
  .et_pb_menu {
    flex: 1;
    padding-left: 16px;
  }
  #mobile_menu1 {
    position: fixed;
    left: 0;
    top: 0;
    max-width: 360px;
    width: 75vw;
    padding: 0;
    border: none;
    height: 100vh;
    padding-top: 72px;
    overflow: auto;
  }
  .closed #mobile_menu1 {
    margin: 0;
  }

  #mobile_menu1:before {
    content: "MENU";
    position: absolute;
    top: 0px;
    left: 0;
    width: 312px;
    max-width: calc(75vw - 48px);
    height: 72px;
    display: flex;
    align-items: center;
    padding: 0 24px;
    background: #141414;
    font-weight: 700;
    pointer-events: none;
  }
  #mobile_menu1:after {
    position: absolute;
    top: 14px;
    right: 24px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 10px 16px;
    font-size: 22px;
    line-height: 22px;
    border-radius: 4px;
    border: 1px solid #141414;
    pointer-events: none;
  }
  body:has(#wpadminbar) #mobile_menu1 {
    top: 32px;
  }
  .et_mobile_menu .menu-item-has-children > a {
    font-weight: 400;
  }
  .current-menu-item > a {
    font-weight: 700;
  }
  .mobile_nav.opened .mobile_menu_bar:after {
    content: "";
    height: 100vh;
    width: 100vw;
    position: fixed;
    z-index: 9999;
    backdrop-filter: blur(5px);
    right: 0;
  }

  .et_pb_menu--style-left_aligned.et_pb_text_align_right
    .et_pb_menu__wrap:has(.mobile_nav.opened) {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    max-width: 312px;
  }
  #mobile_menu1 > li {
    border-bottom: 1px solid #cedae0;
  }

  #mobile_menu1 > li .sub-menu a {
    text-transform: none;
  }
  #menu-mobile .current-menu-item > a {
    opacity: 1;
  }
  #mobile_menu1 .sub-menu,
  #mobile_menu1 .sub-menu li {
    padding: 0;
  }
  #mobile_menu1 .sub-menu li a {
    padding-left: 32px;
  }
  .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before,
  .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button,
  .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button,
  .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
    color: #fff;
  }
}
