@charset "UTF-8";
/**
 * Flipbox: layout, effects, icon placement, text alignment (FE + VB).
 * Compiled to `assets/css/flipbox.css` for conditional enqueue; also imported by `style.scss` / `vb.scss`.
 */
.et-db #et-boc .dsm_flipbox_child.et_pb_module,
.et-db #et-boc .et-l #et-fb-app .dsm_flipbox_child.et_pb_module,
.dsm_flipbox_child.et_pb_module.et_pb_section_parallax {
  position: absolute !important;
  height: 100%;
}

/*iOS bug*/
.safari .dsm_flipbox,
.ios .dsm_flipbox {
  -webkit-transform: translate3d(0, 0, 0);
}

/* Safari Flickering bug*/
.uiwebview .dsm_flipbox_child .et_pb_section_video_bg,
.safari .dsm_flipbox_child .et_pb_section_video_bg {
  -webkit-transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}

/*New divi icon update*/
.dsm_flipbox_child .et_pb_button[data-icon]:not([data-icon=""]):after {
  content: attr(data-icon);
}

/*divi new update align text*/
.et_pb_text_align_left {
  text-align: left;
}

.et_pb_text_align_center {
  text-align: center;
}

.et_pb_text_align_right {
  text-align: right;
}

.et_pb_text_align_justified {
  text-align: justify;
}

