/*
Theme Name: MPP2026
Theme URI: 
Author: Zeal40 Web Development
Author URI: 
Description: This is a custom block theme developed by Zeal40 for Midwest Payment Processing
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.6.6
Text Domain: mpp2026
Tags: 
*/

/**
* Global px to rem reset
*/

html {
  /* Sets 1rem = 10px */
  font-size: 62.5%;
  scroll-behavior: smooth;
}

.wp-site-blocks {
  overflow: hidden;
}
body {
  /* Resets the body text back to a readable size (usually 1.6rem = 16px) */
  font-size: 1.7rem;
  line-height: 1.5;
}

h2.mixed-h2 {
  font-size: 3rem;
  font-family: "Barlow";
  margin-bottom: 2rem;
  text-transform: uppercase;
  line-height: 1.6;
}
h2.mixed-h2.white {
  color: #fff;
}

.overflow-hidden {
  overflow: hidden;
}

.mixed-h2 em {
  font-family: "lakeside", cursive;
  font-size: 8rem;
  line-height: 0;
  text-transform: lowercase;
  /* padding: 0 0.5rem; */
  font-weight: 400;
  letter-spacing: 0;
}

.mixed-h2.m-right-1 em {
  margin-right: 1rem;
}

.mixed-h2.m-right-2 em {
  margin-right: 2rem;
}

.mixed-h2.m-right-3 em {
  margin-right: 3rem;
}

.theme-blue-dark {
  color: #263753;
}
.pre-header-blurb {
  display: inline-block;
}
.numbered-bullet {
  padding: 0;
  aspect-ratio: 1 / 1;
  height: 6.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.link-no-underline a {
  text-decoration: none;
}

.link-no-underline a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* navigation */
/* Add a smooth transition to all nav links */
.wp-block-navigation .wp-block-navigation-item__content {
  /* transition: all 0.3s ease-in-out; */
  border-bottom: 1px solid #c8243900;
  padding: 0.5rem 0;
  transition: border-color 0.3s;
}

/* footer */
footer {
  margin-top: 2rem;
}
.footer-quick-links a,
.footer-copyright a {
  text-decoration: none;
}
.footer-quick-links a:hover,
.footer-copyright a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-copyright a {
  color: #000;
}

/* Optional: Add a custom hover effect like a slight lift */
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation
  .wp-block-navigation-item.current-menu-item
  .wp-block-navigation-item__content {
  /* transform: translateY(-2px);
    opacity: 0.8; */
  border-color: #c82439ff;
}

/* buttons */
.button-red a,
.button-blue-sky a,
.button-red-blue a,
.button-blue-red a {
  transition: all 0.25s ease;
}
.button-red a:hover {
  background-color: #fff;
  color: #c82439;
}

.button-blue-sky a {
  background-color: #27aae1;
}

.button-blue-sky a:hover {
  background-color: #fff;
  color: #27aae1;
}
.button-red-blue a:hover {
  background-color: #263753;
  color: white;
}

.button-blue-red a {
  background-color: #263753;
}
.button-blue-red a:hover {
  background-color: #c82439;
}

/* width utilities */
.max-w-926 {
  max-width: 92.6rem;
}
.max-w-736 {
  max-width: 73.6rem;
}
.max-w-616 {
  max-width: 61.6rem;
}
.max-w-714-7perc {
  max-width: calc(714px - 7%);
}
.max-w-500 {
  max-width: 50rem;
}
.max-w-480 {
  max-width: 480px;
}
.max-w-7 {
  max-width: 7rem;
}
.max-w-6 {
  max-width: 6rem;
}
.full-width,
.full-width img {
  width: 100%;
}
.full-height,
.full-height img {
  height: 100%;
  width: auto;
}
/* text decoration utilities */
.underline-gap-med a {
  transition: all 0.15s ease-out;
  text-underline-offset: 0.9rem;
}

.underline-gap-med a:hover {
  text-underline-offset: 0.6rem;
}

/* pattern background helpers */
.relative {
  position: relative;
}
#relationship-driven-photo-column {
  position: relative;
  overflow: visible;
}
#relationship-driven-photo-column .wp-block-cover {
  z-index: 1;
}
#relationship-driven-columns {
  z-index: 2;
  position: relative;
}
#relationship-driven-pattern {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: url("/wp-content/themes/mpp2026/assets/images/patterns/mpp-pattern-tan.png");
  background-size: cover;
}

.background-263753 {
  background-color: #263753;
}
.background-white {
  background-color: #fff;
}

.pattern-element {
  position: absolute;
  width: 100%;
}
.pattern-element.half {
  position: absolute;
  width: 50%;
}
.pattern-element.right {
  right: 0;
}
.pattern-element.left {
  left: 0;
}
.pattern-element.top {
  top: 0;
}
.pattern-element.bottom {
  right: 0;
}

/* borders */
.border-left.white.px1 {
  border-left: 1px solid #fff;
}

