/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.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.
 */

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

html,
button,
input,
select,
textarea {
    color: #222;
}

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

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * 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 images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

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

/*
 * Remove default fieldset styles.
 */

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

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

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

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

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

/* === Fonts === */

@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 300; src: local('open sans light'), local('opensans-light'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; src: local('open sans'), local('opensans'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3bO3LdcAZYWl9Si6vvxL-qU.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; src: local('open sans semibold'), local('opensans-semibold'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSqRDOzjiPcYnFooOUGCOsRk.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 700; src: local('open sans bold'), local('opensans-bold'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzKRDOzjiPcYnFooOUGCOsRk.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 400; src: local('open sans italic'), local('opensans-italic'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/xjAJXh38I15wypJXxuGMBrrIa-7acMAeDBVuclsi6Gc.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 300; src: local('open sans light italic'), local('opensanslight-italic'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxvR_54zmj3SbGZQh3vCOwvY.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 600; src: local('open sans semibold italic'), local('opensans-semibolditalic'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxuw_rQOTGi-AJs5XCWaKIhU.woff') format('woff'); }
@font-face { font-family: 'Open Sans'; font-style: italic; font-weight: 700; src: local('open sans bold italic'), local('opensans-bolditalic'), url('//themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxhbnBKKEOwRKgsHDreGcocg.woff') format('woff'); }
@font-face { font-family: 'Economica'; font-style: normal; font-weight: 400; src: local('economica'), local('economica-regular'), url('//themes.googleusercontent.com/static/fonts/economica/v1/jObgDQiPUtmACAaaK3pMG7O3LdcAZYWl9Si6vvxL-qU.woff') format('woff'); }
@font-face { font-family: 'Economica'; font-style: normal; font-weight: 700; src: local('economica bold'), local('economica-bold'), url('//themes.googleusercontent.com/static/fonts/economica/v1/UK4l2VEpwjv3gdcwbwXE9KRDOzjiPcYnFooOUGCOsRk.woff') format('woff'); }

/* === Structure === */

.inner { width: 960px; margin: 0 auto; }
.section { clear: both; position: relative; }
.section-bg { width: 100%; clear: both; position: relative; background:url('../img/background-1-middle.gif') repeat-y center; overflow: hidden; height: auto; padding-top: 10px; }
.section-slider { clear: both; width: 1290px; margin: 0 auto; }
.section-slider ul { list-style: none; }
.section-slider .bx-controls-direction a{ margin-left: 8px; margin-right: 5px; }
.section-bucket { clear: both; margin-top: -90px; background-color: #e7e302; z-index: 1000; position: relative; -webkit-box-shadow: 0 8px 6px -6px black; -moz-box-shadow: 0 8px 6px -6px black; box-shadow: 0 8px 6px -6px black; }

#top { position: absolute; top:0px; left: 0px; }

/* === Header === */

#home header { width: 100%; height: 103px; margin: 0px; padding: 0px; }
#content header { width: 100%; height: 103px; background:url('../img/header-dark-bg.gif') no-repeat center; margin: 0px auto 20px; padding: 0px 0px 0px 0px; overflow: visible; }
header a { color: #fff; text-decoration: none; font-size: 13px; margin-left: 30px;  -moz-transition: all 0.3s ease-out;  /* FF4+ */ -ms-transition: all 0.3s ease-out;  /* IE10 */ -o-transition: all 0.3s ease-out;  /* Opera 10.5+ */ transition: all 0.3s ease-out; }
header .logo { float: left; display: block; margin: 40px 0 0 5px; }
header ul { float: right; margin: 46px 10px 0 0; font-family: 'Open Sans', Arial, Helvetica; font-weight: 700; font-size: 13px; line-height: 15px; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; }
header ul li { display: block ; float: left; margin: 0; font-size: 18px;}
header ul li a:hover { color: #e7e302; }
#cssmenu li ul { background: #292929; font-weight: 400; display: none; height: auto; padding: 20px 0px 4px 0px; margin: 0px 0px 0px 10px; border: none; position: absolute; z-index: 200; }
#cssmenu li:hover ul { display: block; }
#cssmenu li li { background-color: #292929; border-top: 1px solid #333; display: block; float: none; margin: 0px 0px 0px 0px; padding: 16px 20px 16px 5px; }
#cssmenu li:hover li a { background: none; }
#cssmenu li ul a { display: block; font-size: 12px; font-style: normal; margin: 0px; padding: 0px 10px 0px 15px; text-align: left; }
#cssmenu li ul a:hover,
#cssmenu li ul li:hover > a { border: 0px; color: #e7e302; text-decoration: none; }
 
/* === Body and Headings === */

body { font-family: 'Open Sans', Arial, Helvetica; font-weight: 300; letter-spacing: 0px; color: #ebebeb; }
body#home { background-color: #292929; }
body#content { background-color: #333; }
body .intro { font-size: 14px; line-height: 20px; padding: 0px; margin: 0px; }
h1 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 60px; line-height: 22px; letter-spacing: -0.5px; color: #e7e302; margin: 20px 0px 30px 0px; }
h2 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 25px; letter-spacing: -0.5px; color: #e7e302; text-transform: uppercase; margin: 0px 0px 0px 0px; }
#content h2 { margin: 20px 0px 0px 0px; }
h3 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 22px; letter-spacing: -0.5px; color: #ebebeb; text-transform: uppercase; }
h4 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 25px; letter-spacing: -0.5px; color: #e7e302; text-transform: uppercase; margin: 20px 0px 5px 0px; }
h5 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 22px; letter-spacing: -0.5px; color: #dadada; text-transform: uppercase; margin: 40px 0px 14px 0px; }
h6 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 25px; letter-spacing: -0.5px; color: #e7e302; text-transform: uppercase; margin: 0px; }
a { color: #e7e302; text-decoration: none; }
a:hover { color: #e7e302; text-decoration: underline; }
p a { color: #e7e302; text-decoration: none; }
p a:hover { color: #e7e302; text-decoration: underline; }
.dark-bg { width: 80%; background-color: #292929; padding: 28px 28px 28px 28px; margin: 20px 0px 40px 0px; }
.std-bg { width: 80%; padding: 28px 28px 28px 28px; margin: 20px 0px 40px 0px; }
:focus, :active { outline: 0; }

/* === Borders === */

.border-1-top { background:url('../img/background-1-top.gif') no-repeat center; width: 100%; height: 27px; margin: 0px auto 0px; position: relative; display: block; text-align: center; overflow: hidden; }
.border-1-bottom { background:url('../img/background-1-bottom.gif') no-repeat center; width: 100%; height: 36px; margin: 0px auto 0px; position: relative; display: block; text-align: center; overflow: hidden; }
.border-2-bottom { background:url('../img/background-2-bottom.gif') no-repeat center; width: 100%; height: 71px; margin: 0px auto 0px; position: relative; display: block; text-align: center; overflow: hidden; }
#width-wrapper { width: 1290px; margin: 0 auto; }


/* === Slider 1 === */

.slider1 { position: relative; overflow: visible; height: 404px; background-color: #ffffff; border-top: 1px solid #ffffff; border-bottom: 1px solid #ffffff; z-index: -500; }
.slider1 ul { overflow: hidden; list-style-type: none; margin: 0px; padding: 0px !important; }
.slider1 li { width: 960px; overflow: hidden; margin: 0px; padding: 0px;  position: relative;}
.bx-pager { display: none; }

/* === Buckets (Home Page) === */

.bucket { width: 152px; float: left; padding: 30px 20px 30px 20px; background: url('../img/bucket-shadow.png') no-repeat left top;  z-index: 9988; overflow: auto; }
.bucket-arrow { width: 152px; float: left; padding: 20px 20px 30px 20px; z-index: 9988; overflow: auto; }
.bucket a {  }
.bucket a:hover { background-color: #fff; }
.bucket-intro { font-family: 'Open Sans', Arial, Helvetica; font-weight: 700; font-size: 12px; line-height: 15px; color: #b1ae01; text-transform: uppercase; letter-spacing: 0.5px; padding: 0 0 10px 0; }
.bucket-heading { font-family: 'Economica', Arial, Helvetica; font-weight: 700; font-size: 30px; line-height: 28px; text-transform: uppercase; letter-spacing: -0.5px; color: #000; padding: 0 0 10px 0; }
.bucket-text { font-family: 'Open Sans', Arial, Helvetica; font-weight: 600; font-size: 11px; line-height: 15px; color: #000; }
.bucket img { vertical-align: bottom; margin-top: 18px; }

/* === Overview (Home Page) === */

.overview { padding: 50px 0px 80px 0px; overflow: visible; }
.overview-left { width: 475px; padding: 10px 0px 10px 35px; float: left; border-left: solid #e7e302 1px; margin-right: 50px; }
.overview-left h1 { font-size: 30px; line-height: 30px; letter-spacing: 0px; margin: 0px 0px 12px 0px; }
.overview-left h6 { font-family: 'Economica', Arial, Helvetica; font-weight: 400; font-size: 24px; line-height: 22px; letter-spacing: -0.5px; color: #e7e302; }
.overview-right { float: left; width: 380px; padding: 0px 0px 15px 0px; text-align: left; }
.overview-left .intro { font-size: 16px; line-height: 24px; } 

/* === Content === */

.content-left { float: left; width: 162px; margin: 0px; padding: 15px 30px 0px 0px; color: #acacac; font-size: 12px; font-weight: 400; min-height: 500px; }
.content-left img { padding: 10px 0px; }
.content-left ul { list-style: none; line-height: 18px; }
.content-left ul li { padding-bottom: 7px; }
.content-left ul li a { color: #acacac; }
.content-left ul li a:hover { color: #fff; }
.content-right { float: left; width: 720px;  margin: 0px 0px 40px 0px; padding-left: 40px; border-left: solid #e7e302 1px; }
.content-right-image { float: left; width: 720px;  margin: 0px 0px 30px 0px; }
.services { padding-top: 50px; }
.clear { clear:both; }
.clear-left { clear: left}
.clear-right { clear: right; }

/* === Quote === */

.quote { width: 960; margin: 70px auto; text-align: center; font-size: 14px; line-height: 20px; font-weight: 300; }
.quote-button { display: inline-block; border: none; background-color: #e7e302; color: #000; -moz-border-radius: 4px; border-radius: 4px; padding: 10px 60px; margin: 0px auto 30px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 700; font-size: 13px; text-transform: uppercase; text-decoration: none; }
.quote-button a { color: #000; text-decoration: none; }
.quote-button-small { border: none; background-color: #e7e302; color: #000; -moz-border-radius: 4px; border-radius: 4px; padding: 10px 10px; margin: 0px auto 30px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 700; font-size: 13px; text-transform: uppercase; text-align: center; text-decoration: none; }
.quote-button-small a { color: #000; text-decoration: none; }
.quote-button-content { display: inline-block; border: none; background-color: #e7e302; color: #000; -moz-border-radius: 4px; border-radius: 4px; padding: 10px 60px; margin: 40px auto 0px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 700; font-size: 13px; text-transform: uppercase; text-decoration: none; }
.quote-button-content a { color: #000; text-decoration: none; }
.h3-quote { margin: 30px 0px 13px 0px; }

/* === Columns === */

.column { width: 220px; padding: 20px 20px 0px 0px; float: left; font-weight: 300; font-size: 13px; line-height: 20px; }
.column .last { width: 240px; padding: 0px 0px 0px 0px; }
.column-three { width: 660px; padding: 20px 0px 0px 0px; font-size: 13px; line-height: 20px; font-weight: 300; display: inline-block; }
.column-three-intro { width: 660px; padding: 20px 0px 0px 0px; font-size: 14px; line-height: 20px; font-weight: 300; display: inline-block; }
.column a { color: #e7e302; }
.column a:hover { color: #e7e302; text-decoration: underline; }
.column img { margin: 10px 0px 10px 0px; }
.column ul { margin: 10px 0px 0px 10px; padding-left:10px; }
.column li { padding-bottom: 6px; }
.column-tight { width: 220px; padding: 0px 20px 0px 0px; float: left; font-weight: 300; font-size: 13px; line-height: 17px; }
.column-tight a { color: #ebebeb; }
.column-tight a:hover { color: #e7e302; }
.column-tight .last { width: 240px; padding: 0px 0px 0px 0px; }

/* === Trust === */

#home .trust { padding: 50px 0px 20px 0px; }
#content .trust { background-color: #292929; background:url('../img/background-2-middle.gif') repeat-y center; overflow: visible; padding: 0px 0px 50px 0px; }
.trust h6 { margin: 0px auto 24px; width: 960px; }
.trust .bx-wrapper { height:114px; width: 960px; border-top: 1px solid #333; border-bottom: 1px solid #333; text-align: center; }
#content .trust .bx-wrapper { height:114px; width: 960px; border-top: 1px solid #333; border-bottom: 1px solid #333; text-align: center; }
.trust img { margin: 0px; padding: 0px; }
.trust ul li { margin: 0px; padding: 0px; }

/* === Footer === */

footer { width: 960px; height: 54px; margin: 0 auto; background:url('../img/footer-bg.gif') no-repeat center; width: 100%; height: 114px; margin: 0px auto; padding: 0; position: relative; display: block; overflow: hidden;  }
footer .logo { float: left; display: block; margin-top: 60px; }
footer .arrow { float: right; display: block; margin-top: 60px; cursor:pointer; }
footer ul { float: left; margin: 64px 0px 0px 44px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 600; font-size: 10px; line-height: 15px; color: #464646; }
footer ul a { color: #464646; text-decoration: none; font-size: 11px;  -moz-transition: all 0.3s ease-out;  /* FF4+ */ -ms-transition: all 0.3s ease-out;  /* IE10 */ -o-transition: all 0.3s ease-out;  /* Opera 10.5+ */ transition: all 0.3s ease-out; }
footer ul li { color: #464646; display: block ; float: left; font-size: 10px; margin-right: 10px; }
footer ul li a:hover { color: #000; cursor:pointer; }
footer img { margin: -6px 0 0 -30px; }

/* === Forms === */

input { background-color: #333333; border: 1px solid #414141; width: 50%; color: #fff; padding: 10px; margin-bottom: 13px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 400; letter-spacing: -0.1px; font-size: 12px; }
input#button:focus { background-color: #e7e302; border: none; }
textarea { background-color: #333333; border: 1px solid #414141; width: 60%; color: #fff; padding: 10px; margin-bottom: 20px; font-family: 'Open Sans', Arial, Helvetica; font-weight: 400; letter-spacing: -0.1px; font-size: 12px; }
textarea:focus, input:focus { border: 1px solid #fff; background-color: #1d1c1c; }
.form-bg { width: 100%; background-color: #292929; padding: 28px 28px 0px 28px; }
.form-bg ul { list-style: none; }
.form-bg-quote { width: 80%; background-color: #292929; padding: 28px 28px 0px 28px; margin: 20px 0px; }
.form-bg-quote ul { list-style: none; }
.forgotten-password { display: inline-block; padding-left: 50px; color: #888; font-size: 11px; font-weight: 400; }
.forgotten-password a { color: #888; }
.forgotten-password a:hover { color: #fff; }
label { display: block; width: 100px; float: left; padding-top: 12px; color: #ACACAC; }

form.wipsearch { display: block; width: 430px; float: right; }
form.wipsearch input { width: 270px;}
/* === Accordion === */

#accordion { margin: 20px 0px; font-weight: 300; color: #ebebeb; border-bottom: 1px solid #7d7d7d; }
#accordion a { color: #e7e302; text-decoration: none; line-height: 20px; }
#accordion a:hover { color: #e7e302; text-decoration: underline; }
#accordion p { padding: 0px 0px 15px 0px; }
#accordion img { float: right; margin: 0px 0px 20px 30px; border: 6px solid #292929; }
#accordion2 { margin: 20px 0px; font-weight: 300; color: #ebebeb; border-bottom: 1px solid #7d7d7d; }
#accordion2 a { color: #e7e302; text-decoration: none; }
#accordion2 a:hover { color: #e7e302; text-decoration: underline; }
#accordion2 p { padding: 0px 0px 15px 40px; }
#accordion2 img { float: right; margin: 0px 0px 20px 14px; border: 6px solid #292929; }
#accordion3 { margin: 20px 0px; font-weight: 300; color: #ebebeb; border-bottom: 1px solid #7d7d7d; }
#accordion3 a { color: #e7e302; text-decoration: none; }
#accordion3 a:hover { color: #e7e302; text-decoration: underline; }
#accordion3 p { padding: 0px 0px 15px 40px; }
#accordion3 img { float: right; margin: 0px 0px 20px 14px; border: 6px solid #292929; }
#accordion4 { margin: 20px 0px; font-weight: 300; color: #ebebeb; border-bottom: 1px solid #7d7d7d; }
#accordion4 a { color: #e7e302; text-decoration: none; }
#accordion4 a:hover { color: #e7e302; text-decoration: underline; }
#accordion4 p { padding: 0px 0px 15px 40px; }
#accordion4 img { float: right; margin: 0px 0px 20px 14px; border: 6px solid #292929; }
#accordion5 { margin: 20px 0px; font-weight: 300; color: #ebebeb; border-bottom: 1px solid #7d7d7d; }
#accordion5 a { color: #e7e302; text-decoration: none; }
#accordion5 a:hover { color: #e7e302; text-decoration: underline; }
#accordion5 p { padding: 0px 0px 15px 40px; }
#accordion5 img { float: right; margin: 0px 0px 20px 14px; border: 6px solid #292929; }
.accordian-header { padding: 14px 0px 0px 0px; border-top: 1px solid #7d7d7d; clear: both; font-weight: 600; font-size: 14px; }
.ui-icon-plus {background: url("../img/accordion-plus.png") no-repeat center; min-height: 13px; min-width: 13px; display: inline-block; margin: 0px 20px 0px 10px; }
.ui-icon-minus {background: url("../img/accordion-minus.png") no-repeat center; min-height: 13px; min-width: 13px; display: inline-block; margin: 0px 20px 0px 10px; }


.wip_table th { background-color: #282828; text-align: left; padding: 5px 8px; font-size: 14px; }
.wip_table th.state, .wip_table td.state { text-align: center }
.wip_table th.preview, .wip_table td.preview { text-align: center;  padding: 0;}
.wip_table th.status, .wip_table td.status { text-align: center; width: 48px !important;}
.wip_table td.status { padding-left: 10px; width: 35px;}
.wip_table td.jobno { width: 74px;}
.wip_table td.status img { float: left;}
.wip_table td { border-bottom: 1px solid #444; padding: 6px 8px; font-size: 14px;}
.wip_table tr:hover td { background-color: #2c2c2c;}
td.preview { text-align: center;}
/* ======== TinyBox ========= */
.tbox {position:absolute; display:none; padding:14px 17px; z-index:900}
.tinner {padding:15px; -moz-border-radius:5px; border-radius:5px; background:#F3F3F3 url(../img/tinybox/preload.gif) no-repeat 50% 50%; border-right:1px solid #333; border-bottom:1px solid #333; color: #000; font-size: 14px;}
.tinner th { width: 140px; text-align: left;}
.tmask {position:absolute; display:none; top:0px; left:0px; height:100%; width:100%; background:#000; z-index:800}
.tclose {position:absolute; top:0px; right:0px; width:30px; height:30px; cursor:pointer; background:url(../img/tinybox/close.png) no-repeat}
.tclose:hover {background-position:0 -30px}

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

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

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

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.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: h5bp.com/p
 */

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

/*
 * Hide visually and from screenreaders, 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;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   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,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        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 for images, or javascript/internal links
     */

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

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

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

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

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

    @page {
        margin: 0.5cm;
    }

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

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