/* /////////////////////////////////////////////////////////////////////
//  Design Kit Fixes
/////////////////////////////////////////////////////////////////////*/

/* push body & nav down if unsupported browser message is showing */
.unsupported-browser {
  display: none;
}

@media all and ( min-width:768px ) { 
  .unsupported-browser {
    display: block;
  }

  .unsupported-browser + #primary-header {
    margin-top: 10rem;
  }
}

/* fix for hash links being covered up by main nav being fixed at large size */
@media all and ( min-width:768px ) { 
  .anchor:before { 
    display: block; 
    content: " "; 
    margin-top: -7rem; 
    height: 7rem; 
    visibility: hidden; 
  }
}

/* fix button margins causing buttons to be off centered */
button, 
.btn, 
a.btn:visited, 
a.btn:active {
  margin-right: 0;
}

.select-box select {
  width: 100%;
}

/* temporary backward support of colored backgrounds until markup is changed to .bg-color .section--[color] */

.bg-color--bluejay {
  background-color: #3773ca;
}

.bg-color--coral {
  background-color: #ff5f4e;
}

.bg-color--denim {
  background-color: #4789b6;
}

.bg-color--gecko {
  background-color: #4ba449;
}

.bg-color--marigold {
  background-color: #ef7014;
}

.bg-color--mist {
  /* this should now be called .bg-color--cloudy */
  background-color: #fafafa;
}

.bg-color--storm {
  background-color: #757374;
}

/* temporary backward support to hide double <span> buttons */

button span + span,
.btn span + span,
a.btn:visited span + span,
a.btn:active span + span {
  display: none;
}

/* /////////////////////////////////////////////////////////////////////
//  Navigation
/////////////////////////////////////////////////////////////////////*/

#primary-navigation .panel-wrapper.right {
  padding: 9rem 3rem 3rem 3rem;
  overflow: auto;
}

#primary-header #header-right-links .location.header-right-label {
  padding-left: 0;
}

#primary-header #header-right-links .login [class^="icon-"], #primary-header #header-right-links .location [class^="icon-"] {
  padding-left: 1rem;
}

#header-right-links .login.small.open {
  background: #3773ca;
}

div[data-side-panel="mobile-menu"] .location {
  background-color: #EFEFEF;
  padding: 2rem 6%;
}

div[data-side-panel="mobile-menu"] .location .icon-geolocation {
  position: relative;
  top: 3px;
  color: #7F7E7E;
  font-size: 2rem;
  margin-right: .5rem;
}

div[data-side-panel="mobile-menu"] .location form {
  display: none;
  position: relative;
}

div[data-side-panel="mobile-menu"] .location form .icon-geolocation {
  position: absolute;
  top: 22px;
  right: 10px;
  background-color: transparent;
}

div[data-side-panel="mobile-menu"] .location .change-location {
  float: right;
}

div[data-side-panel="mobile-menu"] .location input {
  margin-top: 1rem;
  width: 100%;
}

.geo-box .geo-alert {
  display: none;
  clear: both;
}

.geo-box .geo-alert span {
  float: left; 
  color: #b6091a;
  margin-right: 10px;
}

@media all and ( min-width:768px ) { 

  #primary-navigation .panel-wrapper.right {
    padding-top: 3rem;
  }

  .panel-wrapper.right.search .btn {
    float: right;
  }

  #primary-header #header-right-links .icon-geolocation {
    border-right: 1px solid #4d79bc;
  }

  #primary-navigation .panel-wrapper.location {
      height: 22rem;
      border-bottom-left-radius: 0.5rem;
  }

  #primary-navigation .panel-wrapper.location input {
      width: 100%;
  }

  #primary-navigation .panel-wrapper.location .btn {
      float: right;
  }
}

/* /////////////////////////////////////////////////////////////////////
//  Nav Login Menu
/////////////////////////////////////////////////////////////////////*/

#primary-navigation .panel-wrapper.right ul {
  overflow: visible;
}

.policy-form .select-box, 
.policy-form select, 
.policy-form input[type="text"],
.policy-form input[type="password"] {
  width: 100%;
  margin-bottom: 1rem;
}

.policy-form a.tooltip-trigger {
  background: #3773ca;
  color: #ffffff;
}

.login-links.claims h3 {
  color: #ef7014;
}

#primary-navigation .panel-wrapper.right .login-links ul,
#primary-navigation .panel-wrapper.right .express_links ul {
  display: inline; /* kit override */
}

.login-links ul li,
.express_links ul li {
  margin-bottom: 0.5rem;
}

.login-links ul li:last-child,
.express_links ul li:last-child {
  margin-bottom: 3rem;
}

.hide {
  display: none;
}

/* /////////////////////////////////////////////////////////////////////
//  Skip to main content
/////////////////////////////////////////////////////////////////////*/

a.skip-to-content {
  left:-999px;
  position:absolute;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
  z-index:-999;

}
a.skip-to-content:focus, a.skip-to-content:active {
  color: #154995;
  background-color: #ededed;
  left: auto;
  top: 0;
  width: 100%;
  height: auto;
  overflow:auto;
  margin: 0%;
  text-align:center;
  text-decoration: none;
  text-transform: uppercase;
  font-size:0.9em;
  font-weight: bold;
  z-index:999;
  cursor: pointer;
}

/* /////////////////////////////////////////////////////////////////////
//  Modals
/////////////////////////////////////////////////////////////////////*/

.modal .modal-container .modal-content {
  padding-top: 5rem;
}