/* interactive elements */
.complexity-grid-cell {
  transform: translateY(0);
  transition: all 0.2s ease-out;
  /* cursor: pointer; */
  position: relative;
  justify-content: space-between;
}
.complexity-grid-cell:hover {
  transform: translateY(-1.6rem);
}

.stack-link a {
  display: none;
  color: transparent;
  background-color: transparent;
  position: absolute;
  inset: 0;
  z-index: 10;
}

.arrow-slide-right {
  width: 100%;
  background-color: #e9ded400;
  transition: background-color 0.25s ease;
  position: relative;
}

.arrow-slide-right::before {
  content: " ";
  display: block;
  position: absolute;
  inset: 0;
  background-image: url("./assets/images/right-slide-arrow.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 50% 0;
  opacity: 0;
}
.arrow-slide-right:hover {
  background-color: #e9ded4ff;
}
@keyframes arrow-slide-right-bg {
  0% {
    opacity: 0;
    background-position: 50% 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    background-position: 70% 0;
  }
}

.arrow-slide-right:hover::before {
  animation: arrow-slide-right-bg 0.5s forwards;
}

.industries-icon {
  max-width: 5.2rem;
  width: 100%;
}

/* Sliders */
/* adjust the height of this slider is the content is running over or getting cropped */
#quote-keen-slider {
  height: 240px;
  flex-direction: initial !important;
  gap: 0 !important;
}

.navigation-wrapper {
  position: relative;
  padding: 0 3.5%;
}

.navigation-wrapper .dots {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  justify-content: center;
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
  gap: 0.8rem;
}

.navigation-wrapper .dot {
  border: none;
  width: 9px;
  height: 9px;
  background: #263753;
  border-radius: 50%;
  margin: 0 5px;
  padding: 5px;
  cursor: pointer;
}

.navigation-wrapper .dot:focus {
  outline: none;
}

.navigation-wrapper .dot--active {
  background: #fff;
}

#logo-keen-slider .keen-slider__slide .wp-block-image {
  display: flex;
  justify-content: center;
}

/* Keen slider */
.keen-slider:not([data-keen-slider-disabled]) {
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  align-content: flex-start;
  display: flex;
  overflow: hidden;
  position: relative;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -khtml-user-select: none;
  width: 100%;
}
.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide {
  min-height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
  flex-direction: row-reverse;
}
.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
  flex-wrap: wrap;
}
/* End sliders */
.statement-review-desktop-button {
  display: block !important;
}
.statement-review-mobile-button {
  display: none !important;
}

/*
* Contact form styles
*/
.talk-to-a-specialist-form {
  position: relative;
  padding: 7rem 0 0;
}

#gform_4 .gform-body input,
#gform_4 .gform-body textarea {
  background-color: #fff;
}
.talk-to-a-specialist-form .file-upload-section {
  background-color: #ead9ce;
  text-align: center;
  padding: 4rem 3rem;
  border-radius: 4px;
}

.talk-to-a-specialist-form .gform-body {
  padding: 0 7rem 2rem;
}

.talk-to-a-specialist-form #gform_fields_4 {
  row-gap: 1.5rem;
}

.talk-to-a-specialist-form .file-upload-section label {
  justify-content: center;
}
.gform-theme--framework
  input[type="file"]:where(
    :not(.gform-theme__disable):not(.gform-theme__disable *):not(
        .gform-theme__disable-framework
      ):not(.gform-theme__disable-framework *)
  )::file-selector-button {
  background-color: #f5eee8 !important;
  cursor: pointer;
}

.talk-to-a-specialist-form .gform-footer {
  background-image: url(/wp-content/uploads/2026/05/contact-submit-pattern-white.webp);
  background-position: center;
  margin-top: 0;
  padding: 3rem 7rem;
  width: 100%;
}
.talk-to-a-specialist-form .gform-footer #gform_submit_button_1 {
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  text-transform: uppercase;
}

.talk-to-a-specialist-form .gform-footer #gform_submit_button_1:hover {
  background-color: #263753;
}

#gform_preview_4_6 .gfield_fileupload_progressbar_progress {
  left: 0;
}

.form-seperator-line {
  width: 100%;
}


/* Responsive styling */
@media (max-width: 599px) {
  #navigation-wrap {
    background-color: #f5eee8;
  }
}

