#spamtrap {
  display: none;
}
.spamtrap {
  display: none;
}
body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
}
img {
  border: 0;
}
#wrapper {
  width: 100%;
  max-width: 1200px;
  min-width: 320px;
  margin: 0 auto;
  overflow: hidden;
}
.thisheader {
  width: 100%;
  max-width: 1200px;
  height: 160px;
  float: left;
  position: fixed;
  background: #FFFFFF;
  z-index: 1000;
}
.thismain {
  width: 100%;
  margin: 10px 0;
  float: left;
  overflow: hidden;
  height: auto;
  padding: 160px 0 0 0;
}
.column {
  max-width: 1140px;
  width: calc(100% - 60px);
  height: auto;
  overflow: hidden;
  margin: 20px 30px;
  float: left;
}
.cols1 iframe {
  /*margin: 0 auto;
  overflow: hidden;
  display: block;*/
  height: 458px;
  max-width: 752px;
  width: 100%;
  min-width: 300px;
}
.coleq {
  width: 49%;
  float: left;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.coleqr {
  width: 49%;
  float: right;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.colall {
  width: 100%;
  float: left;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.col1 {
  width: 57%;
  float: left;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.col2 {
  width: 41%;
  float: right;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.cols1 {
  width: 66%;
  float: left;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.colform {
  width: 30%;
  float: right;
  font-size: 14px;
  color: rgb(128,128,128);
  line-height: 19px;
}
.cols1a {
  width: 49%;
  float: left;
  min-width: 300px;
  margin: 0 10px 0 0;
}
.cols1b {
  width: 49%;
  float: left;
  min-width: 300px;
}
.intro {
  font-size: 18px;
  line-height: 24px;
}
h1 {
  font-size: 18px;
  margin: 0 0 10px 0;
  font-weight: bold;
}
h2 {
  /*font-size: 30px;*/
  font-size: calc(11px + 1.5vw);
  line-height: 28px;
  margin: 0 0 10px 0;
  color: rgb(128,128,128);
  font-weight: normal;
}
h3 {
  font-size: 18px;
  line-height: 24px;
  margin: 0 0 10px 0;
  font-weight: normal;
}
p {
  margin: 0 0 10px 0;
}
.column a {
  color: rgb(128,128,128);
  text-decoration: underline;
}
a.softwarelink {
  margin: 10px 0;
  padding: 10px 5px 10px 20px;
  background-color: #808080;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 16px;
  float: left;
  background-image: url(/images/chevron-16-white.png);
  background-repeat: no-repeat;
  background-position: 4px;
}
a.softwarelink:hover {
  background-color: #BBB9BB;
  color: #808080;
}
.hred {
  color: #E10514;
}
.hlblue {
  color: #20A6E5;
}
.hdblue {
  color: #004E9F;
}
.hgrey {
  color: #808080;
}
.hgreen {
  color: #94C11F;
}
.hwhite {
  color: #FFFFFF;
}
.doodle {
  position: relative;
  width: 100%;
  margin: 0 0 60px 0;
  overflow: hidden;
}
.doodle img {
  width: 100%;
  min-width: 300px;
}
.doodle h2 {
  position: absolute;
  left: 0;
  top: 15%;
  line-height: 35px;
}
.contactform2,
.contactform {
  width: calc(100% - 40px);
  min-width: 200px;
  padding: 20px;
  float: left;
  text-align: center;
  background-color: #BBB9BB;
  color: #FFFFFF;
}
.contactform2 {
  background-color: #00529E;
}
.contactform2 p,
.contactform p {
  margin: 20px 0;
}
.formrow {
  width: 100%;
  min-height: 30px;
  margin: 20px 0 0 0;
  text-align: center;
}
.forminput {
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 5px;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  border: 0;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  color: #808080;
  box-sizing: border-box;
}
.forminput2 {
  width: 100%;
  height: 70px;
  margin: 0;
  padding: 5px;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  border: 0;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  color: #808080;
  box-sizing: border-box;
}
.formbutton {
  width: 100%;
  min-height: 30px;
  margin: 0;
  padding: 5px 0;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  text-align: center;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  background: #F3F3F3;
  background-image: -webkit-linear-gradient(top, #F3F3F3, #EFEFEF);
  background-image: -moz-linear-gradient(top, #F3F3F3, #EFEFEF);
  background-image: -ms-linear-gradient(top, #F3F3F3, #EFEFEF);
  background-image: -o-linear-gradient(top, #F3F3F3, #EFEFEF);
  background-image: linear-gradient(to bottom, #F3F3F3, #EFEFEF);
  border: 0;
  color: #808080;
}
footer {
  width: 100%;
  min-height: 44px;
  overflow: hidden;
  float: left;
}
#desktop {
  float: left;
  margin: 65px 0 0 0;
}
#desktop ul {
  list-style:none;
  margin-bottom:10px;
  float:right;
  z-index:9999;
  position: relative;
}
#desktop ul li {
  float:left;
  position:relative;
  margin: 0 25px 0 0;
}
#desktop ul a{
  display:block;
  font-size: 19px;
  font-weight: 400;
  text-decoration: none;
  color: rgb(128,128,128);
  line-height: 28px;
  letter-spacing: 0.20px;
}
#desktop ul a:hover{
  color: rgb(225,5,20);
}
#desktop ul li ul{
  background:#fff; 
  background:rgba(255,255,255,0);
  list-style:none;
  position:absolute;
  left:-9999px;
  z-index:9999;
}
#desktop ul li ul li{
  float:none;
  margin: 0;
  width: 200px;
  padding: 0;
  z-index:9999;
  overflow: hidden;
  text-align: center;
  font-size: 15px;
}
#desktop ul li ul a{
  white-space:nowrap;
  font-size: 15px;
}
#desktop ul li:hover ul{ 
  left: -70px; 
}
#desktop ul li:hover a{ 
  color: rgb(225,5,20);
}
#desktop ul li:hover ul a{ 
  text-decoration:none;
  width: 180px;
  background-color: #FFFFFF;
  color: rgb(128,128,128);
  padding: 0 10px;
  float: left;
}
#desktop ul li:hover ul li a:hover{ 
  color: rgb(225,5,20);
}