.modal.external_disclaimer .disclaimer_content {
  border: 1px solid #dddddd;
  padding: 1rem;
  margin-bottom: 2rem;
  max-height: 20rem;
  overflow: auto;
}

.modal.external_disclaimer .disclaimer_content p {
  margin-bottom: 0;
}

@media all and ( min-width:768px ) { 
  .modal .modal-container .modal-content {
  padding-top: 7rem;
  }
}

/* /////////////////////////////////////////////////////////////////////
//  Custom Typopgrahy
/////////////////////////////////////////////////////////////////////*/
html h1,
html h2,
html h3,
html h4,
html h5,
html h6 {
  margin-bottom: 1rem;
  font-weight: normal;
  line-height: normal;
} 

html h1 { 
  font-size: 30px;
  line-height: normal;
  margin-bottom: 3rem;
}

html h2 { 
  font-size: 24px;
}

html h3 { 
  font-size: 22px;
}

html h4 { 
  font-size: 20px;
}

html h5 { 
  font-size: 18px;
  font-weight: bold;
}

html h6 { 
  font-size: 18px;
  font-weight: normal;
}

table { 
  margin-bottom: 2rem;
  padding: .4rem;
  border-collapse: inherit;
  border-spacing: 0;
  border-radius: 4px;
  border: 2px solid rgba(0, 0, 0, 0.1);
}

h1+p,
*+h1,
*+h2,
*+h3,
*+h4,
*+h5,
*+h6 { 
  margin-top: 1.2rem; 
}

h2+p,
h3+p { 
  margin-top: 1rem; 
}

h4+p,
h5+p,
h2+h3 { 
  margin-top: 0.5rem;
}

h2+h4,
h3+h5 {
  margin-top: 0.2rem; 
}

/* /////////////////////////////////////////////////////////////////////
//  Breadcrumbs
/////////////////////////////////////////////////////////////////////*/

#breadcrumbs {
  background-color: #f2f0ec;
}

#breadcrumbs p {
  margin: 0;
  padding: 2rem;
}

@media all and ( min-width:768px ) { 
  #breadcrumbs p {
  margin: 0;
  padding: 2rem 3rem;
  }
}

/* /////////////////////////////////////////////////////////////////////
//  Headline
//////////////////////////////////////////////////////////////////////*/

#title-bar {
  background-color: #4789b6;
  margin: 0;
}

#title-bar.save-money {
  background-color: #4ba449;
}

#title-bar.save-worry {
  background-color: #ff5f4e;
}

#title-bar .h1 {
  font-size: 20px;
  font-weight: bold;
  line-height: 125%;
  color: #ffffff;
  text-align: center;
  margin: 0;
  padding: 2rem;
}

#headline {
  margin-top: 2rem;
}

#headline.form {
  margin-top: 0;
}

#headline-wrapper {
  background-image: none;
  background-repeat: no-repeat;
  border-bottom: 1px solid #e6e3dd;
  margin-bottom: 3rem;
}

#headline-wrapper > .container {
  padding: 3rem 2rem;
}

#headline-wrapper h1,
#headline-wrapper h2,
#headline-wrapper h3,
#headline-wrapper .h3,
#headline-wrapper p,
#headline-wrapper ul li,
#headline-wrapper label,
#headline-wrapper [class*="icon-"] {
  font-weight: normal;
  color: #60574a;
}

#headline-wrapper .h2 {
  line-height: 150%;
}

#headline-wrapper p {
  margin: 0 0 1rem 0;
}

#headline-wrapper .inline {
  display: inline;
}

.headline-banner {
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.headline-banner img {
  width: 100%;
  max-width: 100%;
}

.headline-banner.small {
  display: block;
}

.headline-banner.medium {
  display: none;
}

@media all and (min-width: 480px) {
  #headline-wrapper.product {
  text-align: center;
  margin: 0 auto;
  border-bottom: none;
  }

  #title-bar[class*="save-"] + #headline-wrapper {
  text-align: left;
  }

  .headline-banner.small {
  display: none;
  }

  .headline-banner.medium {
  display: block;
  }
}

@media all and (min-width: 768px) {
  #headline-wrapper {
  background-size: cover;
  background-position: center top;
  }

  #title-bar[class*="save-"] + #headline-wrapper #headline {
  height: 30rem;
  padding: 0 3rem;
  }

  /* helper classes */
  #headline .float-left {
  float: left;
  }

  #headline .icon.float-left {
  margin-right: 2rem;
  }

  #headline .no-margin {
  margin: 0;
  }

  #headline-wrapper h1,
  #headline-wrapper h2,
  #headline-wrapper h3,
  #headline-wrapper .h3,
  #headline-wrapper p,
  #headline-wrapper a,
  #headline-wrapper ul li,
  #headline-wrapper label,
  #headline-wrapper [class*="icon-"] {
  color: #ffffff;
  }

  .headline-banner, 
  .headline-banner.medium {
  display: none;
  }
}

#headline.form.product {
  padding-bottom: 3rem;
  overflow: auto;
}

#headline.form.product.toggle {
  padding-bottom: 0;
}

#headline.form h1 {
  margin-top: 0;
  font-size: 30px;
}

#headline.form h2 {
  font-size: 22px;
}

#headline.form input[type="text"],
#headline.form input[type="password"] {
  margin: 0
}

#headline.form input[type="text"]:-ms-input-placeholder,
#headline.form input[type="password"]:-ms-input-placeholder {  
  font-size: 13px; 
}

