
/* HTML5 Boilerplate */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, html.no-js nav.drgNav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

* { font-family: 'Roboto', Sans-serif; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, html.no-js nav.drgNav, section {
  display: block; }

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ''; content: none; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }

select, input, textarea, button { font:99% sans-serif; }

html { overflow-y: scroll; }
a:hover, a:active { outline: none; }

ol { list-style-type: decimal; }
html.no-js nav.drgNav ul, html.no-js nav.drgNav li { margin: 0; list-style:none; list-style-image: none; }
small { font-size: 80%; }
strong, th { font-weight: bold; }
td { vertical-align: top; }

sub, sup { font-size: 75%; line-height: 0; position: relative; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; }
textarea { overflow: auto; }
.ie6 legend, .ie7 legend { margin-left: -7px; } 
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
button, input, select, textarea { margin: 0; }
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }

textarea, input{ outline:none;}
.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }

::-moz-selection{ background: #72BDCF; color:#fff; text-shadow: none; }
::selection { background:#72BDCF; color:#fff; text-shadow: none; }

button { width: auto; overflow: visible; }
.ie7 img { -ms-interpolation-mode: bicubic; }

h1, h2, h3, h4, h5, h6 { line-height: 1.2em; }
h2, h3, h4, h5, h6 { letter-spacing: normal; }
h1 { font-size: 2rem; font-weight: 700; letter-spacing: -0.2px; margin-bottom: 14px;}
h2 { font-size: 1.25rem; font-weight: bold; margin-bottom: 10px; }
h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
h4 { font-size: 1rem; font-weight: 400; margin-bottom: 4px; }
h5 { font-size: 14px; }
h6 { font-size: 12px; }

p.lead { font-size: 21px; line-height: 27px; color: #777; }

a, a:visited { color: #CC1528; text-decoration: none; outline: 0; }
a:hover, a:focus { color: #70D9AB; }
p a, p a:visited { line-height: inherit; }
em,i { font-style: italic; }

body {
  background: #FAF9FD;
  font: 14px/18px 'Roboto', Sans-serif;
  color: #1A1B1F;
  -webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -webkit-text-size-adjust: 100%;
  font-weight: 500;
}

/* Blockquotes */
blockquote, blockquote p { font-size: 17px; line-height: 24px; font-style: italic; }
blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
blockquote cite:before { content: "\2014 \0020"; }
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Structure
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

#container {
  margin: 24px;
  width: initial !important;
  max-width: 980px; }
@media screen and (min-width: 1081px) {
  #container { width: 980px !important; }
}
@media screen and (min-width: 888px) {
    #container { margin: 24px auto; }
}
#content {
  width: 100% !important;
  float: left;
  margin: 0; }
aside {
  width: 220px;
  float: left;
  margin-left: 60px; }
article[class^="content"] {
  background-color: #E0E2EC;
  padding: 16px;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0; }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Header
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
header img{
  width: 100%;
} 

header#header h1 img {
  max-width: 100%;
  height: auto; }
header h3 {
  font-size: 26px;
  line-height: 34px;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 14px;
  margin-top: 22px; }
html.no-js header#header nav.drgNav {
  background: #0068b3;
  margin: 30px -30px 0;
  padding: 8px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  text-align: center; }
html.no-js header#header nav.drgNav ul {
  list-style-type: none; }
html.no-js header#header nav.drgNav ul li {
  display:-moz-inline-stack;
  display:inline-block;
  zoom:1;
  display:inline;
  margin-right: 16px; }
html.no-js header#header nav.drgNav ul li:after {
  content: "\2022";
  margin-left: 16px; }
html.no-js header#header nav.drgNav ul li:last-child {
  margin-right: 0; }
html.no-js header#header nav.drgNav ul li:last-child:after {
  content: "";
  margin-left: 0; }

html.no-js header#header nav.drgNav select {
  display: none; }

@media (max-width: 899px) {
  html.no-js header#header nav.drgNav ul     { display: none; }
  html.no-js header#header nav.drgNav select { display: inline-block; }
}

.validation {
  color: #ff0000;
  list-style: none;
}

.validation ul li strong {
  color: red;
  font-weight: normal;
}