#mobile {display: none;}
.logo {
  float: left;
  margin: 23px 10px 0 23px;
  max-width: 109px;
}
.infobox {
  float: right;
  margin: 40px 23px 0 0;
  text-align: right;
}
.iblink {
  color: #747474;
  font-size: 14px;
  text-decoration: none;
}
.demo {
  padding: 0 5px 0 0;
  /*border-right: 1px solid #747474;*/
  margin: 0 5px 0 0;
}
.demo2 {
  padding: 5px;
  /*border-right: 1px solid #747474;*/
  margin: 0 5px 0 0;
  background: #ED1C24;
  color: #FFFFFF;
}
.ibphone {
  font-size: 31px;
  color: #D8D8D7;
  font-weight: bold;
  margin: 5px 0;
}
.ibphone a {
  color: #D8D8D7;
  text-decoration: none;
}
footer ul {
  margin: 10px 0 0 0;
  padding: 0;
  list-style-type: none;
}
footer ul li {
  margin: 0;
  padding: 0;
  float: left;
}
#social {
  float: right;
  margin: 5px 0 0 0;
  padding: 0;
  list-style-type: none;
}
#social li {
  margin: 0 0 0 20px;
  padding: 0;
  float: right;
}
#social li img {
  width: 20px;
}
#subnav {
  font-size: 15px;
  margin: 10px 0 0 33px;
  float: left;
}
#subnav li {
  margin: 0 50px 0 0;
}
footer a {
  color: #747474;
  text-decoration: none;
}
.overlay {
    height: 0%;
    width: 250px;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 35px;
    background-color: rgb(255,255,255);
    background-color: rgba(255,255,255, 0.9);
    overflow-y: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    width: 100%;
    text-align: center;
}

.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 19px;
    color: rgb(128,128,128);
    display: block;
    transition: 0.3s;
}

.overlay a.active {
  color: rgb(225,5,20);
}
.overlay a:hover, .overlay a:focus {
  color: rgb(225,5,20);
}

.overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

@media (min-width: 1200px) {
  h2 {
    font-size: 30px;
  }
  
}