#headline.form .tooltip-trigger,
#headline.form .tooltip-trigger:visited {
  background: #3773ca none repeat scroll 0 0;
  border-radius: 4px;
  color: #ffffff;
  margin: 1rem;
  padding: 2px 8px;
  text-decoration: none;
}

@media all and (min-width: 768px) {
  #headline-wrapper > .container {
  padding: 1.5rem 3rem;
  }

  #headline-wrapper.product > .container {
  padding: 0 0 3rem 0;
  }

  #headline-wrapper.product > .container.toggle {
  padding: 0;
  }

  #headline.form {
  display: table;
  width: 100%;
  }

  #form-contents {
  display: table-cell;
  vertical-align: middle;
  padding: 0;
  height: 44rem;
  }

  #headline.form.product #form-contents {
  height: auto;
  }

  #headline.form.product .container {
  padding: 3rem 3rem 0 3rem;
  }
}

#headline.form .icon {
  display: none;
}

#headline.form .quote h2 {
  display: inline;
  line-height: 150%;
}

#headline.form .quote .zip-elements {
  display: inline;
  white-space: nowrap;
}

#headline.form .quote .zip-elements #zip {
  width: 8rem;
  margin-bottom: 2rem;
}

#headline.form .quote .zip-elements #geolocation {
  cursor: pointer;
  padding: 5px;
  vertical-align: middle;
}

#headline.form #payment input[type="text"],
#headline.form #payment input[type="password"] {
  width: 25rem;
  font-size: 1.5rem;
}

@media all and (min-width: 480px) {
  #headline.form .quote .zip-elements #zip {
  margin-bottom: 1rem;
  }

  #headline.form .quote #submit {
  display: block;
  margin: 0 auto;
  }
}

@media all and (min-width: 768px) {
  #headline.form .quote,
  #headline.form .manage {
  padding-top: 3rem;
  }

  #headline.form .quote.padding-5 {
  padding-bottom: 5rem;
  }

  #headline.form .manage.padding-5 {
  padding-top: 5rem;
  padding-bottom: 5rem;
  }

  #headline.form .quote.padding-10 {
  padding-bottom: 10rem;
  }

  #headline.form .manage.padding-10 {
  padding-top: 10rem;
  padding-bottom: 10rem;
  }

  #headline.form .icon {
  display: inline-block;
  padding: 1.5rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  margin-bottom: 2rem;
  font-size: 24px;
  }

  .line-break {
  display: block;
  }
}

#headline.form .manage {
  display: none;
}

#headline-wrapper.login #headline.form .manage {
  display: block;
}

#headline-wrapper.login #headline.form .quote {
  display: none;
}

#headline.form .manage input[type="text"],
#headline.form .manage input[type="password"] {
  width: 100%;
  max-width: 31.5rem;
  margin: 0;
}

#headline.form .manage #remember-me label {
  padding: 0.5rem 0 0 4rem;
}

#headline.form .manage #remember-me button {
  margin: 0;
}

#headline.form .manage .form-or {
  background-image: url("/public/layout_images/homepage/design5/or-h.gif");
  background-position: center center;
  background-repeat: no-repeat;
  height: 2.5rem;
  margin: 1.5rem 0;
  text-align: center;
}

#headline.form .manage .form-or span {
  background-color: #ffffff;
  padding: 0 2rem;
  text-align: center;
}

@media all and (min-width: 480px) {
  #headline.form .manage {
  text-align: left;
  }
}

@media all and (min-width: 590px) {
  #headline.form .manage .form-left,
  #headline.form .manage .form-or,
  #headline.form .manage .form-right {
    float: left;
  }

  #headline.form .manage .form-left,
  #headline.form .manage .form-right {
  width: 40%;
  }

  #headline.form .manage .form-or {
    background-image: url("/public/layout_images/homepage/design6/or-v-black.gif");
    background-position: center center;
    background-repeat: no-repeat;
    height: 27rem;
    padding: 12rem 7%;
  }

  #headline.form .manage .form-or span {
  padding: 1.5rem 0 0 0;
  }
}

@media all and (min-width: 768px) {
  #headline.form .manage {
  font-size: 13px;
  width: 72rem;
  margin: 0 auto;
  }

  #headline.form .manage h3 {
  font-size: 22px;
  }

  #headline.form .manage .form-left,
  #headline.form .manage .form-right {
  width: 32.5rem;
  }

  #headline.form .manage .form-or {
    background-image: url("/public/layout_images/homepage/design6/or-v-white.gif");
    padding: 12rem 2rem;
  }

  #headline.form .manage .form-or span {
    background: none;
  }
}

#headline-wrapper .task-toggle {
  background: #f2f0ec;
  padding: 3rem 1rem;
}

#headline-wrapper .task-toggle h3 {
  margin-top: 0;
}

#headline-wrapper .task-toggle .quote {
  display: none;
}

#headline-wrapper.login .task-toggle .quote {
  display: block;
}

#headline-wrapper.login .task-toggle .manage {
  display: none;
}

@media all and (min-width: 768px) {
  #headline-wrapper .task-toggle {
    background: rgba(0, 0, 0, 0.5);
    padding: 0;
  }

  #headline-wrapper .task-toggle .container {
    padding: 2rem 0;
  }

  #headline-wrapper .task-toggle .btn--secondary {
    box-shadow: inset 0px 0px 0px 2px #ffffff;
    color: #ffffff;
  }

  #headline-wrapper .task-toggle .btn--secondary:hover,
  #headline-wrapper .task-toggle .btn--secondary:focus {
    background-color: rgba(255, 255, 255, 0.2);
  }

  #headline-wrapper .task-toggle .btn--secondary:active {
    background-color: rgba(255, 255, 255, 0.4)
  }
}