.highlight{
  color: #FF0000;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  General Styles
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
article {
  margin-bottom: 60px;
}
article[class^="content"] {
  margin-bottom: 24px; }
article header {
  margin-bottom: 12px;
}

article h3 {
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 22px;
}
article h4 {
  border-bottom: 1px dotted #797a7b;
  padding-bottom: 4px;
  margin-top: 22px;
}

article section img {
  box-shadow: 0 1px 5px rgba(0,0,0, 0.15);
  -moz-box-shadow: 0 1px 5px rgba(0,0,0, 0.15);
  -webkit-box-shadow: 0 1px 5px rgba(0,0,0, 0.15);
}
article iframe,
article object,
article embed {
  width: 100%; }
article img {
  max-width: 100%;
  height: auto; }
article section img[align="left"] {
  margin: 4px 16px 0 0; }
article section img[align="right"] {
  margin: 4px 0 0 16px; }
article section blockquote {
  margin: 8px 0 8px 30px;
  padding-left: 8px;
  border-left: 1px solid #797a7b; }


/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  content1
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
article.content1 header {
  margin-bottom: 12px; }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Footer
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

div#container > footer {
  margin-top: 20px;
  clear: both; }
div#container > footer ul {
  border-top: 1px dotted #797a7b;
  margin: 0;
  list-style-type: none;
  padding: 8px 0; }
div#container > footer ul:first-child {
  border-top: 0; }
div#container > footer ul li {
  display:-moz-inline-stack;
  display:inline-block;
  zoom:1;
  display:inline;
  margin-right: 12px;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 1px;
  text-decoration: none; }

div#container > footer ul li:first-child {
  float: none; }
div#container > footer ul li:last-child {
  margin-right: 0; }

footer#bottom {
  border-radius: 2px;
  padding: 4px;
  font-style: italic;
  text-align: center; }

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Aside
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
aside {
  font-size: 12px;
  line-height: 22px; }

aside .content2 {
  margin-top: 20px; }
aside .content2 h4 {
  border-bottom: none;
  font-style: italic;
  border-bottom: 1px dotted #797a7b;
  padding-bottom: 4px; }
aside .content2 p {
  margin-bottom: 12px; }
aside .content2 .icon {
  float: left;
  margin: 4px 8px 4px 0; }

aside p.btn {
  text-align: right; }
aside p.btn a {
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 4px 10px;
  transition: .2s ease-in-out;
  -moz-transition: .2s ease-in-out;
  -o-transition: .2s ease-in-out;
  -webkit-transition: .2s ease-in-out; }
aside p.btn a:hover {
  padding-left: 16px;
  padding-right: 16px;
  margin-right: -6px; }

.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
  -ms-filter: none !important; } 
  a, a:visited { color: #444 !important; text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3{ page-break-after: avoid; }
}

section#content p {
  margin: 16px 0; }
article[class^="content"] > section > p:first-child,
article[class^="content"] > section > span:first-child > p:first-child {
  margin-top: 0 !important; }

article[class^="content"] > section > :last-child,
article[class^="content"] > section > :last-child > :last-child {
    margin-bottom: 0 !important; }

/* #Buttons
================================================== */

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  color: #FFF;
  background: #6043D4;
  background-color: #6043D4;
  font-size: 16px;
  text-align: center;
  text-shadow: none;
  cursor: pointer;
  line-height: normal;
  min-width: 103px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 3rem; }

input[type="password"] {
  color: #670B10; }

input[type="text"]:focus, input[type="password"]:focus {
  color: #000;
  box-shadow: none; }

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
  background: #907be1;
  background-color: #907be1;
  border: none;
  color: #fff; }

.button.full-width,
button.full-width,
input[type="submit"].full-width,
input[type="reset"].full-width,
input[type="button"].full-width {
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: center; }

/* Fix for odd Mozilla border & padding issues */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* #Forms
================================================== */

form {
  margin-bottom: 20px; }
fieldset {
  margin-bottom: 20px; }
input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
  border: none;
  border-bottom: 2px solid #74777F;
  background: #FDFBFF;
  background-color: #FDFBFF;
  padding: 4px 4px;
  outline: none;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  font-size: 16px;
  color: #44474E;
  margin: 0;
  max-width: 100%;
  display: block;
  margin-bottom: 8px;
  margin-top: 4px;
  height: 3rem;
  width:476px;
  box-sizing: border-box; }
