@import url("https://cdn.kuriyama.com/assets/css/normalize.css");
@import url("https://cdn.kuriyama.com/assets/css/common.css");
@import url("https://cdn.kuriyama.com/assets/css/boilerplate.css");
@import url("https://cdn.kuriyama.com/assets/css/fonts.css");
@import url("https://cdn.kuriyama.com/assets/css/layout.css");
@import url("https://cdn.kuriyama.com/assets/css/forms.css");
@import url("https://cdn.kuriyama.com/assets/css/helpers.css");
@import url("https://cdn.kuriyama.com/assets/css/print.css") print;

:root {
  --font-stack: 'Source Sans Pro', Helvetica, sans-serif;
  --KOA-blue: #0055a5;
  --midnight-blue: #003479;
  --red: #ae161b;
  --brightred: #c4161c;
  --darkRed: #5f0c0f;
  --orange: #ef9635;
}
body {
    background: white;
    font-size: 100%;
}
.wrapper {
    margin: 0 auto;
    border-top: 0 none;
    padding: 0 8%
}
header {
  width: 100%;
  position: relative;
  z-index: 1;
  text-align: left;
}
header img.h-logo {
  max-width: 475px;
  width: 100%;
  margin: 60px 0 75px 0;
}
header img.hose {
  display: none;
}
#corporatebanner .corp-wrap {
  margin: 0 auto;
  width: 100%;
  padding: 4px 8%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
}
main {
    z-index: 200;
    position: relative;
    min-height: 500px;
}
h1 {
    margin: 0 0 30px 0;
    background: rgb(196,24,29);
    background: linear-gradient(90deg, rgba(196,24,29,1) 0%, rgba(230,100,42,1) 100%) no-repeat;
    background-size: 100% 3px;
    background-position: 0 bottom;
    color: var(--red);
    font: normal 300%/1em var(--font-stack);
}
h2 {
  color: black;
  font: italic bold 200%/1em var(--font-stack);
  margin-bottom: 6px;
}
.top {
  margin-bottom: 50px;
}
.top img {
  width: 47.5%;
  max-width: 1500px;
  position: absolute;
  z-index: 10;
  right: 0;
  top: 80px;
}
.top .content {
  margin: 0 0 20px 8%
}
.top p {
  padding-right: 50%;
}
.thanks .top {
  min-height: 45vh;
}
.bottom {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  margin: 80px 0 50px 0;
}
p {
    color: #000;
    font-size: 1.5em;
    line-height: 1.4em;
    margin: 0 0 24px 0;
    padding-right: 20px;
}
a:link, a:visited {
    color: #369;
    text-decoration: underline;
}
a:hover, a:active {
    color: #0B67BD;
    text-decoration: none;
}
ul.applications {
  list-style: none;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 0 60px 0;
  padding: 0;
}
ul.applications li {
  width: 27%;
}
.solutions {
  border: 1px solid var(--red);
  position: relative;
  padding: 0;
  margin-bottom: 80px;
  border-top: 0 none;
}
.solutions .heading {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
  top: -16px;
}
.heading h2 {
  width: auto;
  margin: 0 10px;
}
.heading hr {
  border: 0 none;
  border-top: 1px solid var(--red);
  flex-grow: 1;
}
.solutions ul,
.demo ul {
  list-style: none;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  width: 100%;
  margin: 0;
  padding: 0;
}
.solutions ul {
  padding: 20px 40px;
}
.solutions li {
  width: 25%;
  text-align: center;
}
.solutions li a:link {
  color: black;
  font-size: 140%;
}
.solutions li a:visited {
  color: black;
}
.solutions li a:hover,
.solutions li a:active {
  color: var(--red);
}
.demo h2 {
  font: normal bold 250%/1em var(--font-stack);
  color: var(--red);
}
.demo ul li {
  width: 30%;
}
.demo img {
  border: 2px solid var(--red);
}
div.form {
  padding: 20px;
  box-sizing: border-box;
  background-image: linear-gradient(var(--brightred) 20%, var(--darkRed) 90%);
  position: relative;
  width: 36%;
  padding: 0 1%;
  box-sizing: border-box;
  margin-top: 27px;
}
.form h2 {
  width: 100%;
  background: none;
  font-size: 220%;
  line-height: 1.3em;
  padding: 0;
  margin: 10px auto 0 auto;
  text-align: center;
  color: white;
  font-style: normal;
}
.form p {
  color:white;
  font-size: 145%;
  line-height: 1.4em;
  padding-right: 0;
  margin-bottom: 6px;
}
form.fancy-form label {
  font-weight: 400;
  color: black;
  margin: 20px 0 3px 0;
  font-size: 140%;
  line-height: 1.1em;
  color: white;
}
.form h5 {
  color: white;
  font-size: 110%;
  font-weight: normal;
  margin-bottom: 10px;
}
.demoflex {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 15px 0 0 0;
  width: 100%;
}
.demoflex h5 {
  width: 40%;
  margin: 0;
  padding-right: 40px;
}
.demoflex label[for=demoChoice2] {
  margin-bottom: 5px;
}
div.row.full {
  margin-bottom: 40px;
}
div.row.half1 label,
div.row.half2 label {
  margin-top: 2px;
}
div.row.three-quarters label,
div.row.one-quarter label {
  margin-top: 5px;
}
form .demoflex label {
  margin-top: 0;
  margin: 0 0 23px 0;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=number]:focus,