.dsm-flipbox {
  position: relative;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

/* Keyboard focus when click + whole (tabindex on inner shell). */
.dsm-flipbox[tabindex="0"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.dsm_flipbox_child.et_pb_module {
  margin-bottom: 0 !important;
}

.dsm-flipbox-3d .dsm_flipbox_child .et_pb_module_inner {
  -webkit-transform: translateZ(90px) scale(0.91);
  transform: translateZ(90px) scale(0.91);
}

.dsm-flipbox-3d .dsm_flipbox_face_inner {
  -webkit-transform: translateZ(90px) scale(0.91);
  transform: translateZ(90px) scale(0.91);
}

.dsm-flipbox.dsm-flipbox-3d .dsm_flipbox_child {
  overflow: initial;
}

.dsm-flipbox.dsm-flipbox-3d {
  transform-style: preserve-3d;
}

.et-db #et-boc .dsm-flipbox-3d .dsm_flipbox_face_inner {
  -webkit-transform: translateZ(90px) scale(0.91);
  transform: translateZ(90px) scale(0.91);
}

.dsm_flipbox_child .et_pb_module_inner,
.et-db #et-boc .dsm_flipbox_child > div,
.dsm_flipbox_face_inner {
  width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.dsm_flipbox_child {
  display: flex;
  flex-direction: row;
  position: absolute !important;
  width: 100%;
  height: 100%;
  -webkit-transition: transform 0.6s ease-in-out;
  -o-transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  border-style: solid;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Text vertical alignment (D4: align-items on %%order_class%%; one flex child is .dsm_flipbox_face_inner). */
.dsm_flipbox_child.dsm_flipbox_content_vertical_top {
  align-items: flex-start;
}

.dsm_flipbox_child.dsm_flipbox_content_vertical_center {
  align-items: center;
}

.dsm_flipbox_child.dsm_flipbox_content_vertical_bottom {
  align-items: flex-end;
}

.dsm_flipbox_child .et_pb_button {
  text-shadow: none;
  text-decoration: none;
  display: inline-block;
  margin-top: 20px;
}

/*
 * Button alignment: wrapper is fit-content so margin-left/right: auto can position the block
 * inside the full-width text column; text-align on the same wrapper still aligns inline-block buttons.
 */
.dsm_flipbox_wrapper .et_pb_button_module_wrapper {
  width: fit-content;
  width: -moz-fit-content;
  max-width: 100%;
  box-sizing: border-box;
}

.dsm_flipbox_child.et_hover_enabled {
  -webkit-transition: transform 0.6s ease-in-out;
  -o-transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
}

/*Fade*/
.dsm-flipbox-fade .dsm_flipbox_child {
  -webkit-transition: opacity 0.6s ease-in-out;
  -o-transition: opacity 0.6s ease-in-out;
  transition: opacity 0.6s ease-in-out;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-fade .dsm_flipbox_child:first-child,
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-fade .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-fade .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-fade .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-fade .dsm_flipbox_child:nth-child(2),
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-fade .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-fade .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-fade .dsm_flipbox_child:first-child {
  opacity: 0;
}

.dsm-subtitle {
  display: block;
}

/*
 * Title + subtitle must span the text column width so Front/Back text → Text alignment (`text-align`) is visible.
 * Top icon layout used `align-items: center`, which shrink-wraps flex items so alignment matched content width only.
 */
.dsm_flipbox_wrapper .dsm-title,
.dsm_flipbox_wrapper .dsm-subtitle {
  box-sizing: border-box;
  width: 100%;
}

.dsm_flipbox_wrapper .dsm-title a {
  box-sizing: border-box;
  display: block;
  width: 100%;
}

/*
 * Design → Front/Back text → Text alignment (TextGroup) applies `et_pb_text_align_*` on `.dsm_flipbox_wrapper`.
 * Title/subtitle FontGroup can still emit `text-align` on `.dsm-title` / `.dsm-subtitle` (higher specificity than inheritance).
 * Mirror wrapper alignment onto those nodes so one control aligns the whole stack (matches body behavior).
 */
.dsm_flipbox_wrapper.et_pb_text_align_left .dsm-title,
.dsm_flipbox_wrapper.et_pb_text_align_left .dsm-title a,
.dsm_flipbox_wrapper.et_pb_text_align_left .dsm-subtitle {
  text-align: left;
}

.dsm_flipbox_wrapper.et_pb_text_align_center .dsm-title,
.dsm_flipbox_wrapper.et_pb_text_align_center .dsm-title a,
.dsm_flipbox_wrapper.et_pb_text_align_center .dsm-subtitle {
  text-align: center;
}

.dsm_flipbox_wrapper.et_pb_text_align_right .dsm-title,
.dsm_flipbox_wrapper.et_pb_text_align_right .dsm-title a,
.dsm_flipbox_wrapper.et_pb_text_align_right .dsm-subtitle {
  text-align: right;
}

.dsm_flipbox_wrapper.et_pb_text_align_justified .dsm-title,
.dsm_flipbox_wrapper.et_pb_text_align_justified .dsm-title a,
.dsm_flipbox_wrapper.et_pb_text_align_justified .dsm-subtitle {
  text-align: justify;
}

/*Zoom In*/
.dsm-flipbox-zoom-in .dsm_flipbox_child {
  -webkit-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-in .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-in .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-in .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-in .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

/*Zoom Out*/
.dsm_flipbox .dsm-flipbox-zoom .dsm_flipbox_child {
  -webkit-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out .dsm_flipbox_child:first-child {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out .dsm_flipbox_child:first-child {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}

/*Zoom Out Up*/
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-up .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-up .dsm_flipbox_child:first-child {
  animation: dsm-animation-zoom-out-up 0.6s linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out-up .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out-up .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-up .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-up .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

@-webkit-keyframes dsm-animation-zoom-out-up {
  50% {
    -webkit-transform: scale(0.8) translateY(0%);
    -moz-transform: scale(0.8) translateY(0%);
    -ms-transform: scale(0.8) translateY(0%);
    -o-transform: scale(0.8) translateY(0%);
    transform: scale(0.8) translateY(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateY(-150%);
    -moz-transform: scale(0.8) translateY(-150%);
    -ms-transform: scale(0.8) translateY(-150%);
    -o-transform: scale(0.8) translateY(-150%);
    transform: scale(0.8) translateY(-150%);
    opacity: 0;
  }
}
@keyframes dsm-animation-zoom-out-up {
  50% {
    -webkit-transform: scale(0.8) translateY(0%);
    -moz-transform: scale(0.8) translateY(0%);
    -ms-transform: scale(0.8) translateY(0%);
    -o-transform: scale(0.8) translateY(0%);
    transform: scale(0.8) translateY(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateY(-150%);
    -moz-transform: scale(0.8) translateY(-150%);
    -ms-transform: scale(0.8) translateY(-150%);
    -o-transform: scale(0.8) translateY(-150%);
    transform: scale(0.8) translateY(-150%);
    opacity: 0;
  }
}
/*Zoom Out Down*/
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-down .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-down .dsm_flipbox_child:first-child {
  animation: dsm-animation-zoom-out-down 0.6s linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out-down .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out-down .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-down .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-down .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

@-webkit-keyframes dsm-animation-zoom-out-down {
  50% {
    -webkit-transform: scale(0.8) translateY(0%);
    -moz-transform: scale(0.8) translateY(0%);
    -ms-transform: scale(0.8) translateY(0%);
    -o-transform: scale(0.8) translateY(0%);
    transform: scale(0.8) translateY(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateY(150%);
    -moz-transform: scale(0.8) translateY(150%);
    -ms-transform: scale(0.8) translateY(150%);
    -o-transform: scale(0.8) translateY(150%);
    transform: scale(0.8) translateY(150%);
    opacity: 0;
  }
}
@keyframes dsm-animation-zoom-out-down {
  50% {
    -webkit-transform: scale(0.8) translateY(0%);
    -moz-transform: scale(0.8) translateY(0%);
    -ms-transform: scale(0.8) translateY(0%);
    -o-transform: scale(0.8) translateY(0%);
    transform: scale(0.8) translateY(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateY(150%);
    -moz-transform: scale(0.8) translateY(150%);
    -ms-transform: scale(0.8) translateY(150%);
    -o-transform: scale(0.8) translateY(150%);
    transform: scale(0.8) translateY(150%);
    opacity: 0;
  }
}
/*Zoom Out Right*/
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-right .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-right .dsm_flipbox_child:first-child {
  animation: dsm-animation-zoom-out-right 0.6s linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out-right .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out-right .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-right .dsm_flipbox_child:nth-child(2),
.dsm_flipbox:hover .dsm_flipbox_clicked.dsm-flipbox-zoom-out-right .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

@-webkit-keyframes dsm-animation-zoom-out-right {
  50% {
    -webkit-transform: scale(0.8) translateX(0%);
    -moz-transform: scale(0.8) translateX(0%);
    -ms-transform: scale(0.8) translateX(0%);
    -o-transform: scale(0.8) translateX(0%);
    transform: scale(0.8) translateX(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateX(150%);
    -moz-transform: scale(0.8) translateX(150%);
    -ms-transform: scale(0.8) translateX(150%);
    -o-transform: scale(0.8) translateX(150%);
    transform: scale(0.8) translateX(150%);
    opacity: 0;
  }
}
@keyframes dsm-animation-zoom-out-right {
  50% {
    -webkit-transform: scale(0.8) translateX(0%);
    -moz-transform: scale(0.8) translateX(0%);
    -ms-transform: scale(0.8) translateX(0%);
    -o-transform: scale(0.8) translateX(0%);
    transform: scale(0.8) translateX(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateX(150%);
    -moz-transform: scale(0.8) translateX(150%);
    -ms-transform: scale(0.8) translateX(150%);
    -o-transform: scale(0.8) translateX(150%);
    transform: scale(0.8) translateX(150%);
    opacity: 0;
  }
}
/*Zoom Out Left*/
.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-left .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-left .dsm_flipbox_child:first-child {
  animation: dsm-animation-zoom-out-left 0.6s linear;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-zoom-out-left .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-zoom-out-left .dsm_flipbox_child:nth-child(2) {
  opacity: 0;
  transform: scale(0.8);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-zoom-out-left .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-zoom-out-left .dsm_flipbox_child:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

@-webkit-keyframes dsm-animation-zoom-out-left {
  50% {
    -webkit-transform: scale(0.8) translateX(0%);
    -moz-transform: scale(0.8) translateX(0%);
    -ms-transform: scale(0.8) translateX(0%);
    -o-transform: scale(0.8) translateX(0%);
    transform: scale(0.8) translateX(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateX(-150%);
    -moz-transform: scale(0.8) translateX(-150%);
    -ms-transform: scale(0.8) translateX(-150%);
    -o-transform: scale(0.8) translateX(-150%);
    transform: scale(0.8) translateX(-150%);
    opacity: 0;
  }
}
@keyframes dsm-animation-zoom-out-left {
  50% {
    -webkit-transform: scale(0.8) translateX(0%);
    -moz-transform: scale(0.8) translateX(0%);
    -ms-transform: scale(0.8) translateX(0%);
    -o-transform: scale(0.8) translateX(0%);
    transform: scale(0.8) translateX(0%);
    opacity: 0.5;
  }
  100% {
    -webkit-transform: scale(0.8) translateX(-150%);
    -moz-transform: scale(0.8) translateX(-150%);
    -ms-transform: scale(0.8) translateX(-150%);
    -o-transform: scale(0.8) translateX(-150%);
    transform: scale(0.8) translateX(-150%);
    opacity: 0;
  }
}
/*Slide*/
.dsm_flipbox [class^=dsm-flipbox-slide-],
.dsm_flipbox [class*=" dsm-flipbox-slide-"] {
  overflow: hidden;
}

.dsm_flipbox:hover [class^=dsm-flipbox-slide-].dsm_flipbox_hover .dsm_flipbox_child:nth-child(2),
.dsm_flipbox:hover [class*=" dsm-flipbox-slide-"].dsm_flipbox_hover .dsm_flipbox_child:nth-child(2),
.dsm_flipbox [class^=dsm-flipbox-slide-].dsm_flipbox_clicked .dsm_flipbox_child:nth-child(2),
.dsm_flipbox [class*=" dsm-flipbox-slide-"].dsm_flipbox_clicked .dsm_flipbox_child:nth-child(2) {
  transform: translate(0, 0);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-slide-up .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-slide-up .dsm_flipbox_child:nth-child(2) {
  transform: translateY(100%);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-slide-down .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-slide-down .dsm_flipbox_child:nth-child(2) {
  transform: translateY(-100%);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-slide-left .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-slide-left .dsm_flipbox_child:nth-child(2) {
  transform: translateX(100%);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-slide-right .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-slide-right .dsm_flipbox_child:nth-child(2) {
  transform: translateX(-100%);
}

/*Icon*/
.dsm_flipbox_child .dsm_flipbox_child_image_wrap {
  display: block;
  margin: auto;
}

.dsm_flipbox_child_image {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 30px;
  line-height: 0;
}

/*
 * Icon placement: Blurb-aligned table layout for left/right (D4 table-cell + Divi blurb side-icon rules).
 * Top placement keeps flex column on .dsm_flipbox_face_inner.
 */
.dsm_flipbox_face_inner {
  display: flex;
  box-sizing: border-box;
}

.dsm_flipbox_icon_position_top .dsm_flipbox_face_inner {
  flex-direction: column;
  align-items: center;
}

.dsm_flipbox_icon_position_top .dsm_flipbox_wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.dsm_flipbox_icon_position_left .dsm_flipbox_face_inner {
  display: table;
  width: 100%;
  table-layout: auto;
}

.dsm_flipbox_icon_position_right .dsm_flipbox_face_inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  width: 100%;
}

.dsm_flipbox_icon_position_left .dsm_flipbox_child_image {
  display: table-cell;
  width: 32px;
  margin-bottom: 0;
  line-height: 0;
  vertical-align: top;
}

.dsm_flipbox_icon_position_right .dsm_flipbox_child_image {
  display: block;
  flex: 0 0 32px;
  width: 32px;
  max-width: 32px;
  margin-bottom: 0;
  line-height: 0;
  box-sizing: border-box;
  overflow: hidden;
  text-align: center;
}

.dsm_flipbox_icon_position_left .dsm_flipbox_child_image_wrap,
.dsm_flipbox_icon_position_right .dsm_flipbox_child_image_wrap {
  display: block;
  margin: 0;
}

.dsm_flipbox_icon_position_left .dsm_flipbox_child_image_wrap img,
.dsm_flipbox_icon_position_right .dsm_flipbox_child_image_wrap img {
  max-width: 100%;
  height: auto;
}

.dsm_flipbox_icon_position_left .dsm_flipbox_wrapper {
  padding-left: 15px;
  text-align: left;
  display: table-cell;
  vertical-align: top;
  flex: unset;
  min-width: 0;
  width: auto;
}

.dsm_flipbox_icon_position_right .dsm_flipbox_wrapper {
  padding-right: 15px;
  text-align: right;
  flex: 1;
  min-width: 0;
  width: auto;
}

/* Match Divi Blurb: side-placed icons use 32px unless Design → Icon Font Size overrides via module styles. */
.dsm_flipbox_icon_position_left .et-pb-icon,
.dsm_flipbox_icon_position_right .et-pb-icon {
  font-size: 32px;
}

/*Hover*/
.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-right .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-right .dsm_flipbox_child:first-child {
  z-index: 1;
  transform: rotateX(0deg) rotateY(0deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-right .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-right .dsm_flipbox_child:first-child {
  transform: rotateX(0deg) rotateY(180deg);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-right .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-right .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(-180deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-right .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-right .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(0deg);
}

/*Left*/
.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-left .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-left .dsm_flipbox_child:first-child {
  z-index: 1;
  transform: rotateX(0deg) rotateY(0deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-left .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-left .dsm_flipbox_child:first-child {
  transform: rotateX(0deg) rotateY(-180deg);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-left .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-left .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(180deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-left .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-left .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(0deg);
}

/*Up*/
.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-up .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-up .dsm_flipbox_child:first-child {
  z-index: 1;
  transform: rotateX(0deg) rotateY(0deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-up .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-up .dsm_flipbox_child:first-child {
  transform: rotateX(180deg) rotateY(0);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-up .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-up .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(-180deg) rotateY(0);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-up .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-up .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(0deg);
}

/*Down*/
.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-down .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-down .dsm_flipbox_child:first-child {
  z-index: 1;
  transform: rotateX(0deg) rotateY(0deg);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-down .dsm_flipbox_child:first-child,
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-down .dsm_flipbox_child:first-child {
  transform: rotateX(-180deg) rotateY(0);
}

.dsm_flipbox .dsm_flipbox_hover.dsm-flipbox-effect-down .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_click.dsm-flipbox-effect-down .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(180deg) rotateY(0);
}

.dsm_flipbox:hover .dsm_flipbox_hover.dsm-flipbox-effect-down .dsm_flipbox_child:nth-child(2),
.dsm_flipbox .dsm_flipbox_clicked.dsm-flipbox-effect-down .dsm_flipbox_child:nth-child(2) {
  transform: rotateX(0deg) rotateY(0deg);
}

/*
 * Content → Settings → Automatic: content-driven height. PHP strips `module.decoration.sizing` height for this mode
 * so Design → Sizing does not fix `.dsm-flipbox` height. Grid stacks both faces in one cell; `position: relative`
 * overrides the default absolute faces so the row grows with the taller face.
 */
.et-db #et-boc .et_pb_module.dsm_flipbox .dsm-flipbox.dsm-flipbox--auto-height,
.et_pb_module.dsm_flipbox .dsm-flipbox.dsm-flipbox--auto-height,
.dsm-flipbox.dsm-flipbox--auto-height {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, auto);
  height: auto !important;
  min-height: 0;
  align-content: start;
}

.et-db #et-boc .dsm-flipbox.dsm-flipbox--auto-height > .dsm_flipbox_child.et_pb_module,
.et-db #et-boc .et-l #et-fb-app .dsm-flipbox.dsm-flipbox--auto-height > .dsm_flipbox_child.et_pb_module,
.dsm-flipbox.dsm-flipbox--auto-height > .dsm_flipbox_child {
  position: relative !important;
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto !important;
  min-height: 0;
}
