
/* banners not using standard callouts */

  /* full-width banners will have this taller height */
  
    .custom-banner-420, .banner.video-bnr .video-wpr, .banner.video-bnr .video-wpr>.video-js, .video-wpr>.video-player, .vjs-poster {
      /*max-height: 420px !important;*/
    }


  /* remove scroll arrows from age */

    .ie-age::-webkit-outer-spin-button, .ie-age::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }
  

  /* banners with video callouts */

    .banner-video .banner-img {
      padding: 0 !important;
    }

    @media screen and (max-width: 639px) {

      /* no padding on the banner grid cell with the video */

      .banner-video .grid-wpr>[class*=grid-].banner-img {
        padding: 0 !important;
      }

    }

    .banner-video .video-wpr {

      /* cover the banner grid cell with the video */

      height: 100% !important;
      width: 100% !important;

    }

    @media screen and (min-width: 640px) and (max-width: 768px) {

      /* if we don't do this, then the "CC" and "full screen" buttons won't show up */

      .banner-video .grid-two-thirds {
        width: 60%;
      }

      .banner-video .grid-one-third {
        width: 40%;
      }

    }

    @media screen and (max-width: 639px) {

      /* need to remove the spacing under the video */

      .banner-video .grid-wpr [class*=grid-]:not(.banner-text) {
        min-height: 0 !important;
      }

    }

/* sections with design quirks */

  main.narrow {
    padding-top: 0 !important;
  }

  main.wide {
    padding-top: 0 !important;
  }

  .banner.html-bnr .grid-wpr, .banner.html-bnr .grid-wpr [class*=grid-]:not(.banner-text) {
    height: auto !important;
  }

  h1.custom { 
    font-size: 36px !important;
    line-height: 45px !important;
  }

  h2.custom {
    font-size: 40px !important;
    line-height: 50px !important;
  }

  h3.custom {
    font-size: 36px !important;
    line-height: 38px !important; 
  }

  #questions .col-wpr {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
  }
 
  /* design conformity */
  select, input[type="text"], input[type="number"], .btn:not(.alternate) {
    height: 42px !important;
  }

  input[type="number"] {
    border: 1px solid #c4c8cc;
    padding: 0 2px;
    
  }

  /* icon will have no wrapping text */
  
    .icon-link {
      display: inline-block;
      position: relative;
      margin-top: -40px;
      padding-left: 50px;
      width: 100%;
      margin-bottom: 30px;
    }

  /* accordion's top and bottom dividers will split halfway */

    .accordion.split {
      border-top: 0 !important; border-bottom: 0 !important;
    }

    .accordion.split .accordion-panel:first-child, .accordion.split .panel:first-child {
      border-top: 1px solid #c4c8cc !important;
    }

    .accordion.split .accordion-panel:last-child, .accordion.split .panel:last-child {
      border-bottom: 1px solid #c4c8cc !important;
    }

    @media screen and (max-width: 639px) {
      
      .accordion.split .grid-half:first-child .accordion-panel:last-child {
        border-bottom: 0 !important;
      }

    }  

/* responsive workarounds */

  @media screen and (min-width: 640px) {

    /* this prevents span tags with .desktop-only from creating a new line */
    
    .desktop-only {
      display: inline-block!important;
    }

    .form2 input[type="text"] {
      min-width: 80px;
    }

    .form2 select {
      width: 205px !important;
      max-width: 100% !important;
      margin-right: 30px;
    }

  }

  @media screen and (max-width: 640px) {

    /* sectionals */

    h1.custom { 
      font-size: 28px !important;
      line-height: 35px !important;
    }

    h2.custom, h3.custom {
      font-size: 24px !important;
      line-height: 30px !important;
    }


  }

  @media screen and (min-width: 640px) and (max-width: 692px) {

    .form2 select {
      margin-right: 0;
    }

  }

  /* "hide" accessibility features from non-screenreader users */

  @media screen {

    .offscreen {
      max-height: 0!important;
    }

  }
