html {
  box-sizing: border-box; }

*, *::after, *::before {
  box-sizing: inherit; }

/*
    Variable: fontsize-root
    'px' font size on root (html) element (with units removed).  Browser default is 16px.  Used to determine sizes for rem function.

    -@ based on http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/
    */
/*
    Mixin: rem (https://github.com/tobymackenzie/html-boilerplate/blob/master/web/_/styles/src/mixins/_units.scss)
    Output a property with pixel values for non 'rem' supporting browsers followed by the 'rem' equivalent for rem support browsers.  Can't currently accept values with comma separation, like multiple backgrounds or the like.

    -@ based on http://hugogiraudel.com/2013/03/18/ultimate-rem-mixin/
    */
/*
    Mixin: stripUnit
    Strip the unit from a value that has a unit

    -@ based on http://css-tricks.com/snippets/css/less-mixin-for-rem-font-sizing/
    */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
  display: block; }

audio, canvas, video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

*, *:before, *:after {
  box-sizing: border-box; }

a {
  background: transparent; }

a:focus {
  outline: thin dotted; }

a:active, a:hover {
  outline: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

hr {
  box-sizing: content-box;
  height: 0; }

mark {
  background: #ff0;
  color: #000; }

code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre-wrap; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img, iframe, video {
  max-width: 100%; }

img {
  height: auto;
  border: 0;
  vertical-align: middle; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; }

button, input {
  line-height: normal; }

button, select {
  text-transform: none; }

button,
html input[type="button"], input[type="reset"], input[type="submit"] {
  border: 0;
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled], html input[disabled] {
  cursor: default; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

textarea, input {
  outline: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSans_gdi.eot");
  src: url("webfonts/OpenSans_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSans_gdi.woff") format("woff"), url("webfonts/OpenSans_gdi.ttf") format("truetype"), url("webfonts/OpenSans_gdi.svg#OpenSans-Regular") format("svg");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSans-Italic_gdi.eot");
  src: url("webfonts/OpenSans-Italic_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSans-Italic_gdi.woff") format("woff"), url("webfonts/OpenSans-Italic_gdi.ttf") format("truetype"), url("webfonts/OpenSans-Italic_gdi.svg#OpenSans-Italic") format("svg");
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSans-Light_gdi.eot");
  src: url("webfonts/OpenSans-Light_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSans-Light_gdi.woff") format("woff"), url("webfonts/OpenSans-Light_gdi.ttf") format("truetype"), url("webfonts/OpenSans-Light_gdi.svg#OpenSans-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSansLight-Italic_gdi.eot");
  src: url("webfonts/OpenSansLight-Italic_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSansLight-Italic_gdi.woff") format("woff"), url("webfonts/OpenSansLight-Italic_gdi.ttf") format("truetype"), url("webfonts/OpenSansLight-Italic_gdi.svg#OpenSansLight-Italic") format("svg");
  font-weight: 300;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSans-Semibold_gdi.eot");
  src: url("webfonts/OpenSans-Semibold_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSans-Semibold_gdi.woff") format("woff"), url("webfonts/OpenSans-Semibold_gdi.ttf") format("truetype"), url("webfonts/OpenSans-Semibold_gdi.svg#OpenSans-Semibold") format("svg");
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

@font-face {
  font-family: 'Open Sans';
  src: url("webfonts/OpenSans-SemiboldItalic_gdi.eot");
  src: url("webfonts/OpenSans-SemiboldItalic_gdi.eot?#iefix") format("embedded-opentype"), url("webfonts/OpenSans-SemiboldItalic_gdi.woff") format("woff"), url("webfonts/OpenSans-SemiboldItalic_gdi.ttf") format("truetype"), url("webfonts/OpenSans-SemiboldItalic_gdi.svg#OpenSans-SemiboldItalic") format("svg");
  font-weight: 600;
  font-style: italic;
  font-stretch: normal;
  unicode-range: U+0020-25CA; }

html, body {
  font-family: 'Open Sans', sans-serif;
  color: #333333;
  font-weight: 400;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

h1, .h1 {
  text-align: center;
  font-size: 36px; }

h2 {
  font-size: 22px; }

a {
  text-decoration: none;
  color: #cc0000; }
  a:hover {
    text-decoration: underline; }

dt {
  font-weight: 400; }

blockquote {
  border-left: 5px solid #666666;
  padding: 20px;
  background: #ffffff; }
  blockquote p:first-child {
    margin-top: 0; }

@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?n0wbn8");
  src: url("fonts/icomoon.eot?#iefixn0wbn8") format("embedded-opentype"), url("fonts/icomoon.woff?n0wbn8") format("woff"), url("fonts/icomoon.ttf?n0wbn8") format("truetype"), url("fonts/icomoon.svg?n0wbn8#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-legal:before {
  content: "\e900"; }

.icon-services:before {
  content: "\e901"; }

.icon-content-copy:before {
  content: "\e61a"; }

.icon-pencil:before {
  content: "\e617"; }

.icon-stack:before {
  content: "\e61b"; }

.icon-user:before {
  content: "\e605"; }

.icon-spinner:before {
  content: "\e606"; }

.icon-search:before {
  content: "\e616"; }

.icon-cog:before {
  content: "\e607"; }

.icon-leaf:before {
  content: "\e608"; }

.icon-switch:before {
  content: "\e609"; }

.icon-menu:before {
  content: "\e60a"; }

.icon-globe:before {
  content: "\e60b"; }

.icon-earth:before {
  content: "\e60c"; }

.icon-info:before {
  content: "\e60d"; }

.icon-cancel-circle:before {
  content: "\e60e"; }

.icon-checkmark-circle:before {
  content: "\e60f"; }

.icon-spam:before {
  content: "\e610"; }

.icon-close:before {
  content: "\e611"; }

.icon-checkmark:before {
  content: "\e612"; }

.icon-minus:before {
  content: "\e613"; }

.icon-plus:before {
  content: "\e614"; }

.icon-share:before {
  content: "\e615"; }

.icon-facebook:before {
  content: "\e601"; }

.icon-instagram:before {
  content: "\e602"; }

.icon-twitter:before {
  content: "\e603"; }

.icon-youtube:before {
  content: "\e604"; }

.icon-file-pdf:before {
  content: "\e61c"; }

.icon-file-word:before {
  content: "\e61d"; }

.icon-file-excel:before {
  content: "\e61e"; }

.icon-file-powerpoint:before {
  content: "\e61f"; }

.icon-chevron-right:before {
  content: "\e618"; }

.icon-chevron-left:before {
  content: "\e619"; }

.icon-linkedin:before {
  content: "\e600"; }

.styleguide {
  /*

	Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/

	*/ }
  .styleguide h1 {
    text-align: left; }
  .styleguide .color-swatches {
    margin: 0;
    padding: 0;
    color: #fff;
    list-style: none;
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex; }
    .styleguide .color-swatches li {
      padding: 2em 0;
      width: 6em;
      margin: 5px;
      text-align: center; }
    .styleguide .color-swatches .invert {
      color: #000; }
    .styleguide .color-swatches .border {
      border: 1px solid #c3c3c3; }
    .styleguide .color-swatches .c-cc0000 {
      background: #cc0000; }
    .styleguide .color-swatches .c-000000 {
      background: #000000; }
    .styleguide .color-swatches .c-ffffff {
      background: #ffffff; }
    .styleguide .color-swatches .c-f2f2f2 {
      background: #f2f2f2; }
    .styleguide .color-swatches .c-cccccc {
      background: #cccccc; }
    .styleguide .color-swatches .c-666666 {
      background: #666666; }
    .styleguide .color-swatches .c-333333 {
      background: #333333; }
    .styleguide .color-swatches .c-990000 {
      background: #990000; }
    .styleguide .color-swatches .c-d14905 {
      background: #d14905; }
    .styleguide .color-swatches .c-fdd726 {
      background: #fdd726; }
    .styleguide .color-swatches .c-7d8c1f {
      background: #7d8c1f; }
    .styleguide .color-swatches .c-427e93 {
      background: #427e93; }
    .styleguide .color-swatches .c-4156a1 {
      background: #4156a1; }
  .styleguide .toggle-code-block {
    display: inline-block;
    margin-bottom: 5px; }
  .styleguide code {
    height: 0;
    padding: 0 !important;
    background: #000;
    overflow: hidden;
    width: 100%; }
    .styleguide code.show {
      padding: 20px !important;
      height: auto;
      display: block;
      border-radius: 10px; }
  .styleguide .page-title {
    display: none; }
  .styleguide .component-title {
    color: #333333; }
  .styleguide .code-container {
    background: #cccccc;
    padding: 20px; }
  .styleguide .hljs {
    display: inline-block;
    padding: 0.5em;
    background: #23241f; }
  .styleguide .hljs,
  .styleguide .hljs-tag,
  .styleguide .css .hljs-rules,
  .styleguide .css .hljs-value,
  .styleguide .css .hljs-function
.hljs-preprocessor,
  .styleguide .hljs-pragma {
    color: #f8f8f2; }
  .styleguide .hljs-strongemphasis,
  .styleguide .hljs-strong,
  .styleguide .hljs-emphasis {
    color: #a8a8a2; }
  .styleguide .hljs-bullet,
  .styleguide .hljs-blockquote,
  .styleguide .hljs-horizontal_rule,
  .styleguide .hljs-number,
  .styleguide .hljs-regexp,
  .styleguide .alias .hljs-keyword,
  .styleguide .hljs-literal,
  .styleguide .hljs-hexcolor {
    color: #ae81ff; }
  .styleguide .hljs-tag .hljs-value,
  .styleguide .hljs-code,
  .styleguide .hljs-title,
  .styleguide .css .hljs-class,
  .styleguide .hljs-class .hljs-title:last-child {
    color: #a6e22e; }
  .styleguide .hljs-link_url {
    font-size: 80%; }
  .styleguide .hljs-strong,
  .styleguide .hljs-strongemphasis {
    font-weight: bold; }
  .styleguide .hljs-emphasis,
  .styleguide .hljs-strongemphasis,
  .styleguide .hljs-class .hljs-title:last-child {
    font-style: italic; }
  .styleguide .hljs-keyword,
  .styleguide .hljs-function,
  .styleguide .hljs-change,
  .styleguide .hljs-winutils,
  .styleguide .hljs-flow,
  .styleguide .lisp .hljs-title,
  .styleguide .clojure .hljs-built_in,
  .styleguide .nginx .hljs-title,
  .styleguide .tex .hljs-special,
  .styleguide .hljs-header,
  .styleguide .hljs-attribute,
  .styleguide .hljs-symbol,
  .styleguide .hljs-symbol .hljs-string,
  .styleguide .hljs-tag .hljs-title,
  .styleguide .hljs-value,
  .styleguide .alias .hljs-keyword:first-child,
  .styleguide .css .hljs-tag,
  .styleguide .css .unit,
  .styleguide .css .hljs-important {
    color: #f92672; }
  .styleguide .hljs-function .hljs-keyword,
  .styleguide .hljs-class .hljs-keyword:first-child,
  .styleguide .hljs-constant,
  .styleguide .css .hljs-attribute {
    color: #66d9ef; }
  .styleguide .hljs-variable,
  .styleguide .hljs-params,
  .styleguide .hljs-class .hljs-title {
    color: #f8f8f2; }
  .styleguide .hljs-string,
  .styleguide .css .hljs-id,
  .styleguide .hljs-subst,
  .styleguide .haskell .hljs-type,
  .styleguide .ruby .hljs-class .hljs-parent,
  .styleguide .hljs-built_in,
  .styleguide .django .hljs-template_tag,
  .styleguide .django .hljs-variable,
  .styleguide .smalltalk .hljs-class,
  .styleguide .django .hljs-filter .hljs-argument,
  .styleguide .smalltalk .hljs-localvars,
  .styleguide .smalltalk .hljs-array,
  .styleguide .hljs-attr_selector,
  .styleguide .hljs-pseudo,
  .styleguide .hljs-addition,
  .styleguide .hljs-stream,
  .styleguide .hljs-envvar,
  .styleguide .apache .hljs-tag,
  .styleguide .apache .hljs-cbracket,
  .styleguide .tex .hljs-command,
  .styleguide .hljs-prompt,
  .styleguide .hljs-link_label,
  .styleguide .hljs-link_url {
    color: #e6db74; }
  .styleguide .hljs-comment,
  .styleguide .hljs-javadoc,
  .styleguide .java .hljs-annotation,
  .styleguide .python .hljs-decorator,
  .styleguide .hljs-template_comment,
  .styleguide .hljs-pi,
  .styleguide .hljs-doctype,
  .styleguide .hljs-deletion,
  .styleguide .hljs-shebang,
  .styleguide .apache .hljs-sqbracket,
  .styleguide .tex .hljs-formula {
    color: #75715e; }
  .styleguide .coffeescript .javascript,
  .styleguide .javascript .xml,
  .styleguide .tex .hljs-formula,
  .styleguide .xml .javascript,
  .styleguide .xml .vbscript,
  .styleguide .xml .css,
  .styleguide .xml .hljs-cdata,
  .styleguide .xml .php,
  .styleguide .php .xml {
    opacity: 0.5; }

body {
  -webkit-overflow-scrolling: touch;
  background: #f2f2f2; }

.header-container .wrapper,
.content-container .wrapper,
.footer-container .wrapper {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px; }
  .header-container .wrapper::after,
  .content-container .wrapper::after,
  .footer-container .wrapper::after {
    clear: both;
    content: "";
    display: table; }

.content-container {
  margin-bottom: 60px; }
  .content-container h1 {
    margin: 40px 0; }
    .content-container h1 sup {
      font-size: 18px;
      font-weight: 300;
      top: -0.9em; }
  .page-template-page-secondary-php .content-container {
    padding-top: 10px; }

.header-container {
  background: #fff;
  left: 0;
  right: 0;
  z-index: 300;
  transition: all 0.2s linear; }
  .header-container .logo {
    float: left;
    font-size: 0;
    margin-top: 10px; }
    .header-container .logo a {
      display: inline-block; }
      .header-container .logo a img {
        transition: all 0.2s linear;
        padding: 20px; }
      .header-container .logo a:first-child img {
        display: inline-block;
        padding-left: 0;
        border-right: 1px solid #000; }

.header-container .logo .logo--ncsu {
    display: none;
}

@media screen and (min-width: 530px) {
    .header-container .logo .logo--ncsu {
        display: inline-block;
    }
}
    
  .header-container nav.primary {
    width: calc(100% - 460px);
    float: right;
    margin-right: 50px;
    margin-top: 17px; }
    .header-container nav.primary button {
      transition: all 0.2s linear;
      display: none;
      background: #cc0000;
      height: 45px;
      width: 48px;
      top: 25px;
      right: 20px;
      overflow: hidden;
      position: absolute;
      cursor: pointer;
      outline: none;
      text-indent: -9999px; }
      .header-container nav.primary button:after {
        content: '';
        position: absolute;
        width: 68%;
        height: 5px;
        background: #ffffff;
        top: 10px;
        left: 16%;
        box-shadow: 0 10px 0 #ffffff, 0 20px 0 #ffffff; }
    @media screen and (max-width: 1080px) {
      .header-container nav.primary {
        position: fixed;
        width: 100%;
        top: 0;
        margin-top: 0;
        right: 0;
        z-index: 100; }
        .header-container nav.primary button {
          display: block; }
        .header-container nav.primary > ul {
          transition: all 0.3s linear;
          background: #f2f2f2;
          overflow: hidden;
          max-height: 0;
          position: absolute;
          right: -50px;
          width: 100%;
          top: 100px;
          padding: 0;
          text-align: center; } }
  .header-container .share {
    position: absolute;
    right: 0;
    z-index: 500; }
  .header-container header {
    transition: all 0.2s linear;
    position: relative;
    overflow: hidden;
    height: 100px;
    padding: 0 10px; }
    .page-template-page-secondary-php .header-container header {
      height: 140px; }

body.headroom--unpinned .header-container {
  top: 0;
  position: fixed; }

.google-ad-banner {
  margin-top: 51px;
  text-align: center;
}

body.headroom--unpinned.page-template-page-secondary-php .content-container {
  padding-top: 140px; }

.content-container {
  padding-top: 40px; }
  .headroom--unpinned .content-container {
    padding-top: 130px; }
  .content-container .sub-nav {
    position: fixed;
    left: 0;
    z-index: 301;
    color: #ffffff;
    padding: 13.5px 10px;
    top: 100px;
    transition: all 0.2s linear; }
    @media screen and (max-width: 960px) {
      .content-container .sub-nav {
        display: none; } }
    .content-container .sub-nav span {
      margin-right: 10px; }
  .content-container .alignleft {
    float: left;
    margin-right: 20px; }
  .content-container .lcp_paginator {
    background: #333333;
    color: #ffffff;
    display: inline-block;
    float: right;
    margin: 0;
    padding: 0; }
    .content-container .lcp_paginator li {
      border: none; }
      .content-container .lcp_paginator li span {
        display: inline-block;
        padding: 10px 20px; }
      .content-container .lcp_paginator li a {
        display: inline-block;
        padding: 10px 20px;
        color: #cccccc; }
        .content-container .lcp_paginator li a:hover {
          color: #ffffff; }
  .content-container .lcp_catlist {
    margin: 0;
    padding: 0; }

.footer-container {
  margin-top: 20px;
  background: #000000;
  color: #ffffff;
  padding-bottom: 50px; }
  .footer-container .credits {
    background: #cc0000; }
    .footer-container .credits ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .footer-container .credits ul li {
        padding: 30px 0;
        text-align: center; }
        @media screen and (min-width: 768px) {
          .footer-container .credits ul li {
            width: 27%;
            float: left;
            text-align: left;
            display: inline-block; }
            .footer-container .credits ul li:first-child {
              width: 46%; }
            .footer-container .credits ul li:last-child {
              padding: 27px 0; } }
  .footer-container a {
    color: #fff; }
  .footer-container a {
    color:#fff;
    text-decoration:underline;
  }
  .footer-container a:hover {
    text-decoration:none;
  }
  .footer-container footer {
    margin-top: 20px; }
    .footer-container footer h2 {
      font-size: 24px;
      font-weight: 400; }
    @media screen and (min-width: 960px) {
      .footer-container footer > div {
        float: left;
        width: 27%; }
        .footer-container footer > div:first-child {
          width: 46%;
          padding-right: 30px; } }
    @media screen and (min-width: 960px) {
      .footer-container footer .social-bar h2 {
        min-height: 70px; } }
    .footer-container footer .social-bar ul {
      display: inline-block;
      list-style: none;
      margin: 0;
      padding: 0; }
      .footer-container footer .social-bar ul li {
        display: inline-block;
        border: 1px solid #ffffff;
        border-right: none;
        float: left;
        width: 48px;
        height: 48px;
        position: relative; }
        .footer-container footer .social-bar ul li:last-child {
          border-right: 1px solid #ffffff; }
        .footer-container footer .social-bar ul li a {
          position: absolute;
          width: 100%;
          top: 0;
          bottom: 0;
          font-size: 1.5em;
          text-decoration: none; }
          .footer-container footer .social-bar ul li a span {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }

#banner {
  display: none; }

.banner-container .banner-content {
  background-color: #ffffff;
  border-left: 20px;
  border-left-style: solid;
  border-left-color: #cc0000;
  position: relative; }
  .banner-container .banner-content p {
    padding: 5px 25px; }
  .banner-container .banner-content .dismiss-button {
    position: absolute;
    padding: 0px 10px;
    font-size: 26px;
    top: 0;
    right: 0;
    transition: all 300ms ease-in-out;
    transition-delay: initial;
    background-color: #cc0000;
    color: #ffffff; }
    .banner-container .banner-content .dismiss-button:hover {
      text-decoration: none;
      background-color: #990000; }

input[type="submit"], button, a.button {
  padding: 10px 20px;
  padding: 0.625rem 1.25rem;
  margin: 0 0 10px;
  margin: 0 0 0.625rem;
  background-color: #cc0000;
  color: white;
  transition: all 300ms ease-in-out; }
  input[type="submit"]:hover, button:hover, a.button:hover {
    background-color: #990000; }

label {
  display: block; }

input[type="text"], input[type="email"] {
  background-color: #fff;
  border: 1px solid #cc0000;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  transition: all 300 ease-in-out; }

input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 15px;
  font-size: 13px; }
  input[type="checkbox"] + label:before,
  input[type="radio"] + label:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 10px;
    position: absolute;
    left: 0;
    bottom: 1px;
    background-color: #f2f2f2; }

input[type="checkbox"] + label:before {
  border: 1px solid #a6a6a6; }

input[type="radio"] + label:before {
  border-radius: 8px;
  border: 1px solid #a6a6a6; }

input[type="checkbox"], input[type="radio"] {
  display: none; }

input[type="radio"]:checked + label:before {
  background-color: #cc0000;
  color: #f3f3f3;
  font-size: 32px;
  text-align: center;
  line-height: 14px;
  border: 1px solid #660000; }

input[type="radio"]:checked + label:after {
  background-color: #fff;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  position: absolute;
  left: 4px;
  top: 5px; }

input[type="checkbox"]:checked + label:before {
  background-color: #cc0000;
  color: #f3f3f3;
  font-size: 32px;
  text-align: center;
  line-height: 14px;
  border: 1px solid #660000; }

input[type="checkbox"]:checked + label:after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  transform: rotate(45deg);
  position: absolute;
  left: 5px;
  top: 1px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff; }

input[type="search"]::-ms-clear {
  display: none; }

textarea {
  background-color: #fff;
  border: 1px solid #cc0000;
  padding: 8px 10px;
  padding: 0.5rem 0.625rem;
  transition: all 300 ease-in-out; }

nav.primary ul {
  margin: 0;
  padding: 0; }

nav.primary > ul > li.current-menu-item > a {
  font-weight: 700; }

@media screen and (min-width: 1080px) {
  nav.primary .primary-menu {
    width: calc(100% - 200px);
    float: left;
    margin-right: 10px; } }

nav.primary .quote-cta {
  display: none; }
  @media screen and (min-width: 729px) {
    nav.primary .quote-cta {
      display: inline-block; } }
  @media screen and (max-width: 1080px) {
    nav.primary .quote-cta {
      position: absolute;
      right: 90px;
      top: 28px; } }

.flyout-menu nav.primary .quote-cta {
  display: none; }
  @media screen and (max-width: 728px) {
    .flyout-menu nav.primary .quote-cta {
      display: block;
      position: absolute;
      right: 100px;
      top: 15px;
      z-index: 1000; } }

.flex-container {
  margin: 0;
  padding: 0;
  list-style: none; }
  .flex-containerul {
    font-size: 0; }
  .flex-container li {
    display: inline-block;
    font-size: 14px; }
    .flex-container li a {
      color: #333;
      text-decoration: none;
      float: left;
      padding: 0.5em; }
  .flex-container .sub-menu {
    transition: all 0.2s linear;
    display: none;
    position: fixed;
    top: 100px;
    left: 0;
    right: 0;
    list-style: none;
    background: #333333;
    font-size: 0; }
    .flex-container .sub-menu li {
      display: inline-block;
      text-align: left; }
      .flex-container .sub-menu li a {
        font-size: 14px;
        font-weight: 400;
        padding: 13.5px 20px;
        color: #ffffff;
        line-height: 24px; }
  .flex-container .current_page_item .sub-menu,
  .flex-container .current_page_ancestor .sub-menu {
    display: block;
    text-align: right; }
    @media screen and (max-width: 960px) {
      .flex-container .current_page_item .sub-menu,
      .flex-container .current_page_ancestor .sub-menu {
        display: none; } }
  .flex-container .current-menu-item,
  .flex-container .current-menu-ancestor {
    font-weight: 600; }
    .flex-container .current-menu-item ul li,
    .flex-container .current-menu-ancestor ul li {
      font-weight: 300; }
      .flex-container .current-menu-item ul li.current-menu-item,
      .flex-container .current-menu-ancestor ul li.current-menu-item {
        font-weight: 400; }
  .styleguide .flex-container {
    background: #fff; }
  .flex-container.secondary li a {
    padding: 0.5em;
    line-height: 3em; }

.right {
  text-align: right; }

.no-scroll {
  overflow: hidden; }

.flyout-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
  background: transparent;
  z-index: -1; }
  .flyout-menu.active {
    background: rgba(0, 0, 0, 0.5);
    z-index: 500; }
    .flyout-menu.active ul, .flyout-menu.active div {
      display: block; }
  .flyout-menu h3 {
    height: 70px;
    padding: 20px;
    margin: 0; }
  .flyout-menu h4 {
    margin: 0;
    padding: 10px 20px; }
  .flyout-menu ul, .flyout-menu div {
    display: none; }
  .flyout-menu [data-level] {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    min-width: 300px;
    background: #f2f2f2;
    transition: all 0.2s linear;
    transform: translateX(300px);
    border-left: 3px solid #cc0000; }
    .flyout-menu [data-level].active {
      transform: translateX(0px);
      z-index: 501; }
  .flyout-menu[data-level-active="2"] [data-level="1"] {
    margin-right: 40px; }
    .flyout-menu[data-level-active="2"] [data-level="1"] > ul > .close-btn {
      background: rgba(0, 0, 0, 0.5);
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      cursor: pointer; }
  .flyout-menu[data-level-active="2"] [data-level="2"] {
    transform: translateX(40px); }
  .flyout-menu[data-level-active="3"] [data-level="1"] {
    margin-right: 80px; }
  .flyout-menu[data-level-active="3"] [data-level="2"] {
    transform: translateX(40px); }
    .flyout-menu[data-level-active="3"] [data-level="2"] > ul > .close-btn {
      background: rgba(0, 0, 0, 0.5);
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      cursor: pointer; }
  .flyout-menu[data-level-active="3"] [data-level="3"] {
    transform: translateX(40px); }
  .flyout-menu[data-level-active="3"] [data-level="1"] > ul > .close-btn {
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    cursor: pointer; }
  .flyout-menu nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .flyout-menu nav ul li {
      display: block;
      border-bottom: 1px solid #333; }
  .flyout-menu nav a {
    text-decoration: none;
    padding: 10px 20px;
    display: block;
    color: #000; }
    .flyout-menu nav a:hover {
      background: #a8a8a8; }
  .flyout-menu .close-btn {
    position: absolute;
    top: 20px;
    right: 10px;
    border: none; }
    .flyout-menu .close-btn button {
      position: relative;
      width: 25px;
      height: 25px;
      float: right;
      background: transparent; }
      .flyout-menu .close-btn button:before {
        content: '';
        position: absolute;
        width: 100%;
        top: 50%;
        height: 1px;
        left: 0;
        background: #000;
        transform: rotate(45deg); }
      .flyout-menu .close-btn button:after {
        content: '';
        position: absolute;
        width: 100%;
        top: 50%;
        height: 1px;
        background: #000;
        left: 0;
        transform: rotate(-45deg); }
  .flyout-menu h4 {
    color: #fff;
    background: #cc0000; }

.share {
  transition: all 0.2s ease-in-out;
  height: 100px;
  width: 50px;
  background: #333333;
  overflow: hidden; }
  .share ul {
    margin: 0;
    padding: 0;
    list-style: none;
    transition: all 0.2s ease-in-out;
    transform: translateY(-50px); }
    .share ul li a {
      display: inline-block;
      width: 50px;
      height: 50px;
      text-indent: -9999px;
      white-space: nowrap; }
    .share ul li .toggle {
      background: #333333 url(../img/social-share.png) no-repeat center; }
    .share ul li .fb {
      background: #3b5998 url(../img/social-fb.png) no-repeat center; }
    .share ul li .twitter {
      background: #00aced url(../img/social-twitter.png) no-repeat center; }

body.home .content-container {
  padding-top: 0; }

body.home.headroom--unpinned .content-container {
  padding-top: 100px; }

.search-container {
  background: #cc0000;
  color: #ffffff;
  display: inline-block;
  width: 100%; }
  .search-container .search-zip {
    text-align: center; }
  .search-container h2 {
    display: inline-block;
    text-align: center;
    font-weight: 400;
    padding: 20px 0;
    margin: 20px 0;
    border-bottom: 1px solid #ffffff; }
    @media screen and (min-width: 960px) {
      .search-container h2 {
        padding-right: 40px;
        border: none;
        border-right: 1px solid #ffffff;
        text-align: right;
        width: 50%;
        float: left; } }
  .search-container form {
    font-size: 0;
    text-align: center; }
    @media screen and (min-width: 960px) {
      .search-container form {
        float: left;
        width: 50%;
        padding: 20px 0;
        text-align: left; } }
    .search-container form .input {
      position: relative;
      margin-bottom: 40px;
      display: inline-block;
      font-size: 18px; }
      @media screen and (min-width: 960px) {
        .search-container form .input {
          margin: 0;
          padding: 13px 0;
          margin-left: 40px; } }
      .search-container form .input label {
        padding: 10px 0;
        padding-right: 10px; }
      .search-container form .input input[type=text] {
        border: none;
        text-shadow: none;
        box-shadow: none;
        padding: 10px;
        padding-left: 30px;
        display: inline-block;
        max-width: 190px;
        text-align: center;
        margin-bottom: 5px;
        background: #ffffff url(../img/search-globe-icon.png) no-repeat 10px center; }
      .search-container form .input input[type=submit] {
        background: #660000;
        color: #ffffff;
        padding: 10px;
        display: inline-block;
        min-width: 110px; }
    
        @media screen and (min-width: 420px) {
            .search-container form .input label,
            .search-container form .input input[type=text],
            .search-container form .input input[type=submit] {
                float: left;
            }

            .search-container form .input input[type=text] {
                margin-bottom: 0;
            }
        }

      .search-container form .input .error {
        position: absolute;
        display: none;
        top: 40px;
        width: 100%;
        text-align: center; }
        .search-container form .input .error.active {
          display: block; }

#chart_div {
  min-height: 680px;
  overflow: hidden; }

#chart_div svg {
  margin-top: -60px;
}

#chart_div path {
  stroke: #fff; }
  #chart_div path:hover {
    stroke: #fdd726;
    fill: #fdd726;
    cursor: pointer; }

.tooltip {
  width: 200px; }
  .tooltip h3 {
    color: #cc0000;
    padding-bottom: 0;
    margin-bottom: 5px; }

.google-visualization-tooltip-item:first-child {
  display: none; }

.map-container {
  position: relative;
  overflow: hidden; }
  .map-container #chart_div {
    display: none; }
    @media screen and (min-width: 960px) {
      .map-container #chart_div {
        display: block;
        margin-left: 30px;
        margin-right: -30px; } }
  .map-container h2 {
    font-size: 32px;
    text-align: center;
    font-weight: 400;
    margin: 40px 0;
    margin-bottom: 0; }
  .map-container .cta-buttons {
    display: none;
    position: relative;
    left: 0;
    bottom: 40px; }
    @media screen and (min-width: 960px) {
      .map-container .cta-buttons {
        display: block; } }
    @media screen and (min-width: 1068px) {
      .map-container .cta-buttons {
        width: 1068px; } }
    .map-container .cta-buttons ul {
      margin: 0;
      padding: 0 0 5px;
      list-style: none;
      width: 100%;
      text-align: center; }
      .map-container .cta-buttons ul::after {
        clear: both;
        content: "";
        display: table; }
      .map-container .cta-buttons ul li {
        display: inline-block;
        margin-left: 5px; }
        .map-container .cta-buttons ul li a {
          display: inline-block;
          vertical-align: middle;
          border: 1px solid #cccccc;
          padding: 5px 10px;
          background: #ffffff;
          color: #666666; }
          @media screen and (min-width: 1068px) {
            .map-container .cta-buttons ul li a {
              padding: 5px 20px; } }
          .map-container .cta-buttons ul li a .cta-icon {
            display: inline-block;
            text-align: center;
            vertical-align: middle;
            color: #ffffff;
            border-radius: 50%;
            background: #666666;
            font-weight: 700;
            width: 48px;
            height: 48px;
            line-height: 48px;
            font-size: 24px;
            margin-right: 5px; }
          .map-container .cta-buttons ul li a img {
            margin-right: 5px; }
          .map-container .cta-buttons ul li a span {
            display: inline-block;
            vertical-align: middle; }
          .map-container .cta-buttons ul li a [class^="icon-"], .map-container .cta-buttons ul li a [class*=" icon-"] {
            color: #cccccc;
            padding-left: 20px;
            line-height: 48px;
            vertical-align: middle; }
          .map-container .cta-buttons ul li a:hover {
            text-decoration: none;
            background: #f2f2f2; }
  .map-container .mobile-list {
    margin-top: 30px; }
    @media screen and (min-width: 960px) {
      .map-container .mobile-list {
        display: none; } }
    .map-container .mobile-list ul {
      margin: 0;
      padding: 0;
      list-style: none;
      max-width: 68em;
      margin-left: auto;
      margin-right: auto; }
      .map-container .mobile-list ul::after {
        clear: both;
        content: "";
        display: table; }
      .map-container .mobile-list ul li {
        background: #333333;
        color: #ffffff; }
        .map-container .mobile-list ul li.tablet-header, .map-container .mobile-list ul li:first-child {
          padding: 10px 20px; }
        .map-container .mobile-list ul li span:last-child {
          float: right;
          width: 40px;
          text-align: center; }
        .map-container .mobile-list ul li a {
          padding: 10px 20px;
          display: inline-block;
          width: 100%; }
          .map-container .mobile-list ul li a span:last-child {
            color: #666666; }
        .map-container .mobile-list ul li:nth-child(2n+3) {
          background: #efefef; }
        .map-container .mobile-list ul li:nth-child(2n+4) {
          background: #ffffff; }
        @media screen and (max-width: 640px) {
          .map-container .mobile-list ul li.tablet-header {
            display: none; } }
        @media screen and (min-width: 640px) {
          .map-container .mobile-list ul li {
            float: left;
            display: block;
            margin-right: 4.82916%;
            width: 47.58542%; }
            .map-container .mobile-list ul li:nth-child(4n+3), .map-container .mobile-list ul li:nth-child(4n+4) {
              background: #efefef; }
            .map-container .mobile-list ul li:nth-child(4n+5), .map-container .mobile-list ul li:nth-child(4n+6) {
              background: #ffffff; }
            .map-container .mobile-list ul li:last-child {
              margin-right: 0; }
            .map-container .mobile-list ul li:nth-child(2n) {
              margin-right: 0; }
            .map-container .mobile-list ul li:nth-child(2n+1) {
              clear: left; } }

.sponsor-container {
  background: #fff; }

.sponsors-list {
  padding: 0;
  margin: 0;
  list-style: none; }
  @media screen and (min-width: 640px) {
    .sponsors-list {
      box-align: center;
      -moz-align-items: center;
      -ms-align-items: center;
      -o-align-items: center;
      align-items: center;
      -ms-flex-align: center;
      display: -webkit-box;
      display: -moz-box;
      display: box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      box-orient: horizontal;
      -moz-flex-direction: row;
      flex-direction: row;
      -ms-flex-direction: row;
      box-pack: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      -o-justify-content: center;
      justify-content: center;
      -ms-flex-pack: center; } }
  .sponsors-list .sponsor {
    width: 250px;
    padding: 20px;
    margin: 0 auto; }
    @media screen and (min-width: 640px) {
      .sponsors-list .sponsor {
        display: inline-block;
        float: left;
        margin: 0; } }

.ir {
  display: block;
  overflow: hidden;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  text-indent: -999em;
  direction: ltr;
  *line-height: 0; }
  .ir br {
    display: none; }

.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  border: 0; }
  .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
    position: static;
    overflow: visible;
    clip: auto;
    margin: 0;
    width: auto;
    height: auto; }

.invisible {
  visibility: hidden; }

.group {
  *zoom: 1; }
  .group:before, .group:after {
    display: table;
    content: ""; }
  .group:after {
    clear: both; }

img[src*="googleadservices.com"] {
  position: absolute;
  top: 0;
  left: -9000em; }