input[readonly="readonly"] {
  color: #A5A5A5; 
  background-color: #eee; }
input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
  border: 2px solid #74777F;
  color: #44474E; }
textarea {
  min-height: 60px; }
  /*label,*/
legend {
  display: block;
  font-weight: bold;
  font-size: 13px;  }
input[type="checkbox"],
input[type="radio"] {
  float: left;
  display: inline;}
label span,
legend span {
  font-weight: 500;
  font-size: 13px;
  color: #444; }

input[type="checkbox"] + span label,
input[type="radio"] + span label {
  font-size: 16px; }

input[type="text"]::placeholder,
input[type="password"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder,
select::placeholder,
option,
select {
  font-size:  16px;
  font-weight: 400 !important;
  color: #44474E; }

/* #Lists
================================================== */
ul, ol { margin-bottom: 20px; }
ul { list-style: none outside; }
ol { list-style: decimal; }
ol, ul.square, ul.circle, ul.disc { margin-left: 30px; }
ul.square { list-style: square outside; }
ul.circle { list-style: circle outside; }
ul.disc { list-style: disc outside; }
ul ul, ul ol,
ol ol, ol ul { margin: 4px 0 5px 30px; font-size: 90%; }
ul ul li, ul ol li,
ol ol li, ol ul li { margin-bottom: 6px; }
li { line-height: 18px; margin-bottom: 6px; }
ul.large li { line-height: 21px; }
li p { line-height: 21px; }

/* Nav
================================================== */

.nav {
  background: #3D4142;
  font: bold 12px 'Roboto', Sans-serif; }

.nav ul {
  list-style:none; }

.nav ul li a {
  float: left;
  color:#d4d4d4;
  padding: 10px 20px;
  text-decoration:none;
  background: #3C4042;
  background: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, #3B3F41), color-stop(0.55, #484C4D), color-stop(0.78, #4B4D4D) );
  background: -moz-linear-gradient( center bottom, #3B3F41 9%, #484C4D 55%, #4B4D4D 78% );
  background: -o-linear-gradient( center bottom, #3B3F41 9%, #484C4D 55%, #4B4D4D 78% );
  border-left: 1px solid #FFF;
  border-right: 1px solid #000;
  text-shadow: 0 -1px 1px #000; }

.nav ul li a:hover,
.nav ul li:hover > a {
  color: #70d9ab;
  background:#3C4042;
  background: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, #4D4F4F), color-stop(0.55, #434647), color-stop(0.78, #454647) );
  background: -moz-linear-gradient( center bottom, #4D4F4F 9%, #434647 55%, #454647 78% );
  background: -o-linear-gradient( center bottom, #4D4F4F 9%, #434647 55%, #454647 78% ); }

.nav li ul a:hover, 
.nav ul li li:hover > a  {
  color: #2c2c2c;
  background: #70d9ab;
  background: -webkit-gradient( linear, left bottom, left top, color-stop(0.17, #70D9AB), color-stop(0.51, #72DAAD), color-stop(1, #42CD90) );
  background: -moz-linear-gradient( center bottom, #70D9AB 17%, #72DAAD 51%, #42CD90 100% );
  background: -o-linear-gradient( center bottom, #70D9AB 17%, #72DAAD 51%, #42CD90 100% );
  border-bottom: 1px solid #000;
  border-top: 1px solid #70d9ab;
  text-shadow: 0 1px #FFF; }

.nav li ul {
  background:#3C4042;
  background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0.09, #4D4F4F), color-stop(0.55, #434647), color-stop(0.78, #454647) );
  background-image: -moz-linear-gradient( center bottom, #4D4F4F 9%, #434647 55%, #454647 78% );
  background-image: -o-linear-gradient( center bottom, #4D4F4F 9%, #434647 55%, #454647 78% );
  z-index: 9999;
  border: 1px solid #000; }

.nav li ul a {
  background: none;
  border: 0 none;
  border-bottom: 1px solid transparent;
  border-top: 1px solid transparent; }

.radiolabel, .checkboxlabel { margin-left: 5px; }

.addresslabel .questionlabel {
  font-size: 14px;
  padding-bottom: 0;
  border-bottom: none; }

p:not(p + input) span.addresslabel,
p:not(p + input) span.questionlabel {
  font-size: 18px; }

p:not(p + input),
p:not(span + input) {
  padding-bottom: 16px;
  border-bottom: 1px solid #C4C6D0; }

p:has(span.addresslabel > label),
p:has(span.questionlabel > label),
footer p:empty {
  padding-bottom: 0;
  border-bottom: none; }

p:not(p + input) > span.addresslabel > label,
p:not(p + input) > span.questionlabel > label {
  font-size: 14px; }

div[class^="drg"]:has(input), li:has(input) {
  display: flex;
  align-items: center;
  width: fit-content; }

@media screen and (max-width: 732px) {
  div[class^="drg"]:has(input), li:has(input) {
    width: 100%; }
  input[type="text"],
  input[type="password"],
  input[type="email"],
  textarea,
  select {width: 100%; }
}

input[type="checkbox"], input[type="radio"] { 
  margin-right: 4px;
  height: 18px;
  width: 18px;
  min-height: 18px;
  min-width: 18px;
  accent-color: #6043D4; }

input[type="checkbox"] + span.addresslabel,
input[type="checkbox"] + span.questionlabel { 
  margin-left: 4px; }

input[type="checkbox"], input[type="checkbox"] + span {
  margin-bottom: 8px; }

input[type="radio"], input[type="radio"] + span {
  margin-bottom: 4px; }

option { color: #44474E; }

article[class^="content"]:has(section:empty) {
  display: none; }

p.addresslabel[class*="PHONE"] .iti {
  display: block;
}
