@media only screen and (max-width: 1050px) {
  .page-container .page-body-container.two-column {
    display: none;
  }
}

.page-container .two-column .page-intro-content,
.page-container .two-column .page-body-content {
  flex-direction: row;
  align-items: flex-start;
  padding-bottom: 65px;
}

.page-container.reverse-column-order .two-column .page-intro-content,
.page-container.reverse-column-order .two-column .page-body-content {
  flex-direction: row-reverse;
}

.page-container .two-column .page-body-content {
  padding-bottom: 0;
}

@media only screen and (max-width: 1560px) {
  .page-container .two-column .page-intro-content,
  .page-container .two-column .page-body-content {
    max-width: calc(100% - 60px);
  }
}

@media only screen and (max-width: 1200px) {
  .page-container .two-column .page-intro-content {
    max-width: 100%;
    padding: 60px 30px 0;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .two-column .page-intro-content {
    flex-direction: column;
    padding: 60px 0 60px;
  }

  .page-container.reverse-column-order .two-column .page-intro-content,
  .page-container.reverse-column-order .two-column .page-body-content {
    flex-direction: column;
  }
}

@media only screen and (max-width: 750px) {
  .page-container .two-column .page-intro-content {
    flex-direction: column;
    padding: 60px 0 30px;
  }
}

.page-container .page-intro-container.two-column .mobile {
  display: none;
}

@media only screen and (max-width: 1050px) {
  .page-container .page-intro-container.two-column .mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 60px 30px 120px;
    background: #fff;
  }

  .page-container .page-intro-container.two-column .mobile > * {
    max-width: 750px;
  }
}

@media only screen and (max-width: 550px) {
  .page-container .page-intro-container.two-column .mobile {
    padding: 60px 0 120px;
  }
}

.page-container .two-column .page-intro-content .page-intro-column-1,
.page-container .two-column .page-body-content .page-body-column-1  {
  height: 100%;
  max-width: 1200px;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  z-index: 1;
  background-image: none;
  flex: 1;
  width: 45%;
}

