@import url(https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900);
@import url(https://fonts.googleapis.com/css?family=PT+Sans);
/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
a{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;
text-decoration: none; color: #BDD73C;}
a img{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
.smoothie{-webkit-transition:all 1s ease;
         -moz-transition:all 1s ease;
               -o-transition:all 1s ease;
                     transition:all 1s ease;}
body,html{width: 100%; height: 100%; background: #EDEDED;}
ul,li,h1,h2,h3,h4,h5,h6{margin: 0; padding: 0;}
.hinsp{font-size: 16px;}
.header{width: 100%; height: auto; min-height: 100px; background: #BDD73C;}
.innerheader{width: 100%; height: auto; max-width: 1200px; margin: 0 auto; padding: 20px; text-align: center;}
.logo{width: 33%; max-width: 340px; min-width: 300px; margin: 0 auto;}
.logo img{width: 100%;}
.phone{padding: 0; margin: 0 0 5px; font-family: 'Lato', sans-serif; text-transform: uppercase; letter-spacing: 1.2px; font-size: 18px; line-height: 20px; color: #fff; }
.social{width: 100%; text-align: center; padding:10px 0 0; }
.social i{font-size: 26px; }
.social a{color: #fff; display: inline-block; margin: 0 5px; font-size: 26px; }
.social a:hover{color: #BDD73C;}
.lefth{width: 23%; height: 50px; text-align: left; }

.navbar{width: 100%; height: auto; padding: 10px; background: #fff;}
.phantomnavbar{ opacity: 0;width: 100%; height: auto; padding: 10px; position: fixed; top:0; left: 0; z-index: -1000000;box-shadow: 0 14px 28px rgba(150,150,150,0.15), 0 10px 10px rgba(150,150,150,0.12); -webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;}
.phantomnavbar.sticky{opacity: 1; z-index: 999998; background: #fff; display: flex; justify-content: space-between; flex-wrap: wrap;}
.responsivenav{width: 100%; height: auto; max-width: 1200px; margin: 0 auto;}
.rnav{list-style-type: none; width: 100%; text-align: center;}
.rnav li{display: inline-block; margin: 0 20px;}
.rnav li a{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #0D0D0D;}
.rnav li a.current{color: #fff; background: #0D0D0D;}
.rnav li a:hover{color: #BDD73C;}
.toggler{display: none;}
.toggler{font-family: 'Lato', sans-serif; font-size: 16px; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #0D0D0D; padding: 0; margin: 0; text-align: center}
.toggler i{margin-left: 5px; margin-top: -0px;}

.chooser{text-align: center;}
.chooser{font-family: 'Lato', sans-serif; font-size: 16px; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #fff; padding:  0 0 10px 0; margin: 0; text-align: center}
.chooser i{margin-left: 5px; margin-top: -0px;}

.choosee{display: none;}
.choosee li{display: block; margin-bottom: 5px; text-align: center;}
.choosee li a.current{color: #BDD73C;}
.choosee li a{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #fff;}
/*



.toggler i{margin-left: 10px;}
.togglee{display: none;}
*/

.eacherror{color: firebrick;}

.content{width: 100%; height: auto; background: #0D0D0D;}
.slide{width: 100%; position: relative; padding: 20px; overflow: hidden;}
.slide img{width: 100%; position: relative;}
.twoblind{position: absolute; top: 20px; right: 20px; width: 400px; z-index: 2000;}
.twoblind img{width: 100%;}
.slidecaption{position: absolute; top: 20px; left: 20px;  z-index: 100000;}
.slidecaption h2{background:#0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; font-size: 32px; margin-bottom: 10px;}
.slidecaption a.overbutton{background: #0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; padding: 10px 20px;}
.slidecaption h4{background: #0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; padding: 10px 20px; display: inline-block; margin: 0; font-weight: 300;}


.split50{width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 20px;position:relative;}
.eachsplit{width: 50%; padding: 200px 20px;position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center;}
.eachsplitimage{width: 100%; height: 100%;position: absolute; top: 0; left: 0; transition: 1s all ease;}

.eachsplitcover{position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 5; background: #1a1a1a; opacity: 0.4;transition: 1s all ease;}
.eachsplitbutton{text-align: center; padding: 10px 20px; position: relative; z-index: 10;position: relative;vertical-align: middle; }
.eachsplitbutton span{font-size: 34px; font-weight: 300;transition: 1s all ease;color: #fff; text-transform: uppercase; letter-spacing: 2px; font-family: 'Lato', sans-serif;}
.eachsplit:hover .eachsplitimage{transform: scale(1.05,1.05)}
.eachsplit:hover .eachsplitcover{opacity: 0.7;}
.eachsplit:hover .eachsplitbutton span{letter-spacing: 5px;}
.eachsplitbutton:hover{background: #fff;}
.eachsplitbutton:hover span{color: #1a1a1a;}

.contentbuffer{padding: 20px;}
button {
  background: none;
  border: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 1em;
  padding: 1em 2em;
  -webkit-box-shadow: inset 0 0 0 2px #f45e61;
          box-shadow: inset 0 0 0 2px #f45e61;
  color: #f45e61;
  font-size: inherit;
  font-weight: 700;
  position: relative;
  vertical-align: middle;
}
.eachsplitbutton::before, .eachsplitbutton::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
}

.draw {
  -webkit-transition: color 0.25s;
  transition: color 0.25s;
}
.draw::before, .draw::after {
  border: 2px solid transparent;
  width: 0;
  height: 0;
}
.draw::before {
  top: 0;
  left: 0;
}
.draw::after {
  bottom: 0;
  right: 0;
}
.draw:hover {
  color: #fff;
}
.eachsplit:hover .draw::before,.eachsplit:hover .draw::after {
  width: 100%;
  height: 100%;
}
.eachsplit:hover .draw::before {
  border-top-color: #fff;
  border-right-color: #fff;
  -webkit-transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
  transition: width 0.25s ease-out, height 0.25s ease-out 0.25s;
}
.eachsplit:hover .draw::after {
  border-bottom-color: #fff;
  border-left-color: #fff;
  -webkit-transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
  transition: border-color 0s ease-out 0.5s, width 0.25s ease-out 0.5s, height 0.25s ease-out 0.75s;
}





.texter{width: 100%; height: auto; padding: 20px; text-align: left; font-family: 'PT Sans', sans-serif; background: url(../img/2blind.png) no-repeat top right;}
.innertexter{width: 100%; height: auto; max-width: 800px; margin: 0 auto;}

.boxes{width: 100%; height: auto; overflow: hidden; margin-bottom: 20px;}
.eachbox{width: 33.3333%; height: 300px; float: left; position: relative;}
.boxoverlay{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 10;}

.eachbox:hover .boxoverlay{background: rgba(0,0,0,0.1);}
.boxlink{position: absolute; bottom: 0; left: 0; background: #0D0D0D; color: #fff; padding: 10px; font-family: 'Lato', sans-serif; text-transform: uppercase; letter-spacing: 1.2px; font-size: 22px; z-index: 20; }
.eachbox:hover .boxlink{background: #fff; color: #0D0D0D;}
.box1{background: #ccc; background: url(../img/safety1.jpg); background-size: cover;}
.box2{background: #f00; background: url(../img/box2.jpg); background-size: cover;}
.box3{}



.footer{width: 100%; height: auto; padding: 20px; text-align: center; font-family: 'PT Sans', sans-serif; background: #0D0D0D; min-height: 100px;}
.innerfooter{width: 100%; height: auto; max-width: 1000px; margin: 0 auto;}
.footerlogo{width: 200px; margin: 0 auto 10px;}
.footerlogo img{width: 100%;}
.footernav{list-style-type: none; width: 100%; text-align: center;}
.footernav li{display: inline-block; margin: 0 10px;}
.footernav li a{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #fff; font-size: 12px;}
.footerdetails{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #fff; font-size: 12px;}
.footerdetails a{color: #BDD73C;}
.footernav li a.footcurrent{color: #BDD73C;}
.accreditation{width: 100%;}
.accreditation img{width: 100px; margin: 10px auto 0;}

.quoteslide{width: 100%; height: 100%; position: relative;}
.testimonialholder{width: 100%; height: 100%; }
.testimonial{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #fff; z-index: 20; position: relative; 
display: flex !important; justify-content: center; align-items: center; flex-direction: column; flex-wrap: nowrap; width: 100%; height: 100%; padding: 5% 20%;}
.quoter {position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; background: url(../img/quoter.png) no-repeat top left rgba(0,0,0,0.8);}
.testimonials{width: 100%; margin-bottom: 20px; height: auto; min-height:300px; position: relative; overflow: hidden;}
.test_text{width: 100%; margin-bottom: 10px;}
.test_line{width: 100%; height: 1px; margin-bottom: 10px; background: rgba(255,255,255,0.3);}
.test_name{width: 100%; text-align: left; font-size: 12px;}
.test_link{position: absolute; bottom: 0; left: 0; background: #0D0D0D; color: #fff; padding: 10px; font-family: 'Lato', sans-serif; text-transform: uppercase; letter-spacing: 1.2px; font-size: 22px; z-index: 20; }

.subfooter{width: 100%; text-align: center; color: #b3b3b3; font-size: 10px; padding-top: 20px; }
.subfooter a{color: #F7CA18;}
.subfooter a:hover{color:#fff;background: none;}
/* ==========================================================================
   About
   ========================================================================== */
.videoembed{width: 100%; position: relative; padding: 20px; overflow: hidden;}
.innervideoembed{width: 100%; height: auto; max-width: 800px; margin: 0 auto;}
.innervideoembed img{max-width: 100%;}
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }


/* ==========================================================================
   Products
   ========================================================================== */

.gallerycontent{padding: 10px 0 10px;}
.gallerycontent2{padding: 2px 0 2px;}
.productgallery{width: 100%; margin: 0 auto; max-width: 1000px; padding: 10px 0 20px 0;}
.pageheader{width: 100%; padding: 20px; font-family: 'Lato', sans-serif; text-transform: uppercase; letter-spacing: 1.2px; font-size: 22px; line-height: 26px; color: #fff; margin: 0; text-align: center; font-weight: 400; }
.phdark{color: #0d0d0d;}
.product{width: 100%; max-width: 800px; margin: 0 auto;}
.productlink{width: 100%;}
.productimage{width: 100%;}
.productimage img{width: 100%;}
.productinfo{width: 100%; padding: 20px 0; font-family: 'PT Sans', sans-serif;}
.formheader{border-bottom: 1px solid #000; display: block; line-height: 42px; margin-bottom: 10px;}
.formphone{margin-bottom: 10px;}
.formlink{padding: 10px 20px; text-align: center; background: #0D0D0D; color: #fff;font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 300; letter-spacing: 1.2px; width: 100%; display: block;}
.formlink:hover{background: #BDD73C; color: #0D0D0D;}

.gallerylink{padding: 10px 20px; text-align: center; background: #BDD73C; color: #fff;font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 300; letter-spacing: 1.2px; width: 100%; display: block;}
.gallerylink:hover{background:#0D0D0D; color: #fff;}

/* ==========================================================================
   Commercial
   ========================================================================== */

.commercial{width: 100%; max-width: 800px; margin: 0 auto 20px; padding: 10px 0;}
.eachcommercial{width: 100%; height: auto; box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.08); overflow: hidden; display: flex; justify-content: space-between; background: #EDEDED;  position: relative; margin-bottom: 20px;}

.com1{flex-direction: row; }
.com2{flex-direction: row-reverse; }
.commercialimage{width: 40%;}
.commercialimage img{width: 100%;}
.commercialdetails{width: 60%; padding: 20px;}



/* ==========================================================================
   Gallery
   ========================================================================== */
.gallerybuffer{width: 100%; height: 20px; background: #ededed;}

/* ==========================================================================
   Blog
   ========================================================================== */
.blog{width: 100%; }
.blogimage{width: 100%; max-width: 800px; padding: 10px 0; margin: 0 auto; position: relative;}
.blogimage img{width: 100%; margin-bottom: 0;}
.bloginfo{width: 100%;max-width: 800px; margin: 0 auto; padding: 0; font-family: 'PT Sans', sans-serif;}
.blogtitle{position: absolute; top: 20px; left: 20px; width: calc(100% - 40px);}
.blogtitle h1{background:#0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; font-size: 24px; margin-bottom: 10px; padding: 0; margin: 0; line-height: 24px; letter-spacing: 1.2px; font-weight: 400; padding: 5px;}
.blogtitle h4{background:#0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; font-size: 14px; margin-bottom: 10px; padding: 0; margin: 0; line-height: 14px;letter-spacing: 1.2px; font-weight: 300; padding: 5px;}

.info3map{width: 100%; height: 400px;}


/* ==========================================================================
   CONTACT
   ========================================================================== */
.eachcontact{width: 43%;}

.contactsocial{padding: 10px 0 0; text-align: left;}
.theform{width:100%; margin: 0 auto; display: flex; justify-content: space-between; flex-wrap: wrap; background: #fff; background: rgba(255,255,255,0.6); padding: 20px;}
.halfinput{width:  49%; position: relative;}
.fullinput{width: 100%; position: relative;}
.textinput{width: 100%; border:none; padding: 15px; font-size: 0.8rem; background: rgba(0,0,0,0.05); color: #0C0C0B; margin-bottom: 20px;}
.callinput{background: rgba(255,255,255,0.7);}
.submitbutton{width: 100%; border:none; border-radius: 2px; background: #BDD73C;color: #0d0d0d; padding: 15px; transition: 0.4s; cursor: pointer; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px;}
.submitbutton:hover{background: #0d0d0d; color: #BDD73C;}
.submitbutton:active{background: #0d0d0d; color: #fff;}
.checkinput{margin-bottom: 10px;}
textarea{height: 120px;}
.formhead{width: 100%; margin-bottom: 20px;}


/* ==========================================================================
   LINKS
   ========================================================================== */
.eachuseful{width:100%; background:#f7f7f7; padding:20px 20px 40px 20px; margin-bottom:20px; position:relative;}
.usefullink{position:absolute; bottom:0; right:0; padding:10px; background: #fff; color: #0d0d0d;}
.usefullink:hover{position:absolute; bottom:0; right:0; padding:10px; color: #fff; background: #0d0d0d;}
.smallchevron{font-size:0.7rem;}

.sitemapul{list-style-type: none;}
.sitemapul li{margin-bottom:5px; padding: 10px; background: #fff;}
.sitemapul li ul li{margin-bottom:0px; background:none;}
.sitemapul li ul{list-style-type: none;}

/* ==========================================================================
   PRIVACY
   ========================================================================== */
.privacylinks{width: 100%; padding: 40px 40px 20px; background: #0d0d0d; display: flex; justify-content: space-between; flex-wrap: wrap; }
.privacylink{width: calc(50% - 10px); margin-bottom: 20px; padding: 10px; background: #fff; color: #0d0d0d; transition: all 0.3s cubic-bezier(.25,.8,.25,1); box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); text-transform: uppercase; font-weight: 400; font-size: 14px;}
.privacylink:hover{background: #BDD73C; }
.privacycontent{padding: 40px 0;}

.ptable{margin: 20px 0;}
.ptable tr td{padding: 20px;}
.ptable thead th{padding: 20px; background: #0d0d0d; }
.ptable thead th p strong{font-weight: 700; color: #BDD73C;}
/* ==========================================================================
   TOOLTIPS
   ========================================================================== */

.smallprint{font-size: 12px !important;}
.smallprint p{font-size: 12px !important; line-height: 20px;}

.has-tooltip:hover + .tooltip,
.has-tooltip:focus + .tooltip,
.has-tooltip.hover + .tooltip {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.has-tooltip:hover + .textinput { background-color: yellow;}
.has-tooltip{color: #0d0d0d;}
.tooltip {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.75) rotate(5deg);
  transform-origin: bottom center;
  padding: 10px 30px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  color: #fff;
    font-size: 12px;
  transition: 0.15s ease-in-out;
  opacity: 0;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
  z-index: 5;
}
.tooltip.blue {
  background: rgba(13,13,13, 0.75);
}
.tooltip.blue:after {
  border-top: 5px solid rgba(13,13,13, 0.75);
}
.tooltip.red {
  background: rgba(231, 29, 54, 0.75);
}
.tooltip.red:after {
  border-top: 5px solid rgba(231, 29, 54, 0.75);
}
.tooltip.green {
  background: rgba(46, 196, 182, 0.75);
}
.tooltip.green:after {
  border-top: 5px solid rgba(46, 196, 182, 0.75);
}
.tooltip.purple {
  background: rgba(165, 147, 224, 0.75);
}
.tooltip.purple:after {
  border-top: 5px solid rgba(165, 147, 224, 0.75);
}
.tooltip:hover {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1) rotate(0deg);
  pointer-events: inherit;
}
.tooltip img {
  max-width: 100%;
}
.tooltip:after {
  content: "";
  display: block;
  margin: 0 auto;
  widtH: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid rgba(0, 0, 0, 0.75);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}

.field {
  position: relative;
  padding: 20px;
}
/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 1101px) {.togglee{display: block !important;}}
@media only screen and (max-width: 1100px) {

    .twoblind{width: 100px;}
    .eachbox{width: 100%;}
    .toggler{display: block;}
    .togglee{display: none;}
    .rnav{padding-top: 10px;}
.rnav li{display: block; margin-bottom: 5px;}
.rnav li a.current{color: #fff; background: #0D0D0D;}
.rnav li a{font-family: 'Lato', sans-serif; text-transform: uppercase; font-weight: 400; letter-spacing: 1.2px; color: #0D0D0D;}
    
}
@media only screen and (max-width: 800px) {
    .product{display: block; }
    .productlink{width: 100%; margin-bottom: 20px; }
    .productimage{width: 100%; height: auto; overflow: hidden;}
    .productinfo{width: 100%; padding: 0;}
    .blogtitle h2{font-size: 24px; line-height: 32px;}
.blogtitle h4{font-size: 12px; line-height: 14px;}
    
    .eachcommercial{width: 96%; margin: 0 auto; height: auto; box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.08); overflow: hidden; display: flex; justify-content: space-between; flex-wrap: wrap; background: #fff; margin-bottom: 20px;}
.com1{flex-direction: row-reverse; }
.com2{flex-direction: row-reverse; }
.commercialimage{width: 100%; height: 200px;}

.commercialdetails{width: 100%; padding: 20px;}
.slidecaption{position: relative;z-index: 100000000; top: 0; left: 0;}
.slidecaption h2{background:#0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; font-size: 22px; margin-bottom: 10px;}
.slidecaption a.overbutton{background: #0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; padding: 10px 0;}
.slidecaption h4{background: #0D0D0D; color: #fff; font-family: 'Lato', sans-serif; text-transform: uppercase; margin: 0; padding: 0;}
    
    .halfinput{width:  100%;}
    .testimonials{padding-bottom: 40px; min-height: 100px;}
    .test_link{font-size: 16px;}
    .testimonial{padding: 20px;}
    .eachsplit{width: 100%;}
    .privacylink{width: 100%;}
}

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

















/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