@media (max-width: 781px) {
  /* Mobile Menu */
  #header-wrap {
    padding: 0 !important;
  }
  #header-content-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0 !important;
  }
  #logo-wrap {
    padding: 3.5% 0;
    justify-content: center;
  }
  #logo-wrap .site-logo {
    text-align: center;
  }
  #navigation-wrap {
    padding: 1.5rem;
    justify-content: flex-end !important;
  }
  #navigation-wrap .wp-block-navigation__responsive-container-open {
    color: #263753;
  }
  #navigation-wrap .wp-block-navigation__responsive-container-open svg {
    transform: scale(2.25, 1.5);
  }
  #navigation-wrap .wp-block-navigation__responsive-container {
    background-color: #f5eee8;
    bottom: initial;
    padding-bottom: 3rem;
  }
  #navigation-wrap
    .wp-block-navigation__responsive-container.is-menu-open
    .wp-block-navigation__responsive-container-content {
    align-items: center;
  }
  .wp-block-navigation:not(.has-text-color)
    .wp-block-navigation__responsive-container.is-menu-open {
    color: #263753;
  }

  /* End Mobile Menu */
  #header-content-column {
    padding-top: 20rem !important;
  }
  #hero-cover-image .wp-block-cover__background {
    background: linear-gradient(
      0deg,
      rgb(1, 1, 1) 23%,
      rgba(204, 204, 204, 0) 65%
    ) !important;
  }
  #relationship-driven-pattern {
    width: 100% !important;
    height: 100% !important;
  }
  .mobile-feature-image-column {
    height: 25rem;
  }
  .mobile-feature-image-column.x2 {
    height: 50rem;
  }
  .mobile-hidden-column,
  .mobile-hidden {
    display: none;
  }
  .mobile-padding-bottom.rem0 {
    padding-bottom: 0rem !important;
  }
  .mobile-padding-bottom.rem2 {
    padding-bottom: 2rem !important;
  }
  .mobile-padding-bottom.rem4 {
    padding-bottom: 4rem !important;
  }
  .mobile-padding-top.rem0 {
    padding-top: 0rem !important;
  }
  .mobile-margin-top.rem1 {
    margin-top: 1rem !important;
  }
  .mobile-margin-bottom.rem4 {
    margin-bottom: 4rem !important;
  }
  .mobile-column-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    padding: 0 3.5%;
  }
  .mobile-column-gridx2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 3.5%;
  }
  .button-wrap-center {
    justify-content: center;
    align-items: center;
    padding: 2rem !important;
  }
  .button-wrap-left {
    justify-content: flex-start;
    align-items: flex-start;
    /* padding: 2rem !important; */
    padding-left: 0 !important;
  }
  #relationship-driven-group {
    /* padding-bottom: 0 !important; */
    padding: 6rem 3.5% !important;
  }
  .border-left.white.px1 {
    border-left: none;
    padding-left: 0 !important;
  }
  #testimonials {
    background-color: transparent !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  .navigation-wrapper .dots {
    /* right: 0.5rem; */
    display: none;
  }
  .bullet-columns {
    padding-left: 3.5% !important;
  }
  .statement-review-desktop-button {
    display: none !important;
  }
  .statement-review-mobile-button {
    display: block !important;
  }
  .industry-types-row,
  .mobile-padding-3_5 {
    padding-left: 3.5% !important;
    padding-right: 3.5% !important;
  }
  .mobile-padding-x-0 {
    padding-left: 0% !important;
    padding-right: 0% !important;
  }
  #partner-logos {
    max-width: 93%;
    padding-left: 3.5%;
    padding-right: 3.5%;
  }
  .reduce-complexity-cover-image img {
    object-position: 100% 50% !important;
  }
  #quote-keen-slider {
    height: auto;
  }
  .keen-slider__slide {
    background-color: #c82439;
    padding: 2.5rem 2rem;
    border-radius: 8px;
    margin-bottom: 2rem !important;
  }
  .testimonial-slide-quote {
    font-size: 2.5rem !important;
  }
  #reduce-complexity {
    padding-bottom: 34rem !important;
  }
  #reduce-complexity-col-1,
  .column-order-2 {
    order: 2;
  }
  #reduce-complexity-col-2,
  .column-order-1 {
    order: 1;
  }
  #footer-logo-column {
    text-align: center;
  }
  #footer-quicklinks-column {
    text-align: center;
  }
  #footer-quicklinks-stack {
    align-items: center;
  }
  #footer-social-column {
    text-align: center;
  }
  #footer-social-icons-row {
    justify-content: center;
  }
  /* Mobile contact form */
  .talk-to-a-specialist-form .gform-body {
    padding: 0 3.5% 5rem;
  }
  .talk-to-a-specialist-form .gform-footer {
    background-color: white;
    background-image: url(/wp-content/uploads/2026/04/contact-submit-pattern.webp);
    position: relative;
  }
  .talk-to-a-specialist-form .gform-footer #gform_submit_button_1 {
    width: 100%;
  }
}
@media (min-width: 600px) and (max-width: 1024px) {
  #header-content-row,
  .wp-block-navigation__responsive-container-content {
    justify-content: center !important;
  }
}
@media (min-width: 782px) and (max-width: 1080px) {
  .button-wrap-center {
    justify-content: center;
    align-items: center;
    padding: 3rem !important;
  }
  #relationship-driven-group {
    padding: 6rem 3.5% !important;
  }
  .mobile-column-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 0 3.5%;
  }
  .navigation-wrapper .dots {
    right: 0.5rem;
  }

  #partner-logos {
    max-width: 93%;
    padding-left: 3.5%;
    padding-right: 3.5%;
  }
}