textarea:focus {
  outline: none;
  border: 1px solid var(--red);
}
input[type="number"]:hover,
input[type="number"]:focus {
  -moz-appearance: number-input;
  -webkit-appearance: number-input;
}
input[type=submit].g-recaptcha,
button.g-recaptcha,
a.button:link,
a.button:visited {
  color: white;
  font-weight: 700;
  text-align: center;
  width: 200px;
  font-size: 200%;
  border: 1px solid white;
  text-decoration: none;
}
input[type=submit].g-recaptcha:hover,
input[type=submit].g-recaptcha:active,
button.g-recaptcha:hover,
button.g-recaptcha:active,
a.button:hover,
a.button:active {
  outline: 0 none;
  background-color: var(--red);
}
button[disabled].g-recaptcha,
button[disabled].g-recaptcha:hover {
    color:lightgray;
    border: 1px solid lightgray;
    opacity: .5;
    background-color: transparent;
}
.required {
  color: white;
}

p.center {
  text-align: center;
}
.contact-footer {
  background-color: #2E5984;
  height: 56px;
  padding: 6px 3.3%;
  color: #fff;
  font: 400 1.1em / 1.3em var(--font-stack);
  text-align: center;
  font-size: 135%;
  width: 100%;
  margin-bottom: 55px;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
}
.contact-footer .wrap {
  width: 25%;
  margin: 0 auto;
}
.contact-footer h3 {
  color: white;
  display: inline;
}
.contact-footer a {
  text-decoration: none;
  margin-left: 12px;
}
a svg {
  height: 40px;
  fill: white;
}
a:hover svg,
a:active svg {
  opacity: 0.7;
}
footer {
  background-color: white;
}
.logo {
  padding-right: 75px;
}
footer p,
footer div.address {
  padding: 0;
  font-size: 120%;
  color: var(--KOA-blue);
  text-align: left;
}
footer svg {
  fill: var(--KOA-blue);
}
footer a:link {
  color: var(--KOA-blue);
}
footer a:visited {
  color: var(--KOA-blue);
}

/* ==========================================================================
   Media Queries
   - MIN 320 PIXELS
   - MAX WRAPPER WIDTH IS 1500
   ========================================================================== */

@media screen and (max-width: 680px) {
    body {
        font-size: 80%;
    }
    .wrapper.span_10_of_12 {
        width: 100%;
    }
    .wrapper {
      border: 0 none;
    }
    .text div.span_5_of_12,
    div.span_5_of_12.form {
      margin-left: 0;
    }
    .mobileonly {
        display: inline-block;
    }
    .contact {
      height: auto;
      text-align: center;
    }
    a.button:link,
    a.button:visited,
    a.button:hover,
    a.button:active {
      width: 90%;
      margin-bottom: 15px;
    }
    div.form {
      padding: 0 15px;
    }
  .buttons {
    margin-left: 0;
  }
}
/* ==========================================================================
   END PHONE
   ========================================================================== */
@media screen and (max-width: 830px) {
    body {
        font-size: 90%;
    }
    .wrapper.span_10_of_12.main {
        position: relative;
    }
    .main {
        margin-top: 80px;
    }
    a.button {
      width: 50%;
    }
    h3.title {
      display: block;
    }
}

/* ==========================================================================
   END TABLET - OLD VALUE WAS 920px
   ========================================================================== */
@media screen and (min-width: 980px) {
    .wrapper.span_10_of_12 {
        width: 90%;
    }
    .main {
      margin-top: 50px;
    }
    div.form {
      padding: 0 1%;
    }
}
@media screen and (min-width: 1025px) {
    .mobileonly {
        display: none;
    }
}
@media screen and (min-width: 1100px) {
    a.button:link,
    a.button:visited,
    a.button:hover,
    a.button:active {
      width: 80%;
    }
    .contact {
      text-align: left;
    }
}
@media screen and (min-width: 1245px) {
    .wrapper.span_10_of_12 {
        width: 83.06%;
    }
    #corporatebanner .span_10_of_12 {
        width: 100%;
    }
}
@media screen and (min-width: 1330px) {
    .visible-sm {
      display: none;
    }
    a.button:link,
    a.button:visited,
    a.button:hover,
    a.button:active {
      width: 65%;
    }
}