@media (max-width: 500px) {
  .iblink {
    font-size: 12px;
  }
  .ibphone {
    font-size: 24px;
  }
  .cols1 iframe {
    height: 180px;
  }
}
@media (max-width: 1010px) {
  .cols1,
  .colform {
    width: 100%;
  }
  .thisheader {
    min-height: 85px;
    height: auto;
    margin: 0 0 10px 0;
  }
  .infobox {
    float: right;
    margin: 30px 23px 0 0;
    text-align: right;
  }
  #desktop {display: none;}
  #mobile {
    display: block;
    margin: 40px 23px 0 0;
    float: left;
  }
  .menuicon {
    font-size: 0;
    float: left;
    width: 32px;
    height: 32px;
    margin: 0 0 0 5px;
    background-image: url(/images/menuicon.png);
    background-repeat: no-repeat;
  }
  .logo {
    margin: 23px 0 0 0;
  }
  .moblogo img {
    width: 100%;
    max-width: 75px;
  }
}
@media (max-width: 650px) {
  .column {
    max-width: 1140px;
    min-width: 280px;
    width: calc(100% - 20px);
    height: auto;
    overflow: hidden;
    margin: 20px 10px;
    float: left;
  }
  .cols1,
  .cols1a,
  .cols1b,
  .colform,
  .col1,
  .col2 {
    width: 100%;
  }
  .doodle  h2 {
    line-height: 30px;
  }
  #subnav {
    margin: 10px auto;
    float: none;
    width: 300px;
    overflow: hidden;
    display: flex;
    justify-content:space-between;
    font-size: 12px;
  }
  #social {
    margin: 10px auto;
    float: none;
    padding: 0;
    list-style-type: none;
    width: 300px;
    overflow: hidden;
    display: flex;
    justify-content:space-between;
  }
  #subnav li {
    margin: 0;
  }
  #social li {
    margin: 0;
  }
}
@media (min-width: 1200px) {
  h2 {
    font-size: 26px;
  }
  .boxrow99 {
    font-size: 26px;
  }
}

  .homebanner {
    background-image: url(/images/red-background.gif);
    background-color: #E30613;
    background-repeat: no-repeat;
    background-position: top left;
    width: 100%;
    max-width: 1200px;
    min-height: 650px;
    float: left;
    position: relative;
  }
  .hbgirl {
    background-image: url(/images/lookcloser.gif);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    width: 650px;
    height: 600px;
    float: right;
  }
  .hbchap {
    background-image: url(/images/lookcloser3.png);
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 400px;
    height: 600px;
    float: right;
  }
  .hbtriangle {
    background-image: url(/images/white-triangle.png);
    width: 1200px;
    height: 148px;
    position: absolute;
    bottom: 0;
    left: 0;
    border-bottom: 4px solid #FFFFFF;
  }
  .hbform {
    margin: 20px 20px 0 0;
    width: 300px;
    height: 630px;
    background-color: #BBB9BB;
    float: right;
  }
  .hbform2 {
    margin: 20px 20px 0 0;
    width: 300px;
    height: 630px;
    background-color: #00529E;
    float: right;
  }
  .hbtext {
    position: absolute;
    top: 300px;
    left: 50px;
    color: #FFFFFF;
    width: 400px;
    z-index: 999;
  }
  .homelink {
    padding: 5px 5px 5px 20px;;
    background-color: #FFFFFF;
    color: rgb(128,128,128);
    text-decoration: none;
    font-size: 14px;
    float: left;
    margin: 20px 0 0 0;
    background-image: url(/images/chevron-14-red.gif);
    background-repeat: no-repeat;
    background-position: 4px;
  }
  .homelink:hover {
    background-color: #AA1816;
    color: #FFFFFF;
  }
@media (max-width: 1100px) {
  .homebanner {
    background-position: top left;
    background-size: 400px;
  }
  .hbtext {
    top: 270px;
    left: 20px;
    width: 270px;
  }
  .hbgirl {
    width: 600px;
    height: 620px;
  }
  .infobox {
    margin: 30px 23px 0 0;
  }
  .demo {
    border: 0;
    padding: 0 0 5px 0;
    display: block;
    margin: 0;
  }
  .ibphone {
    font-size: 25px;
  }
}
@media (max-width: 1000px) {
  .homebanner {
    background-position: top left;
  }
  .hbgirl {
    display: none;
  }
  .hbchap {
    display: none;
  }
  .infobox {
    margin: 30px 23px 0 0;
  }
  .demo {
    border: 0;
    padding: 0 0 5px 0;
    display: block;
    margin: 0;
  }
}
@media (max-width: 800px) {
  .homebanner {
    background-size: 250px;
    background-position: top center;
  }
  .hbtext {
    position: relative;
    top: 0;
    left: 0;
    margin: 150px 20px 20px 20px;
    width: calc(100% - 40px);
    float: left;
  }
  .ibphone {
    font-size: 25px;
  }
  .hbform {
    margin: 20px auto 0 auto;
    width: 300px;
    height: 630px;
    background-color: #BBB9BB;
    float: none;
    overflow: hidden;
  }
}
@media (max-width: 450px) {
  .infobox {
    margin: 5px 23px 0 0;
  }
  .hbtext {
    position: relative;
    top: 0;
    left: 0;
    margin: 170px 20px 20px 20px;
    width: calc(100% - 40px);
    float: left;
  }
  .ibphone {
    font-size: 20px;
  }
  .hbform {
    margin: 20px auto 0 auto;
    width: 300px;
    height: 530px;
    background-color: #BBB9BB;
    float: none;
    overflow: hidden;
  }
}
/*squishy stuff*/
.thismain,
.thisheader,
.thisheader .infobox,
.thisheader .iblink,
.thisheader .logo,
.thisheader nav#desktop {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
.thisheader.squish {
  height: 75px;
}
.thisheader.squish .logo {
  margin: 2px 23px;
  max-width: 65px;
}
.thisheader.squish nav#desktop {
  margin: 4px 0 0 0;
}
.thisheader.squish nav#mobile {
  margin: 17px 10px 0 15px;
}
.thisheader.squish .infobox {
  margin: 0;
}
.thisheader.squish .ibphone {
  margin: 15px 15px 0 0;
  float: right;
}
.thisheader.squish .iblink {
  display: none;
}
.thismain.squish {
  padding: 80px 0 0 0;
}