/* /////////////////////////////////////////////////////////////////////
//  Middle Content
//////////////////////////////////////////////////////////////////////*/

#content {
  margin-bottom: 3rem;
}

#content p+p,
#content p+div,
#content p+form,
#content p+ul,
#content p+ol,
#content ul+*,
#content ol+*,
#content p+table { 
  margin-top: 1rem; 
}

#content ul,
#content ol {
  padding-left: 2rem;
}

#content ul li,
#content ol li {
  margin: 0 0 .4rem 2rem;
}

#content ol li {
  list-style: decimal outside none;
}

.pdfSpan { 
  background: url('/public/images/icons/pdf.gif') no-repeat top left; 
  padding-left: 2rem;
}

.noteText,
.note_text,
.note-text {
  display: block;
  background-color: #f7f7f7;
  font-size: 1.2rem;
  line-height: 1.8rem;
  overflow-y: auto;
  color: rgba(112, 112, 112, 0.5);
}

.noteText p,
.note_text p,
.note-text p {
  font-size: 1.2rem;
  line-height: 1.8rem;
  margin-bottom: 1rem;
}

.noteText a,
.note_text a,
.note-text a {
  color: rgba(112, 112, 112, 0.5);
}

span.disclaimer {
  display: block;
  padding: 3rem;
}

.toggleLink{
  margin: 0;
  color: #154995;
  text-decoration: underline;
  cursor: pointer;
}

.toggleLink:hover{ 
  text-decoration: none;
}

.toggleContent {
  display: none;
}

.toggleContent p {
  margin: 0 0 .5em 0;
}

@media (max-width: 767px) {
  .noteText,
  .note_text,
  .note-text {
  padding: 1.5rem;
  }
}
@media (min-width: 768px) {
  .noteText,
  .note_text,
  .note-text {
  padding: 3rem;
  }
  
  .noteText div,
  .note_text div,
  .note-text div {
  margin-bottom: 30px;
  }
}


/* /////////////////////////////////////////////////////////////////////
//  Margin Boxes
/////////////////////////////////////////////////////////////////////*/

#margin .box { 
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

#margin .box {
  margin-bottom:4rem;
}
.margin-headline {
  border-bottom:.1rem solid #CDCDCD;
  margin-bottom:1rem;
  width:100%;
  min-height:4.5rem;
  height:auto;
}

.margin-title {
  font-size:2.4rem;
  width:75%;
  vertical-align: text-bottom;
  line-height:2rem;
  float:left;
}

.margin-headline .geico-icon {
  float:right;
  width:4rem;
  height:auto;
  font-size:2rem;
  line-height:3.6rem;
  bottom:.5rem;
}

.margin-headline .geico-icon.geico-icon--bluejay {
  color: #3773CA;
}

#contact_icons {
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

#contact_icons li {
  float: left;
  width: 33.3333%;
  margin: 0; 
  padding: 0;
  color:#154995;
  text-align: center;
}

#contact_icons li a {
  text-decoration: none;
}

#contact_icons li a span {
  font-size: 3rem;
}

#contact_icons li a p {
  width: 38px;
  margin: 0 auto;
  text-decoration: underline;
}

#contact_icons li a p:hover {
  text-decoration: none;
}

.gfr_margin p {
  margin:0;
}

#margin #quoteForm #zip,
#margin #quoteForm .select-box {
  width: 100%;
  margin-bottom: .5em;
}

#margin #quoteForm .marginQuoteSelect {
  width: 100%;
}

#margin #quoteForm .margin-quote-submit {
  display: block;
  clear: both;
  width: auto;
  text-align:center;
  margin:0;
}

#margin .quick_claims a {
  width: 100%;
  display: block;
  margin-bottom: 1rem;
  text-align: center;
}

#margin .quick_claims img {
  display: none;
}

#margin .learnmore p {
  line-height:auto;
  margin:.25rem;
}

#margin .insights p {
  margin-bottom:0;
}

#readLink {
  margin-bottom:.5rem;
}

@media (min-width: 481px) {
  #margin #boxes { 
  display: table;
  width: 100%;
  }
  
  #margin .box {
  width: 49%;
  float: left;
  min-height: 1rem;
  }
  
  #margin .box:nth-child(even) { 
  clear: right;
  }
  
  #margin .box:nth-child(odd){ 
  margin-right: 2%;
  }
  
  #margin .box.contactus,
  #margin .box.quotebox,
  #margin .box.learnmore {
  min-height: 20rem;
  }
}

@media (min-width: 768px) {
  #margin .box {
  width: 100%;
  display: block;
  margin-right: 0;
  }

  #margin .box .card-content { 
  padding-right: 3rem;
  padding-left: 3rem;
  }
  
  #margin .box.contactus,
  #margin .box.quotebox,
  #margin .box.learnmore {
  min-height: 0;
  }

  #margin .box img { 
  max-width: 100%;
  }

  .margin-title {
  font-size:2.4rem;
  }

  #margin #quoteForm .margin-quote-submit {
  display: block;
  clear: both;
  width: auto;
  float: right;
  }
}

/* Bazzarvoice Reviews */
#margin .bazaarvoice-review {
  margin-top: 15px;
}
#margin .bazaarvoice-review span {
  font-size: 2rem;
  float: left;
  margin-right: 5px;
}
#margin .bazaarvoice-review img {
  margin-bottom: 2px;
}
#margin .bazaarvoice-review .bazaarvoice-review-author {
  font-weight: bold;
}