@media screen and (max-width: 1625px) {
  main h1 {
      font-size: 4.5em;
    }
  .demoflex h5 {
    width: 50%;
  }
  .top .content {
      margin: 0 0 0 3%;
  }
  .wrapper {
    padding: 0 3%;
  }
}

@media screen and (max-width: 1546px) {
    .form h2 {
      font-size: 200%;
    }
    .form p {
      font-size: 115%;
    }
}

@media screen and (max-width: 1443px) {
    .solutions li a:link {
      font-size: 110%
    }
    .demoflex h5 {
      width: 60%;
    }
    div.form {
      padding: 15px;
    }
    footer {
      font-size: 90%;
    }
}
@media screen and (max-width: 1420px) {
    body {
      font-size: 90%;
    }
    .main {
      margin-top: 50px;
    }
    .top img {
      top: 150px;
    }
    .bottom {
      margin-top: 20px;
    }
}
@media screen and (max-width: 1345px) {
    main h1 {
      font-size: 3.8em;
      margin-top: 20px;
    }
    .solutions .heading {
      top: -14px;
    }

}
@media screen and (max-width: 1315px) {
    main h1 {
      font-size: 3.5em;
    }
    h2 {
      font-size: 1.5em;
    }
}

@media screen and (max-width: 1130px) {
    header h2 {
      font-size: 180%;
    }
  .solutions li {
    width: 31%;
  }
}

@media screen and (max-width: 1097px) {
    h1 {
      font-size: 250%;
    }
    h2 {
      font-size: 1.4em;
    }
    .demo h2 {
      font-size: 200%;
    }
    .contact-footer {
      font-size: 90%;
      height: 50px;
    }
    a svg {
      height: 30px;
    }
    .logo {
      padding-right: 10px;
    }
}

@media screen and (max-width: 1022px) {
    header h2 {
      font-size: 160%;
    }
    .form h2 {
      font-size: 150%;
      margin-top: 0;
    }
}

@media screen and (max-width: 1002px) {
    main h1 {
      font-size: 5.5em;
      height: auto;
    }
    h2 {
      font-size: 1.9em;
    }
}
@media screen and (max-width: 980px) {
    .top img {
      display: none;
    }
    header {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-between;
    }
    header img.hose {
      display: block;
      width: 47%;
    }
    header img.h-logo {
      width: 47%;
      margin: 10px 0 0 0;
    }
    .top p {
        padding-right: 3%;
    }
    p {
      font-size: 1.25em
    }
    button.g-recaptcha {
      width: 100%;
    }
}
@media screen and (max-width: 820px) {
  div.form,
  .span_2_of_12,
  .span_3_of_12,
  .span_7_of_12 {
    width: 100%;
  }
  .top {
    margin-bottom: 10px;
  }
  ul.applications {
    flex-flow: column nowrap;
  }
  ul.applications li {
    width: 70%;
    margin: 20px auto;
  }
  div.form {
    padding-top: 20px 15px;
  }
  .form h2 {
    font-size: 200%;
  }
  .form p {
    font-size: 145%;
  }
  .contact-footer {
    font-size: 130%;
  }
  footer {
    flex-direction: column;
    align-items: center;
  }
  footer p, footer div.address {
    text-align: center;
  }
}
@media screen and (max-width: 760px) {
  #corporatebanner {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  header {
    overflow: hidden;
  }
  header img.h-logo {
    width:70%;
    margin: 10px 0 0 0;
  }
  main h1 {
    height: 180px;
  }
  .main {
      margin-top: 45px;
	}
	main ul {
  		font-size: 125%;
    	padding-left: 20px;
	}
	.form h2 {
  		font-size: 250%;
	}
  .text {
    margin-bottom: 30px;
  }
  .solutions {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 720px) {
    header {
      margin-bottom: 20px;
    }
    p {
      font-size: 1.5em;
    }
  }
@media screen and (max-width: 600px) {
  #corporatebanner .right-nav {
    display: none;
  }
  .solutions ul, .demo ul {
    flex-flow: column nowrap;
  }
  .solutions li {
    width: 90%;
    margin-bottom: 35px;
  }
  .solutions .heading {
    top: -27px;
  }
  .demo {
    text-align: center;
  }
  .demo ul li {
      width: 100%;
      text-align: center;
  }
  .demo img {
    width: 90%;
    margin: 0 auto 20px auto;
    max-width: 600px;
  }
  footer p, footer div.address {
    font-size: 17px;
  }
}
@media screen and (max-width: 480px) {
  h1 {
    margin-top: 20px;
  }
  .heading h2 {
      width: 60%;
      text-align: center;
  }
}
@media screen and (max-width: 380px) {
  .heading h2 {
      width: 80%;
  }
}