@media only screen and (max-width: 1200px) {
  .page-container .two-column .page-intro-content .page-intro-column-1 {
    padding-bottom: 35px;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .two-column .page-intro-content .page-intro-column-1,
  .page-container .two-column .page-body-content .page-body-column-1,
  .page-template-page-win-pro .page-container .two-column .page-intro-content .page-intro-column-1,
  .page-template-page-win-pro .page-container .two-column .page-body-content .page-body-column-1  {
    width: 100%;
  }

  .page-container .two-column .page-intro-content .page-intro-column-1 {
    padding-bottom: 0;
    align-items: center;
  }
}


@media only screen and (max-width: 1050px) {
  .page-container .page-body-container.two-column {
    display: none;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .two-column .page-intro-content {
    flex-direction: column;
    padding: 60px 0 30px;
  }

  .page-container.reverse-column-order .two-column .page-intro-content,
  .page-container.reverse-column-order .two-column .page-body-content {
    flex-direction: column;
  }
}

@media only screen and (max-width: 550px) {
  .page-container .two-column .page-intro-content {
    flex-direction: column;
    padding: 60px 0 0;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .page-intro-container.two-column .mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 60px 30px 120px;
    background: #fff;
  }

  .page-container .page-intro-container.two-column .mobile > * {
    max-width: 750px;
  }
}

@media only screen and (max-width: 550px) {
  .page-container .page-intro-container.two-column .mobile {
    padding: 60px 0 120px;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .two-column .page-intro-content .page-intro-column-1,
  .page-container .two-column .page-body-content .page-body-column-1,
  .page-template-page-win-pro .page-container .two-column .page-intro-content .page-intro-column-1,
  .page-template-page-win-pro .page-container .two-column .page-body-content .page-body-column-1  {
    width: 100%;
  }

  .page-container .two-column .page-intro-content .page-intro-column-1 {
    padding-bottom: 0;
    align-items: center;
  }
}

.page-container .fake-column-2-container-outer {
  padding: inherit;
  width: 100%;
  flex: 1;
}

.page-container .fake-column-2-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 60px 60px 50px;
  box-shadow: rgba(23, 40, 94, 0.08) 0px 4px 24px;
  flex: 1;
}

@media only screen and (min-width: 1051px) {

  .page-container .fake-column-2-container-outer {
    position: absolute;
    right: 60px;
    width: calc(55% - 60px);
    /*
      this was causing the form to overlap the footer in tablet landscape
      so using padding-top: 60px instead
    */
    /* top: 60px; */

    top: 0;
    padding-top: 60px;

  }
}

.page-container .fake-column-2-container-outer {
  padding: inherit;
  width: 100%;
  flex: 1;
}

.page-container .fake-column-2-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 60px;
  box-shadow: rgba(23, 40, 94, 0.08) 0px 4px 24px;
  flex: 1;
}

@media only screen and (min-width: 1051px) {

  .page-container .fake-column-2-container-outer {
    position: absolute;
    right: 30px;
    width: calc(55% - 30px);
    /*
      this was causing the form to overlap the footer in tablet landscape
      so using padding-top: 60px instead
    */
    /* top: 60px; */

    top: 0;
    padding-top: 60px;

  }
}

@media only screen and (min-width: 1201px) {

  .page-container .fake-column-2-container-outer {
    position: absolute;
    right: 0;
    z-index: 1;
    width: 55%;
    top: 0;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
  }

  .page-container.reverse-column-order .fake-column-2-container-outer {
    right: inherit;
    left: 0;
  }

  .page-container .fake-column-2-container {
    background-color: #fff;
  }
}

@media only screen and (max-width: 1200px) {
  .page-container .fake-column-2-container {
    padding: 0;
  }

  .page-container .fake-column-2-container .fake-column-2-content {
    background-color: #fff;
    padding: 40px;
  }
}

@media only screen and (max-width: 1050px) {

  .page-container .fake-column-2-container-outer {
    padding: 0;
  }

  .page-container .fake-column-2-container {
    padding: 0 30px 0;
    align-items: center;
  }

  .page-container .fake-column-2-container .fake-column-2-content {
    max-width: 690px;
    width: 100%;
    margin-top: -90px;
    z-index: 1;
    box-shadow: rgba(23, 40, 94, 0.08) 0px 4px 24px;
  }
}

@media only screen and (max-width: 550px) {
  .page-container .fake-column-2-container .fake-column-2-content {
    padding: 40px 30px 30px;
  }
}

.page-container .flex-row-item-blank {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 60px 60px 50px;
  width: 55%;
}

.page-intro-column-1 > p.body-copy-18,
.page-intro-column-1 .page-intro-column-1-wrapper > p.body-copy-18 {
  padding: 0 30px 25px;
}

.page-intro-column-1 > p.body-copy-18:last-of-type,
.page-intro-column-1 .page-intro-column-1-wrapper > p.body-copy-18:last-of-type {
  padding-bottom: 0;
}

@media only screen and (max-width: 1050px) {
  .page-container .flex-row-item-blank {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  .page-container .page-intro-container .content-container {
    padding: 60px 30px;
  }
}

@media only screen and (min-width: 1051px) {
  .page-container .content-container p {
    padding-right: 60px;
  }
  .page-container .page-intro-container .content-container > p:last-of-type {
    padding-bottom: 0;
  }
  .page-container .page-intro-container.two-column .content-container .page-container-copy.mobile {
    display: none;
  }
}

@media only screen and (max-width: 1200px) {
  .page-container .page-intro-container.two-column .content-container .page-container-copy.mobile p:last-of-type {
    padding-bottom: 0;
  }
}

.page-container .header-text-header.no-page-intro {
    padding-bottom: 25px;
}

@media only screen and (max-width: 1200px) {
  .page-container .header-text-header.no-page-intro {
      padding-bottom: 50px;
  }
}

@media only screen and (max-width: 1050px) {
  .page-container .header-text-header {
      max-width: 810px;
      padding: 0 60px 30px;
  }

  .page-intro-column-1 > p.body-copy-18,
  .page-intro-column-1 .page-intro-column-1-wrapper > p.body-copy-18 {
    max-width: 810px;
  }

  .page-intro-column-1 > p.body-copy-18,
  .page-intro-column-1 .page-intro-column-1-wrapper > p.body-copy-18 {
    padding-left: 60px;
    padding-right: 60px;
  }

  .page-container .header-text-header.no-page-intro {
      padding: 0 60px 60px;
  }
}

@media only screen and (max-width: 550px) {
  .page-container .header-text-header {
      padding: 0 30px 30px;
  }

  .page-intro-column-1 > p.body-copy-18,
  .page-intro-column-1 .page-intro-column-1-wrapper > p.body-copy-18 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .page-container .header-text-header.no-page-intro {
      padding: 0 30px 60px;
  }
}

/* this should eventually move to the recursive CSS file but I don't want to tackle site-wide testing right now */
.body-copy-18 {
  padding: 0 30px 25px;
}

.formidable-form .with_frm_style .frm_message p {
  text-align: left;
}

/* this ensures space between the 2 column section at the top and the flexible layout items that might follow it in tablet and mobile */
body:not(.page-template-page-promo-landing-page) .page-container:nth-of-type(3) {
    padding-top: 30px;
}

#page > .page-container[data-element="2-column"] ~ .page-container:last-of-type .page-body-content {
    padding-bottom: 0;
}

/* Text Links */
.small-link-primary,
.large-link-primary {
  padding: 0 30px 20px;
}

/* Mini Social Proof */
.mini-social-proof .logo-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0 -15px;
    padding: 0 30px 0;
    max-width: 420px;
}

.mini-social-proof .logo-container img {
    width: 50%;
    height: 100%;
    padding: 15px;
}