/* /////////////////////////////////////////////////////////////////////
//  Helper Classes
/////////////////////////////////////////////////////////////////////*/
#geolocation { 
  display: none;
}
a.icon-geolocation{
  text-decoration: none;
}
.scaled {
  display: block;
  float: none;
  max-width: 100%;
  height: auto;
  padding:1.25em 0;
}

.large_only {
  display: none;
}

.small_only {
  display: inline;
}

.aspect_ratio { 
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 51%;
  margin-bottom: 30px;
  margin-bottom: 3rem;
}

.aspect_ratio iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

table.scroll_table {
  display: inline-block;
  overflow: auto;
  max-width: 36.25rem;
}

.subpageImage {
  display: block;
  width: auto;
  max-width: 60%;
  height: auto;
  margin: 10px auto;
  margin: 1rem auto;
}

.select-content {
  display: none;
}

a[href^="tel"], 
.no-wrap {
  white-space: nowrap;
}

@media all and ( min-width:768px ) {
  .large_only {
  display: inline;
  }

  .small_only {
  display: none;
  }
}

@media (min-width: 768px) {

  .subpageImage {
  float: right;
  max-width: 40%;
  margin: 10px;
  margin: 1rem;
  }
}

#content table {
  color: #757374;
  width: 100%;
}

#content table tbody tr:nth-child(odd) {
  background-color: #EDEDED;
}

.lt-ie9 #content table tbody tr.odd {
  background-color: #EDEDED;
}

#content table tr {
  vertical-align: top;
}

#content table tr th,
#content table tr td {
  padding-top: 15px;
  padding-top: 1.5rem;
  padding-bottom: 15px;
  padding-bottom: 1.5rem;
  padding-left: 10px;
  padding-left: 1rem;
  padding-right: 10px;
  padding-right: 1rem;
  text-align: left;
}

#content table tr th {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 400;
}

#content table tr td {
  font-size: 12px;
  font-size: 1.2rem;
}

@media (min-width: 481px) {
  #content table tr th,
  #content table tr td {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 20px;
  line-height: 2rem;
  }
}

/* /////////////////////////////////////////////////////////////////////
//  Lists
/////////////////////////////////////////////////////////////////////*/

#content ul li {
  list-style: disc outside;
  overflow: visible;
}

/* /////////////////////////////////////////////////////////////////////
//  Input Fields
/////////////////////////////////////////////////////////////////////*/

input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="number"], 
input[type="tel"] {
  background-color: #ffffff;
}

::-webkit-input-placeholder {
  color: rgba(0,0,0,0.5);
}

:-moz-placeholder {
  color: rgba(0,0,0,0.5);
}

::-moz-placeholder {
  color: rgba(0,0,0,0.5);
}

/* /////////////////////////////////////////////////////////////////////
//  Footer
/////////////////////////////////////////////////////////////////////*/

@media (min-width: 768px) {
  /* some weird issue with IE not displaying the footer correctly at large size */
  #primary-footer {
  overflow: visible;
  }

  #primary-footer #footer-links-mobile {
  display: none;
  }

  #primary-footer #footer-links-secondary {
  display: block;
  }
}


/* /////////////////////////////////////////////////////////////////////
//  Cookie Policy Notice
/////////////////////////////////////////////////////////////////////*/

#cookie-notice {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  overflow: hidden;
  padding: 24px;
  padding: 1.5rem;
  color: #60574A;
  background-color: #F0EADD;
}

#cookie-notice > .container {
  display: table;
  table-layout: fixed;
}

#cookie-notice div[class*="col-md-"] {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

#cookie-notice .col-md-2 {
  text-align: center;
}



/* /////////////////////////////////////////////////////////////////////
//  IE8 Support Notice 
/////////////////////////////////////////////////////////////////////*/

html.lt-ie9 #ie8-notice {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 20px;
  margin: 0px auto;
  color: #FFFFFF;
  text-align: center;
}

html.lt-ie9 #ie8-notice p {
  background-color: #FF8800;
  padding: 6px 8px;
  display: inline-block;
}


/* /////////////////////////////////////////////////////////////////////
//  CAT Event banner 
/////////////////////////////////////////////////////////////////////*/

    #cat-banner {
      z-index: 50;
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 8rem;
      padding: 0 2rem;
      background-color: #f7f7f7;
    }

    #cat-banner + #primary-header {
      margin-top: 8rem;
    }

    #cat-banner ~ #wrapper {
      margin-top: 8rem;
    }

    #cat-banner ~ #primary-navigation {
      position: fixed;
      top: 6rem;
      overflow: hidden;
    }

    #cat-banner ~ #primary-navigation .panel-wrapper.location,
    #cat-banner ~ #primary-navigation .panel-wrapper.login {
      top: 14rem;
    }

    #cat-banner ~ #primary-navigation .panel-wrapper.login {
      height: calc(100% - 14rem);
      padding-top: 2rem;
    }

    #cat-banner ~ #primary-navigation #nav-background {
      top: 8rem;
    }

    #cat-banner ~ #primary-navigation div[data-side-panel="mobile-menu"] {
      top: 8rem;
      height: calc(100% - 8rem);
    }

    #cat-banner p {
      margin: 0;
      max-width: 54rem;
    }

    #cat-banner a, #cat-banner .cat-icon span {
      color: #EF7014;
    }

    #cat-banner p.cat-icon {
      margin-right: 1.5rem;
    }

    .cat-icon span {
       vertical-align: -.2rem;
    }

    @media all and (min-width: 768px) {
      #cat-banner {
        position: fixed;
      }

      #cat-banner ~ #primary-navigation .panel-wrapper.search,
      #cat-banner ~ #primary-navigation div[data-side-panel="products"],
      #cat-banner ~ #primary-navigation div[data-side-panel="information"] {
        top: 14rem;
      }

      #cat-banner ~ #primary-navigation div[data-side-panel="products"],
      #cat-banner ~ #primary-navigation div[data-side-panel="information"] {
        height: calc(100% - 14rem);
      }
    }