@media only screen and (max-width: 1200px) {
  .mini-social-proof .logo-container img {
      width: 50%;
      padding: 20px;
  }
}

@media only screen and (max-width: 500px) {
  .mini-social-proof .logo-container img {
      width: 50%;
      padding: 20px;
  }
}

/* Side Rail */
.page-container .two-column.side-rail .page-intro-content,
.page-container .two-column.side-rail .page-body-content {
  max-width: 1200px;
}

@media only screen and (max-width: 1200px) {
  .page-container .two-column.side-rail .page-intro-content,
  .page-container .two-column.side-rail .page-body-content {
      align-items: center;
      flex-direction: column;
  }

  .page-container .two-column.side-rail .page-intro-content {
      padding: 60px 0 60px;
  }

  #page > .page-container[data-element="2-column"] .two-column.side-rail .page-body-content {
      padding-top: 120px;
      padding-bottom: 0;
  }
}

.page-container .two-column.side-rail .page-intro-content .page-intro-column-1,
.page-container .two-column.side-rail .page-body-content .page-body-column-1 {
  width: 380px;
  min-width: 380px;
  max-width: inherit;
  flex: inherit;
}

.page-container .two-column.side-rail .pre-body > *:last-child {
  padding-bottom: 0;
}

@media only screen and (max-width: 1200px) {
  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .mini-social-proof {
    display: none;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .mobile {
    background: none;
    padding-top: 30px;
    padding-bottom: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 20px 30px 80px;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .mobile * {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    max-width: 750px;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .mobile *:last-child {
    padding-bottom: 0;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .mobile h1.no-page-intro {
    padding: 0 60px 0;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 .pre-body {
    display: none;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1,
  .page-container .two-column.side-rail .page-body-content .page-body-column-1 {
    width: 100%;
    max-width: 690px;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 {
    padding-bottom: 0;
    align-items: center;
  }

  .page-container .two-column.side-rail .page-body-content .page-body-column-1 {
    width: 100%;
    max-width: 750px;
    padding: 0 30px 10px;
    margin-top: 0;
  }
}

.page-container .two-column.side-rail .page-intro-content .page-intro-column-1 + .flex-row-item-blank,
.page-container .two-column.side-rail .page-intro-content .page-intro-column-1 + .flex-row-item-blank + .fake-column-2-container-outer,
.page-container .two-column.side-rail .page-body-content .page-body-column-1 + .flex-row-item-blank {
  flex: inherit;
  width: 820px;
}

@media only screen and (max-width: 1200px) {

  .page-container .two-column.side-rail .flex-row-item-blank {
      display: none;
  }

  .page-container .two-column.side-rail .fake-column-2-container-outer {
    padding: 0;
    position: inherit;
    right: inherit;
    top: inherit;
  }

  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 + .flex-row-item-blank,
  .page-container .two-column.side-rail .page-intro-content .page-intro-column-1 + .flex-row-item-blank + .fake-column-2-container-outer,
  .page-container .two-column.side-rail .page-body-content .page-body-column-1 + .flex-row-item-blank {
    width: 100%;
  }
}

.page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer {
  min-height: inherit !important;
}

.page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > h1.no-page-intro {
    padding-bottom: 55px;
}

.page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > h1,
.page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > p {
  padding-left: 0;
  padding-right: 0;
}

.page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > p {
  padding-bottom: 35px;
}

@media only screen and (max-width: 1200px) {

  .page-container .side-rail .fake-column-2-container {
    padding: 0 30px 0;
    align-items: center;
  }

  .page-container .side-rail .fake-column-2-container .fake-column-2-content {
    margin-top: 0;
    margin-bottom: -120px;
    width: 100%;
    max-width: 690px;
    z-index: 1;
    box-shadow: rgba(23, 40, 94, 0.08) 0px 4px 24px;
  }

  .page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > h1,
  .page-container .two-column.side-rail .page-intro-content .fake-column-2-container-outer .fake-column-2-content > p {
    display: none;
  }

  .page-container .two-column.side-rail {
      display: flex;
  }
}

.page-container .two-column.side-rail .page-body-content .page-body-column-1 .mobile {
  display: none;
}

@media only screen and (max-width: 1200px) {
  .page-container .two-column.side-rail .page-body-content .page-body-column-1 .mobile {
    display: flex;
  }

  .page-container .two-column.side-rail .page-body-content .page-body-column-1 .mobile > *:last-child {
    border-bottom: 1px solid #D0D7E8;
    padding-bottom: 55px;
    margin-bottom: 55px;
  }
}

/* Horizontal Rule */
@media only screen and (max-width: 1200px) {
  .horizontal-rule {
    padding: 0;
  }
}

/* CTA Block */
body:not(.page-template-page-promo-landing-page) .page-container[data-element="cta"] {
    padding: 0;
}

.cta-outer-padding {
  padding-top: 0;
}