/* /////////////////////////////////////////////////////////////////////
//  Opinion Labs
/////////////////////////////////////////////////////////////////////*/
#oo_tab .screen_reader {
  display: none;
}

@media all and ( min-width:768px ) {
  /*
  OnlineOpinion v5.8.2
  Released: 02/27/2014. Compiled 04/23/2014 09:51:37 AM -0500
  Branch: CLIENTREQ-219 Apr
  Components: Full
  UMD: disabled
  The following code is Copyright 1998-2014 Opinionlab, Inc.  All rights reserved. Unauthorized use is prohibited. This product and other products of OpinionLab, Inc. are protected by U.S. Patent No. 6606581, 6421724, 6785717 B1 and other patents pending. http://www.opinionlab.com
  */

  .oo_feedback_float { display: block; }

  #oo_company_logo img { max-height: 100%; max-width: 100%; height: auto; width: auto\9; /* ie8 */ }

  #oo_feedback_fl_spacer { display: block; height: 1px; position: absolute; top: 0; width: 100px; }

  .oo_feedback_float { width: 100px; height: 50px; overflow: hidden; font: 12px Tahoma, Arial, Helvetica, sans-serif; text-align: center; color: #252525; cursor: pointer; z-index: 999997; position: fixed; bottom: 5px; border: 1px solid #cccccc; border-radius: 9px; -moz-border-radius: 9px; -webkit-border-radius: 9px; right: 10px; -webkit-transition: -webkit-transform 0.3s ease; }
  .oo_feedback_float .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }
  .oo_feedback_float .olUp { width: 100%; height: 100%; background: url(/public/scripts/onlineopinionV5/oo_float_icon.gif) center 10px no-repeat; text-align: center; padding: 31px 0 5px 0; position: relative; z-index: 2; filter: alpha(opacity=100); opacity: 1; transition: opacity .5s; -moz-transition: opacity .5s; -webkit-transition: opacity .5s; -o-transition: opacity .5s; }
  .oo_feedback_float .olUp img { margin-bottom: 5px; }
  .oo_feedback_float .oo_transparent { display: block; background: transparent; position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 1; opacity: 0.8; filter: alpha(opacity=80); border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; }
  /*.oo_feedback_float:hover .oo_transparent { opacity: 1.0; filter: alpha(opacity=100); }*/
  .oo_feedback_float:hover .olUp {display: block; opacity: 0; filter: alpha(opacity=0); }
  .oo_feedback_float .fbText { display: block; }
  .oo_feedback_float .olOver { display: block; height: 100%; width: 100%; position: absolute; top: 0; left: 0; min-height: 50px; z-index: 2; opacity: 0; filter: alpha(opacity=0); transition: opacity .5s; -moz-transition: opacity .5s; -webkit-transition: opacity .5s; -o-transition: opacity .5s; }
  .oo_feedback_float .olOver span { display: block; padding: 10px 5px; }
  .oo_feedback_float:hover .olOver { background: white;opacity: 1.0; filter: alpha(opacity=100); top: 0; }

  .oo_cc_wrapper { left: 0; padding: 0; position: fixed; text-align: center; top: 25px; width: 100%; z-index: 999999; }
  .oo_cc_wrapper .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }
  .oo_cc_wrapper span { width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; }
  .oo_cc_wrapper .iwrapper { background-color: white; margin: 0 auto; position: relative; width: 535px; z-index: 2; box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; -webkit-box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; -moz-box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; border-radius: 9px; -moz-border-radius: 9px; -webkit-border-radius: 9px; }
  .oo_cc_wrapper iframe { position: relative; border: none; width: 100%; z-index: 4; }
  .oo_cc_wrapper .oo_cc_close { position: absolute; display: block; background: white; height: 20px; width: 20px; border: 1px solid #cccccc; cursor: pointer; right: -12px; top: -9px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; transition: background .5s; -moz-transition: background .5s; -webkit-transition: background .5s; -o-transition: background .5s; font: 14px/20px Tahoma, Arial, Helvetica, sans-serif; text-align: center; z-index: 5; color: #252525; text-decoration: none; }
  .oo_cc_wrapper .oo_cc_close:hover { background: #eeeeee; }

  .oo_bar { padding-bottom: 22px; }

  #oo_bar { cursor: pointer; color: #252525; border-top: 1px solid #cccccc; background: #ffffff; bottom: 0; display: block; font: 12px Tahoma, Arial, Helvetica, sans-serif; height: 22px; left: 0; line-height: 22px; position: fixed; text-align: left; width: 100%; z-index: 999997; -webkit-transition: -webkit-transform .3s ease; transition: background 0.5s; -moz-transition: background 0.5s; -webkit-transition: background 0.5s; -o-transition: background 0.5s; }
  #oo_bar:hover { background: #eeeeee; }
  #oo_bar .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }
  #oo_bar span { display: block; margin: 0 15px; height: 100%; padding-left: 17px; }

#oo_tab { background-color: #154995 !important; display: block; position: fixed; top: 40%; padding: 55px 0px 55px 0px; width: 35px; z-index: 999995; cursor: pointer; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  #oo_tab span { bottom: 15px; display: block; background: url(/public/scripts/onlineopinionV5/oo_tab_icon.gif) no-repeat; height: 9px; position: absolute; width: 9px; }
  #oo_tab div { background-image: url(/public/scripts/onlineopinionV5/oo_tab.png); background-repeat: no-repeat; position: absolute; display: block; height: 100%; left: 0; top: 0; width: 100%; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  #oo_tab.wcag a { background: url(/public/scripts/onlineopinionV5/oo_tab_icon.gif) no-repeat; background-repeat: no-repeat; background-position: center bottom; border: none; outline: none; position: absolute; display: block; bottom: 14px; left: -6px; top: 0; width: 100%; }
  #oo_tab.wcag img { border: none; outline: none; display: block; position: absolute; left: -6px; top: -10px; }
  #oo_tab .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }

  #oo_tab .screen_reader { position: absolute; clip: rect(1px 1px 1px 1px); /* for Internet Explorer */ clip: rect(1px, 1px, 1px, 1px); padding: 0; border: 0; height: 1px; width: 1px; overflow: hidden; }

  .oo_tab_left { left: -13px; transition: left .5s; -moz-transition: left .5s; -webkit-transition: left .5s; -o-transition: left .5s; background-image: -webkit-gradient(linear, 0% 100%, 0% 0%, from(#eeeeee), to(#ffffff)); background-image: -webkit-linear-gradient(left, #eeeeee, #ffffff); background-image: -moz-linear-gradient(left, #eeeeee, #ffffff); background-image: -ms-linear-gradient(left, #eeeeee, #ffffff); background-image: -o-linear-gradient(left, #eeeeee, #ffffff); background-image: linear-gradient(left, #eeeeee, #ffffff); }
  .oo_tab_left span { right: 6px; }
  .oo_tab_left div { background-position: 6px -10px; }
  .oo_tab_left:hover { left: -5px; }

  .oo_tab_right { right: -13px; transition: right .5s; -moz-transition: right .5s; -webkit-transition: right .5s; -o-transition: right .5s; }
  .oo_tab_right span { left: 7px; }
  .oo_tab_right div { background-position: -6px -10px; }
  .oo_tab_right:hover { right: -5px; }

  .oo_tab_ie_right { border-right: none !important; right: 1px; width: 25px !important; }
  .oo_tab_ie_right:hover { right: 6px; width: 30px !important; }

  #oo_tab.oo_tab_ie67_right.wcag { overflow: hidden !important; right: 0px !important; width: 26px !important; }
  #oo_tab.oo_tab_ie67_right.wcag:hover { right: 0px !important; width: 31px !important; }
  #oo_tab.oo_tab_ie67_right.wcag a { background: none; z-index: 1; }
  #oo_tab.oo_tab_ie67_right.wcag .screen_reader { bottom: 15px; display: block; height: 9px; width: 9px; position: absolute; left: 7px; top: auto; z-index: 9999; }

  #oo_tab_1 { background-color: #f13f3c; border: 2px solid #ffffff; display: block; position: fixed; top: 40%; padding: 15px 0px 15px 0px; _height: 30px; _padding: 0px; _top: 45%; width: 105px; z-index: 999995; cursor: pointer; box-shadow: rgba(0, 0, 0, 0.7) 0 0 3px; -moz-box-shadow: rgba(0, 0, 0, 0.7) 0 0 3px; -webkit-box-shadow: rgba(0, 0, 0, 0.7) 0 0 3px; }
  #oo_tab_1 span { bottom: 6px; display: block; height: 17px; position: absolute; width: 19px; }
  #oo_tab_1 div { position: absolute; display: block; height: 100%; left: 0; top: 0; width: 100%; }
  #oo_tab_1 .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }

  .oo_tab_right_1 { right: -75px; border-radius: 5px 0px 0px 5px; -moz-border-radius: 5px 0px 0px 5px; -webkit-border-radius: 5px 0px 0px 5px; transition: right 1.0s; -moz-transition: right 1.0s; -webkit-transition: right 1.0s; -o-transition: right 1.0s; background-image: -webkit-linear-gradient(top, #ee5853, #c73b32); background-image: -moz-linear-gradient(top, #ee5853, #c73b32); background-image: -ms-linear-gradient(top, #ee5853, #c73b32); background-image: -o-linear-gradient(top, #ee5853, #c73b32); background-image: linear-gradient(top, #ee5853, #c73b32); }
  .oo_tab_right_1 span { left: 7px; }
  .oo_tab_right_1:hover { right: -5px; }

  .oo_tab_left_1 { left: -78px; border-radius: 0px 5px 5px 0px; -moz-border-radius: 0px 5px 5px 0px; -webkit-border-radius: 0px 5px 5px 0px; transition: left 0.5s; -moz-transition: left 1.0s; -webkit-transition: left 1.0s; -o-transition: left 1.0s; background-image: -webkit-linear-gradient(top, #ee5853, #c73b32); background-image: -moz-linear-gradient(top, #ee5853, #c73b32); background-image: -ms-linear-gradient(top, #ee5853, #c73b32); background-image: -o-linear-gradient(top, #ee5853, #c73b32); background-image: linear-gradient(top, #ee5853, #c73b32); }
  .oo_tab_left_1 span { right: 6px; }
  .oo_tab_left_1 div { background-position: 6px -10px; }
  .oo_tab_left_1:hover { left: -5px; }

  a#oo_tab_text_1 { background-image: none; font-family: Tahoma, Helvetica, Arial, sans-serif; line-height: 16px; font-size: 16px; }
  a#oo_tab_text_1:hover { text-decoration: none; }

  a#oo_tab_text_1.right { color: white; position: absolute; top: 7px; left: 33px; }

  a#oo_tab_text_1.left { color: white; position: absolute; top: 7px; left: 10px; }

  #oo_container { position: fixed; height: 100%; width: 100%; top: 0; left: 0; z-index: 999999; }

  html body #oo_invitation_prompt { font-family: 'Lato'; background: white; box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; -webkit-box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; -moz-box-shadow: rgba(0, 0, 0, 0.6) 0 0 15px; -webkit-box-shadow: rgba(0, 0, 0, 0.6) 0 0 8px; -moz-box-shadow: rgba(0, 0, 0, 0.6) 0 0 8px; border-radius: 9px; -moz-border-radius: 9px; -webkit-border-radius: 9px; color: #252525; font: 14px/20px Tahoma, Arial,san-serif; line-height: 20px; margin: 50px auto; text-align: left; position: relative; width: 535px; height: 270px; z-index: 999999; }
  html body #oo_invitation_prompt h1 { display: inline-block; *display: inline; zoom: 1; font-size: 19px; font-weight: bold; margin-bottom: .6em; margin-top: 4%; margin-right: 15%; float: right; *float: none; position: absolute; left: 25px; }
  html body #oo_invitation_prompt p { margin-bottom: 1.5em; }
  html body #oo_invitation_prompt #prompt_buttons { width: 64%; *width: 700px; margin-top: 6%; margin-left: auto; margin-right: auto; *margin-left: 17%; padding-bottom: 15px; position: relative; z-index: 5; }
  html body #oo_invitation_prompt #oo_launch_prompt { text-decoration: none; color: white; padding: 8px 60px; margin-right: 17px; }
  html body #oo_invitation_prompt #oo_no_thanks { text-decoration: none; color: white; padding: 8px 40px; }
  html body #oo_ol_brand { display: block; height: 18%; position: absolute; bottom: 0; width: 100%; }

  #oo_invitation_prompt_sub_header { padding-left: 5%; padding-right: 5%; }

  #oo_header_pad { height: 9%; width: 100%; background: #EEEEEE; border-top-width: 1px; border-top-style: solid; border-bottom-width: 1px; border-bottom-style: solid; border-color: #CCCCCC; }

  #oo_company_logo { width: 20%; height: 18%; margin-left: 5%; margin-top: 2%; padding-bottom: 1%; display: inline-block; *display: inline; zoom: 1; }

  #oo_ol_brand { border-top: 1px solid #cccccc; }

  #oo_ol_brand_logo { margin-top: 3%; margin-left: 4%; margin-right: 4%; display: inline-block; width: 16%; height: 35px; }

  #oo_invitation_prompt a { background: #808284; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; transition: background .5s; -moz-transition: background .5s; -webkit-transition: background .5s; -o-transition: background .5s; }
  #oo_invitation_prompt a:hover { background: #808284; }

  a#oo_launch_prompt { background: #4D9900; }
  a#oo_launch_prompt:hover { background: #4D9900; }

  #oo_ol_brand_footer_text { padding-top: 5px; width: 44%; position: fixed; display: inline-block; font-size: 10px; }

  #oo_ol_brand_footer_text a { color: #333333; background: #FFFFFF; }
  #oo_ol_brand_footer_text a:hover { color: #333333; background: #FFFFFF; }

  #oo_ol_brand_footer_text p { font-size: 10px; margin: 0; padding: 0; }

  #oo_close_prompt { position: absolute; display: block; background: white; height: 20px; width: 20px; border: 1px solid #cccccc; cursor: pointer; right: 5px; top: 5px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; transition: background .5s; -moz-transition: background .5s; -webkit-transition: background .5s; -o-transition: background .5s; font: 14px/20px Tahoma, Arial, Helvetica, sans-serif; text-align: center; }
  #oo_close_prompt:hover { background: #eeeeee; }
  #oo_close_prompt .screen_reader { color: transparent; display: block; position: relative; height: 0; width: 0; line-height: 0; overflow: hidden; }
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-device-width: 480px) { 
  /* Styles */
  html body #oo_invitation_prompt { 
    width: 90%; 
    padding: 3%; 
    -webkit-text-size-adjust: none; 
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
  } 
}

@media all and (-webkit-min-device-pixel-ratio: 2) { 
  #oo_ol_brand { 
    -webkit-background-size: 85px 13px;
  }
  
  #oo_overlay, 
  #oo_invitation_overlay {
    position: fixed;
    z-index: 999998;
    top: 0; 
    left: 0;
    display: block;
    width: 100%; 
    height: 1000%; 
    background: black url(/public/scripts/onlineopinionV5/oo_loading.gif) 50% 80px no-repeat; 
    opacity: 0.5; 
    filter: alpha(opacity=50); 
  }
  
  #oo_overlay.no_loading, 
  #oo_invitation_overlay.no_loading { 
    background: black; 
    opacity: 0.5; 
    filter: alpha(opacity=50); 
  }
}

.oo_feedback_float { border: none; }
.oo_feedback_float:hover { border: 1px solid #cccccc; }
