/*!
 * TruckerSearch theme
 *
 */

/*
 * Table of Contents:
 *
 * 1.0 - Reset/Normalized
 * 2.0 - Repeatable Patterns
 * 3.0 - Plugins / Modules / Extensions (in general)
 * 4.0 - Basic Structure
 * 5.0 - Header
 *     5.1 - Site Header
 * 	   5.2 - Navigation / Main Menu
 * 6.0 - Content
 * 7.0 - Footer
 * 8.0 - Specific Pages
 *
 * 9.0 - Media Queries
 *
 * 10.0 - Print
 */


/*--------------- ---------------------------------------------------- ---------------*/


/* 1.0 ---------------------------------------- Reset/Normlized ---------------------------------------- */
/* ----------------------------------------------------------------------------------------------------- */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section,
summary {
    display: block;
}

canvas,
video {
    display: inline-block;
}

[hidden] {
    display: none;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

.page-front html {
    overflow-y: scroll;
}

html,
button,
input,
select,
textarea {
    font-family: "Roboto", "Helvetica Neue", sans-serif;
}

body {
    background: #f5f5f5 50% 0 no-repeat;
    color: #676767;
    font-size: 15px;
    line-height: 1.3;
    margin: 0;
    overflow-x: hidden;
}

a {
    color: #2363af;
    text-decoration: none;
}

a:link,
a:visited {
    color: #2363af;
}

a:active,
a:hover {
    color: #71a144;
    outline: 0;
}

a:focus {
    outline: thin dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    clear: both;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    margin: 0;
}

h1 {
    color: #666;
    font-size: 25px;
    font-weight: 400;
}

h2 {
    color: #91ca41;
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 10px;
}

h3 {
    color: #2767b1;
    font-size: 18px;
    margin-bottom: 10px;
}

h4 {
    font-size: 10px;
}

h5 {
    font-size: 10px;
}

h6 {
    font-size: 10px;
}

b,
strong {
    font-weight: bold;
}

p {
    margin: 0 0 24px;
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 14px;
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
}

pre {
    color: #666;
    font-family: monospace;
    font-size: 14px;
    overflow: auto;
    padding: 20px;
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

blockquote,
q {
    -webkit-hyphens: none;
    -moz-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none;
}

small {
    font-size: smaller;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

dl {
    margin: 0 20px;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 0 20px;
}

menu,
ol,
ul {
    margin: 16px 0;
    padding: 0;
}

ul,
ul li,
nav ul,
nav ol {
    list-style: none;
    list-style-image: none;
}

li>ul,
li>ol {
    margin: 0;
}

img {
    -ms-interpolation-mode: bicubic; /*-IE7-*/
    border: 0;
    vertical-align: middle;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

form {
    margin: 0;
}

fieldset {
    background: #fff;
    padding: 15px 10px 5px;
    border: 0;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
    margin: 0 0 25px 0;
}

.box fieldset {
    box-shadow: none;
}

legend {
    color: #679D1A;
    font-size: 20px;
    white-space: normal;
    padding: 0;
    border: 0;
}

a.button,
button,
input,
select,
textarea {
    font-size: 100%;
    margin: 5px 10px 5px 0;
    max-width: 100%;
    vertical-align: middle;
}

button,
input {
    line-height: normal;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: none;
    cursor: pointer;
}

button[disabled],
input[disabled] {
    cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
    padding: 0;
}

textarea,
input[type="email"],
input[type="password"],
input[type="text"] {
    -webkit-appearance: none;
    border-radius: 0;
}

input[type="search"] {
    -webkit-appearance: textfield;
    padding-right: 2px; /* Don't cut off the webkit search cancel button */
    width: 270px;
}

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;
}

table {
    border-bottom: 1px solid #ededed;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    line-height: 2;
    margin: 0 0 20px;
    width: 100%;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

caption {
    font-size: 16px;
    margin: 20px 0;
}

th {
    font-weight: bold;
    text-transform: uppercase;
}

td {
    border-top: 1px solid #ededed;
    padding: 2px;
}

hr {
    background: #91ca41;
    border: 0;
    height: 1px;
    min-width: 50%;
    margin: 0 0 24px;
}


::selection {
    background: #97b963;
    color: #fff;
}

::-moz-selection {
    background: #97b963;
    color: #fff;
}


/*-- Responsive Images --*/
.site-content img {
    height: auto;
    max-width: 100%;
}


/*-- Make sure videos and embeds fit their containers. --*/
embed,
iframe,
object,
video {
    max-width: 100%;
}



/* 2.0 ---------------------------------------- Repeatable Patterns ---------------------------------------- */
/* --------------------------------------------------------------------------------------------------------- */



/* --------------------------------------- Form items / buttons ---------------------------------------- */

.form-field {
    display: inline-block;
    vertical-align: top;
}

label {
    display: block;
    color: #2466b2;
    font-size: 17px;
    vertical-align: middle;
}

button,
input,
textarea {
    font-family: inherit;
    padding: 4px 6px;
}

input,
select,
textarea,
.select2-selection {
    background: #fff;
    color: #141412;
    border: 1px solid #ddd;
}

select {
    padding: 3px 2px;
}

input[type="checkbox"],
input[type="radio"] {
    font-size: 17px;
    vertical-align: middle;
    margin: 8px 2px 8px 15px;
    border: 0;
}

input:focus,
textarea:focus {
    border: 1px solid #91ca41;
    outline: 0;
}

.form-field.size30 {
    min-width: 29%;
}

.form-field.size50 {
    min-width: 49%;
}

.form-field.size70 {
    min-width: 69%;
}

.form-field.size100 {
    min-width: 99%;
}

.form-field[class*='size'] input,
.form-field[class*='size'] select,
.form-field[class*='size'] textarea {
    width: 100% !important;
}

/* Buttons */
a.button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    display: inline-block;
    background: #91ca41;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    white-space: normal;
    padding: 6px 12px;
    border: 1px solid #91ca41;
    border-radius: 6px;
}

a.button:hover,
a.button:focus,
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
    background: #2767b1;
    color: #fff;
    outline: none;
    border-color: #2767b1;
}

a.button:active,
button:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active {
    background: #9BBB6D;
    color: #000;
    border-color: #9BBB6D;
}

input[disabled] {
    background: #f5f5f5 !important;
}

.btn-outline,
a.btn-outline {
    background: none;
    border-color: #c2c2c2;
}

a.btn-blue {
    background: #3662b2;
    color: #fff;
    border-color: #3662b2;
}

.btn-color-blue,
a.btn-color-blue {
    color: #3662b2;
}

.btn-color-white,
a.btn-color-white {
    color: #fff;
}

a.button.plain {
    background: transparent;
    color: #2363af;
    border-color: transparent;
}

a.button.plain:hover,
a.button.plain:focus {
    color: #9BBB6D;
}

a.button.alt,
button.alt,
input.alt {
    background: #2767b1;
    border-color: #2767b1;
}

a.button.alt:hover,
a.button.alt:focus,
button.alt:hover,
button.alt:focus,
input.alt:hover,
input.alt:focus {
    background: #8bc239;
    border-color: #8bc239;
}

a.button.alt:active,
button.alt:active,
input.alt:active {
    background: #4c719b;
    border-color: #4c719b;
}

.buttons {
    clear: both;
    margin: 20px 0;
}

.buttons a.button,
.buttons button,
.buttons input[type="submit"],
.buttons input[type="button"],
.buttons input[type="reset"] {
    margin: 5px;
}

.front .buttons {
    padding: 0 10px;
}

.last {
    margin-right: 0;
}

.button {
    display: inline-block;
    cursor: pointer;
    line-height: 1;
    vertical-align: top;
    -webkit-transition: background 200ms ease, border 200ms ease;
    transition: background 200ms ease, border 200ms ease;
}

.choose {
    display: inline-flex;
    justify-content: space-between;
    margin: 0 -10px;
}

.panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    font-size: 18px;
    min-height: 40px;
    width: 48%;
    max-width: 365px;
    padding: 15px 8px;
    margin-bottom: 20px;
    transition: 900ms ease all;
}

.panel-drivers {
    background: rgba(39, 103, 177, 0.8)
}

.panel-drivers:hover {
    background: rgba(39, 103, 177, 1)
}

.panel-employers {
    background: rgba(141, 194, 61, 0.8);
}

.panel-employers:hover {
    background: rgba(141, 194, 61, 1)
}

.panel h2+p {
    font-weight: 300;
}

.panel a:link,
.panel a:visited {
    background: transparent;
    color: #fff;
}

.panel a:hover,
.panel a:focus {
    color: #fff;
    border-color: #000;
}

.panel a:active {
    background: #fff;
    color: #006ab0;
    border-color: #fff;
}

.panel .button {
    font-weight: 400;
    max-width: 230px;
    width: 100%;
    border-color: #fff;
}

.huge span {
    display: block;
    clear: both;
    color: #3f610b;
    font-size: 75%;
    padding-top: 10px;
}

.huge:hover span,
.huge:active span,
.huge:focus span {
    color: #8DC23D;
}

a.small {
    font-size: 12px;
    padding: 3px 10px;
}


input[size="30"] {
    max-width: 254px;
    width: 100%;
}

input[size="40"] {
    max-width: 328px;
    width: 100%;
}

input[size="50"] {
    max-width: 398px;
    width: 100%;
}

.modal-open {
    overflow: hidden;
}

/*-- Placeholder text color -- selectors need to be separate to work. --*/
::-webkit-input-placeholder {
    color: #a4a4a4;
}

:-moz-placeholder {
    color: #a4a4a4;
}

::-moz-placeholder {
    color: #a4a4a4;
}

:-ms-input-placeholder {
    color: #a4a4a4;
}


/*--------- form alternate styles----------*/
.frm h1 {
    color: #466ba1;
    font-size: 18px;
    margin: 0 0 25px 0;
    padding: 0;
    text-transform: uppercase;
}

.frm .section {
    margin-bottom: 0;
}

.frm .heading:nth-child(0),
.frm .heading:nth-child(1) {
    margin-bottom: 25px;
}

.frm .heading {
    align-items: center;
    color: #2767b1;
    display: flex;
    flex-direction: row;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 25px;
}

.frm p {
    color: #555;
    font-size: 14px;
    line-height: 18px;
    margin: 0 0 35px 0;
    padding: 0;
}

.frm .form-element {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}

.frm .form-controls {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.frm label {
    color: #777;
    font-size: 13px;
    margin-bottom: 10px;
}

.frm .form-element.checkbox label {
    display: flex;
    align-items: baseline;
    flex-direction: row;
    line-height: 24px;
}

.frm .form-element.checkbox input {
    margin-right: 25px;
}

.frm label .asterisk {
    color: #d5900c;
}

.frm input[type="checkbox"] {
    background-color: #f5f5f5;
    border: none;
    border-radius: 5px;
}

.frm .opt {
    align-items: center;
    display: flex;
    flex-direction: row;
    margin-top: 10px;
}

.frm .opt .button {
    margin: 0 10px 0 0;
}

.frm button {
    border: none;
}

.frm input[type="email"],
.frm input[type="password"],
.frm input[type="tel"],
.frm input[type="text"],
.frm select,
.CbHosted {
    background-color: #fff;
    font-size: 13px;
    width: 100%;
}

.frm select {
    color: #a4a4a4;
}

.frm input[type="email"],
.frm input[type="password"],
.frm input[type="tel"],
.frm input[type="text"],
.frm .select-nondefault {
    color: #2767b1;
}

.CbHosted {
    border: 1px solid #ddd;
}

.frm select:not([multiple]) {
    /*height: 38px;*/
    max-height: none;
    padding: 0 15px 0 8px;
}

.frm input[type="email"]:disabled,
.frm input[type="password"]:disabled,
.frm input[type="tel"]:disabled,
.frm input[type="text"]:disabled,
.frm select:disabled {
    border: 1px solid #808080;
}

.frm .columns {
    display: flex;
    flex-direction: column;
}

.frm .columns .column {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.frm .empty-label {
    display: none;
}

.frm .columns .column:first-child {
    margin-right: 30px;
}

.frm .errors {
    color: red;
    display: none;
    font-size: 16px;
    line-height: 24px;
}

.frm input[type="button"] {
    margin-right: 10px;
    width: 175px;
}

.columns {
    display: flex;
    flex-direction: column;
}

@media (min-width: 500px) {
    .frm.iframe-frm .columns {
        flex-direction: row;
        justify-content: space-between;
    }

    .frm.iframe-frm .columns>.column {
        width: 50%;
    }
}

@media (min-width: 700px) {
    .columns {
        flex-direction: row !important;
        justify-content: space-between;
    }

    .frm h1 {
        font-size: 26px;
        margin: 0 0 50px 0;
    }

    .frm p {
        font-size: 16px;
        line-height: 24px;
        margin: 0 15px 35px 15px;
    }

    .frm .heading {
        font-size: 18px;
        height: 30px;
        line-height: 30px;
        margin-bottom: 50px;
    }

    .frm .section {
        margin-bottom: 35px;
    }

    .frm label {
        font-size: 15px;
        margin-bottom: 12px;
    }

    .frm input[type="text"],
    .frm input[type="password"],
    .frm select,
    .frm button {
        font-size: 16px;
        height: 40px;
        max-width: 100% !important;
        /*width: 100%;*/
    }

    .frm button {
        font-size: 13px !important;
    }

    .frm .columns {
        flex-direction: row;
        justify-content: space-between;
    }

    /*.frm .columns .column {
		width: 50%;
	}*/
    .frm .empty-label {
        display: block;
    }
}

@media (min-width: 1200px) {
    .frm {
        margin: 0 auto;
        max-width: 1050px;
    }
}


/* --------------------------------------- Tables ---------------------------------------- */

@media screen and (max-width: 1000px) {

    .responsive th {
        display: none;
    }

    .responsive tbody tr {
        float: left; /*-IE9-*/
        width: 100%; /*-IE9-*/
        display: block;
        background: #f5f5f5;
        padding: 10px 10px 35px;
    }

    .responsive td {
        display: block;
        background: #fff;
        float: left; /*-IE9-*/
        width: 100%; /*-IE9-*/
        text-align: right !important;
        min-height: 21px;
        padding: 2px 5px;
        border-top: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid #efe9e9 !important;
        border-left: 0 !important;
    }

    .responsive td:before {
        content: attr(data-th);
        float: left;
        display: inline-block;
        color: #579400;
        font-weight: bold;
        text-align: left;
        min-width: 50px;
    }

    .alerts-table td:first-child,
    .alerts-table td:last-child,
    .resume-table td:first-child {
        text-align: center !important;
    }

}


/* --------------------------------------- Common Classes ---------------------------------------- */

.color-main {
    color: #2767b1;
}

.color-alt {
    color: #91ca41;
}

.bg-main {
    background: #2767b1;
}

.bg-alt {
    background: #91ca41;
}

/*--------------- Clearing floats / clearfix  ---------------*/
.clear:after,
.clearfix:after,
.content-footer:after,
.content-header:after,
.site-footer:after,
.buttons:after,
.list:after,
.messages:after,
.row:after,
.group:after,
.messaging:after {
    clear: both;
}

.clear:before,
.clear:after,
.clearfix:before,
.clearfix:after,
.content-footer:before,
.content-footer:after,
.content-header:before,
.content-header:after,
.site-footer:before,
.site-footer:after,
.buttons:before,
.buttons:after,
.list:before,
.list:after,
.messages:before,
.messages:after,
.row:before,
.row:after,
.group:before,
.group:after,
.messaging:before,
.messaging:after {
    content: "";
    display: table;
}

.left {
    float: left;
}

.right {
    float: right;
}

.align-left {
    text-align: left;
}

.align-right {
    text-align: right;
}

.smaller {
    font-size: 70%;
}

.strike {
    text-decoration: line-through;
}

.center {
    clear: both;
    text-align: center;
}

.full {
    width: 100%;
}

.error,
.warning,
.alert {
    color: #ff0000 !important;
    font-size: 18px;
}

.error br:first-of-type {
    display: none;
}

.success {
    font-size: 120%;
    font-weight: 700;
}

.hidden {
    display: none;
}

.larger {
    font-size: 125%;
}

/*-use for left aligned centered items-*/
.left-aligned-center {
    text-align: left;
    max-width: 320px;
    margin: 0 auto;
}

.row {
    margin-bottom: 12px;
}

/* --------------------------------------- Icons ---------------------------------------- */

/*--------------- Mainly using Fontello to build a custom Font Awesome font for font icons  ---------------*/
/*---------------  check 3rdparty/fontello and drop config.json into the import section on
			 fontello.com to easily edit/update it  ---------------*/

@font-face {
    font-family: 'truckersearch';
    src: url('../3rdparty/fontello/font/truckersearch.eot?38830805');
    src: url('../3rdparty/fontello/font/truckersearch.eot?38830805#iefix') format('embedded-opentype'),
        url('../3rdparty/fontello/font/truckersearch.woff?38830805') format('woff'),
        url('../3rdparty/fontello/font/truckersearch.ttf?38830805') format('truetype'),
        url('../3rdparty/fontello/font/truckersearch.svg?38830805#truckersearch') format('svg');
    font-weight: normal;
    font-style: normal;
}

.icon,
.icon-before:before,
.icon-after:after,
.icon-clock:before,
.icon-direction:before,
.icon-doc-text:before,
.icon-down-dir:after,
.icon-down-open:before,
.icon-mail:before,
.icon-mail-alt:before,
.icon-folder:before,
.icon-folder-empty:before,
.icon-folder-open:before,
.icon-header:before,
.icon-heart:before,
.icon-heart-empty:before,
.favorite-button+label span:before,
.icon-left:after,
.icon-left-dir:before,
.icon-list-alt:before,
.icon-list-bullet:before,
.icon-location:before,
.icon-ok:before,
.icon-resize-horizontal:before,
.icon-right:after,
.icon-right-dir:after,
.icon-search:before,
.icon-sliders:before,
.icon-trash:before,
.icon-trash-empty:before,
.icon-truck:before,
.icon-up-dir:before,
.icon-up-open:before,
.icon-user:before,
.icon-volume-control-phone:before,
.icon-wechat:before,
.social-media [href*="facebook"]:after,
.social-media [href*="twitter"]:after,
.social-media [href*="linkedin"]:after,
.social-media [href*="blog"]:after,
.filter .select2-selection__rendered:before,
.sort .select2-selection__rendered:before {
    color: inherit;
    font-family: 'truckersearch';
    font-size: inherit;
    font-style: normal;
    font-weight: normal;
    speak: none; /* accessibility */
    text-indent: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* Font smoothing. That was taken from TWBS */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* usually the parent element */
.social-media [href*="facebook"],
.social-media [href*="twitter"],
.social-media [href*="linkedin"],
.social-media [href*="blog"] {
    display: inline-block;
    position: relative;
    color: #2363af;
    font-size: 15px;
    text-indent: -9000px;
}

.icon-clock:before,
#yearsexp+span .select2-selection__rendered:before {
    content: '\f554';
    margin-right: 5px;
}

.icon-direction:before {
    content: '\f124';
    margin-right: 5px;
}

#location+span .select2-selection--multiple .select2-selection__rendered:before {
    float: left;
    margin-top: 5px;
}

.icon-doc-text:before {
    content: '\f0f6';
    margin-right: 5px;
}

.icon-down-dir:after {
    content: '\e800';
    color: #000;
    margin-left: 5px;
}

.icon-down-open:before {
    content: '\e806';
    color: #8dc23d;
    margin-right: 5px;
}

.icon-mail:before {
    content: '\e802';
}

.icon-folder:before {
    content: '\e808';
    margin-right: 5px;
}

.icon-folder-empty:before {
    content: '\f114';
    margin-right: 5px;
}

.icon-folder-open:before {
    content: '\e807';
    margin-right: 5px;
}

.icon-heart:before,
.favorite-button:checked+label span:before {
    content: '\e80c';
}

.icon-heart-empty:before,
.favorite-button+label span:before {
    content: '\e801';
}

.icon-left:after {
    content: '\f177';
    margin-left: 8px;
}

.icon-left-dir:before {
    content: '\e804';
    margin-right: 5px;
}

.icon-list-alt:before {
    content: '\e810';
    margin-right: 5px;
}

.icon-list-bullet:before {
    content: '\f0ca';
    color: #71a144;
    margin-right: 5px;
}

.icon-location:before,
#location+span .select2-selection__rendered:before {
    content: '\e803';
    margin-right: 5px;
}

.icon-mail-alt:before {
    content: '\f0e0';
}

.icon-ok:before {
    content: '\e805';
    margin-right: 5px;
}

.icon-resize-horizontal:before,
#range+span .select2-selection__rendered:before {
    content: '\e80b';
    margin-right: 5px;
}

.icon-right:after {
    content: '\f178';
    margin-left: 8px;
}

.icon-right-dir:after {
    content: '\e80f';
    margin-left: 5px;
}

.icon-search:before {
    content: '\e80d';
}

.icon-sliders:before {
    content: '\f1de';
}

.icon-trash:before {
    content: '\f1f8';
    margin-right: 5px;
}

.icon-trash-empty:before {
    content: '\e809';
    margin-right: 5px;
}

.icon-truck:before,
#trailers+span .select2-selection__rendered:before {
    content: '\f69a';
    margin-right: 5px;
}

.icon-up-dir:before {
    content: '\e80e';
    margin-right: 5px;
}

.icon-up-open:before {
    content: '\e80a';
    margin-right: 5px;
}

.icon-user:before,
#drivertype+span .select2-selection__rendered:before,
#team+span .select2-selection__rendered:before {
    content: '\f464';
    margin-right: 5px;
}

.icon-volume-control-phone:before {
    content: '\f2a0';
    margin-right: 5px;
}

.icon-wechat:before {
    content: '\f1d7';
    margin-right: 5px;
}

.social-media [href*="facebook"]:after {
    content: '\f09a';
    position: absolute;
    color: #3b5998;
    padding-top: 4px;
}

.social-media [href*="twitter"]:after {
    content: '\f099';
    position: absolute;
    color: #5fc9f0;
    padding-top: 4px;
}

.social-media [href*="linkedin"]:after {
    content: '\f0e1';
    position: absolute;
    color: #1d84d3;
    padding-top: 4px;
}

.social-media [href*="blog"]:after {
    content: "B";
    position: absolute;
    color: #71a144;
    font-weight: 700;
    padding-top: 4px;
}

.question {
    display: inline-block;
    background: #62921d;
    cursor: help;
    text-align: center;
    min-height: 15px;
    min-width: 15px;
    border-radius: 100%;
}

/*---- sprite icons - ---------------*/

.panel h2:before,
.plane:after {
    background: url('../images/sprite-items-v4.png') no-repeat;
}

#user-menu .icon-down-dir {
    text-transform: capitalize;
}

/* plane on buttons */
.plane:after {
    content: "";
    display: inline-block;
    background-position: -78px -73px;
    height: 16px;
    width: 19px;
    margin-left: 5px;
}

/* --------------------------------------- Misc. ---------------------------------------- */


/*---------- Pagination ------- ---------------*/
.pages {
    clear: both;
    text-align: center;
    margin: 25px 0 35px;
}

.pages li {
    display: inline-block;
    font-size: 16px;
    line-height: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin: 0 6px 15px;
}

.current {
    background: #8dc23d;
    color: #fff;
    border-color: #8dc23d;
}

.messages {
    text-align: center;
}

.box,
.group {
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.box {
    max-width: 600px; /* half of max-width of wrapper */
    padding: 20px;
    margin: 0 auto;
}

.box+.box,
.fields-username {
    margin-top: 20px;
}

p.box {
    margin-bottom: 20px;
}

.group {
    margin-bottom: 30px;
}

.box.third {
    min-width: 250px;
    width: 30%;
    margin: 0 1.5%;
}


/* 3.0 ---------------- Plugins / Modules / Extensions (in general) ------------------------------------ */
/* ----------------------------------------------------------------------------------------------------- */




/* 4.0 ---------------------------------------- Basic Structure ---------------------------------------- */
/* ----------------------------------------------------------------------------------------------------- */

#wrapper {
    position: relative;
    min-height: 700px;
    min-height: 50vh;
    width: 100%;
}

.site-header,
.site-content,
.site-footer .container {
    position: relative;
    max-width: 1160px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
}


/* 5.0 ---------------------------------------- Header ---------------------------------------- */
/* -------------------------------------------------------------------------------------------- */

/* ----- 5.1 ---------------------------------- Site Header ---------------------------------------- */

.site-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 10px 10px;
    z-index: 10;
}

.site-header:before {
    content: "";
    position: absolute;
    display: block !important;
    background: #fff;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-bottom: 1px solid #ddd;
    z-index: -1;
}

.logo img {
    height: auto;
    width: 180px;
    transition: 150ms linear;
}


/* ----- 5.2 ---------------------------- Navigation / Main Menu ---------------------------------------- */

.site-header nav {
}


/*--------- Superfish styles found and modified from /3rdparty/superfish/css/ ----------*/


/*--- ESSENTIAL STYLES ---*/
.sf-menu,
.sf-menu * {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sf-menu li {
    position: relative;
}

.sf-menu ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99;
}

.sf-menu li:hover>ul,
.sf-menu li.sfHover>ul {
    display: block;
}

.sf-menu a {
    display: block;
    position: relative;
}

.sf-menu ul ul {
    top: 0;
    left: 100%;
}

.sf-menu ul {
    min-width: 180px;
}

.sf-menu li {
    white-space: nowrap; /* no need for Supersubs plugin */
}


#menu-toggle {
    display: none;
    float: right;
    background: transparent;
    color: #000;
    font-size: 20px;
    cursor: pointer;
    padding: 10px;
    border: 0;
    border-radius: 0;
    margin: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

#menu-toggle:before {
    content: "";
    display: inline-block;
    vertical-align: bottom;
    height: 4px;
    width: 30px;
    border-bottom: 10px double #000;
    border-top: 3px solid #000;
    margin-right: 10px;
}

/* ----- 5.2 ---------------------------------- Navigation / Main Menu ---------------------------------------- */

.site-header li {
    font-size: 17px;
    text-align: left;
}

#main-menu>li {
    display: inline-block;
    position: relative;
    margin: 0 20px;
}

#main-menu li a,
.site-header li span {
    display: inline-block;
    color: #444;
    padding: 6px 5px;
}

#main-menu li a:hover,
#main-menu li a:active,
#main-menu li a:focus {
    color: #91ca41;
    outline: 0;
}

#main-menu>li>ul,
#user-menu>li>ul {
    /*display: none;
	position: absolute;*/
    background: #fff;
    width: 180px;
    padding: 10px;
}

#user-menu>li>ul {
    position: absolute;
    right: 0;
    padding-top: 0;
    border: 1px solid #ddd;
    border-top: 1px solid #fff;
    margin-top: 25px;
}

/*#main-menu li:hover > ul,
#user-menu li:hover > ul {
	display: block;
}*/

#user-menu {
    display: flex;
    flex-direction: row;
    margin-right: -10px;
}

#user-menu a.button {
    padding: 6px 18px;
}


/* 6.0 ---------------------------------------- Content ---------------------------------------- */
/* --------------------------------------------------------------------------------------------- */

.site-content {
    min-height: 500px;
}

.fullwidth {
    max-width: 1600px
}

.page-front {
    background: #9baece;
    background: linear-gradient(to bottom, #9baece 40%, #ae8f73 70%); /* Perceived speed performance: skeleton loading */
    background: url(../images/bg-desert-road.jpg) top center no-repeat;
    background-size: cover;
}

.js-nav #inner-wrap:before {
    content: " ";
    height: 0;
    width: 0;
    border-top: 36px transparent solid;
    border-bottom: 36px transparent solid;
    border-right: 36px solid #1a4c87;
    position: absolute;
    right: -1px;
    top: 15px;
}


/* ----- 6.1 ---------------------------------- Entry Header/Title ---------------------------------------- */

.content-header {
    margin: 15px 0 10px;
}

.content-header h1 {
    text-align: center;
}


/* ----- 6.2 ---------------------------------- Entry Content ---------------------------------------- */

.page-front h1 {
    color: #fff;
    text-shadow: 0 2px 0 rgba(0, 0, 0, 0.2);
    text-transform: capitalize;
    margin-bottom: 18px;
}

.page-front h1+p {
    font-size: 18px;
    font-weight: 300;
}

.page-front h2 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
}

.site-content p {
    word-wrap: break-word;

    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.site-content ol li {
    margin-bottom: 12px;
}


.statement {
    text-align: center;
}



/*----- modal related ----*/
.modal-footer {
    background: #f1f1f1;
    padding: 20px;
    /* position: absolute; */
    /* right: 0; */
    /* bottom: 0; */
    /* left: 0; */
}

.modal-footer p:last-of-type {
    margin-bottom: 0;
}


/* 7.0 ---------------------------------------- Footer ---------------------------------------- */
/* -------------------------------------------------------------------------------------------- */

.content-footer {
    clear: both;
    padding-top: 15px;
}

.site-footer {
    clear: both;
    background: #fff;
    color: #666;
    font-size: 15px;
    text-align: center;
    right: 0;
    bottom: 0;
    left: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 30px;
}

.site-footer p {
    margin: 8px 0 15px;
}

.site-footer a:hover,
.site-footer a:active,
.site-footer a:focus {
    text-decoration: underline;
}

.site-footer>p a:first-of-type {
    color: inherit;
}

#container {
    height: 70px;
    overflow: hidden;
}

/*----- Social media icons -- ---------------*/
.social-media {
    clear: both;
    margin: 0;
}

.social-media li {
    display: inline-block;
    height: 32px;
    width: 32px;
    margin: 0 6px 0 0;
}

.social-media a {
    height: 28px;
    width: 28px;
    border: 1px solid #bbb;
}

.social-media a:hover,
.social-media a:focus {
    background: #ddd;
}

/*----- OCC chat icon ----*/
.support img {
    top: auto !important;
    right: 4% !important;
    bottom: 0;
}


/*----- Other misc at end of site / hidden -- ---------------*/

/* Google automatically adds an iframe with 13px height causing whitespace */
iframe[name='google_conversion_frame'] {
    position: absolute;
    bottom: 0;
    height: 0 !important;
}


/* 8.0 ---------------------------------------- Specific Pages ---------------------------------------- */
/* ---------------------------------------------------------------------------------------------------- */


/*--------------- front pages  ---------------*/
.page-front .site-content {
    color: #fff;
    text-align: center;
    padding-top: 55px;
    padding-bottom: 50px;
}


/*--------------- table pages  ---------------*/
.alerts-table,
.resume-table {
    background: #fff;
}

.alerts-table td:first-of-type,
.alerts-table td:last-of-type,
.resume-table td:first-of-type {
    background: #fafafa;
}

/*--------------- login page  ---------------*/
.page-login {
    background: #fff;
}

.page-login #wrapper {
    padding-bottom: 130px;
}

.page-login .content-header {
    margin: 0 0 20px;
}


/*--------------- driver / employer dashboard pages  ---------------*/
.dashboard-panes {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
}

.dashboard .third {
    margin-bottom: 25px;
}

.dashboard .third h2 {
    color: #000;
    font-weight: 700;
}

.dashboard .third h2:after {
    content: "";
    display: block;
    background: #2767b1;
    height: 3px;
    width: 50px;
    margin: 15px auto;
}

.dashboard .box [class^='icon'] {
    position: relative;
    display: inline-block;
    color: #fff;
    font-size: 13px;
    height: 32px;
    width: 32px;
    padding-top: 6px;
    margin: 20px 0 60px 55px;
    z-index: 1;
}

.dashboard .box [class^='icon']:before {
    position: absolute;
    color: #91ca41;
    font-size: 72px;
    margin: -18px 0 0 -60px;
    z-index: -1;
}

.dashboard .box [class^='icon']:after {
    content: "";
    position: absolute;
    display: block;
    background: #2767b1;
    background-clip: content-box; /*IE,Edge*/
    top: -6px;
    right: -4px;
    height: 32px;
    width: 32px;
    border: 4px solid #fff;
    border-radius: 100%;
    z-index: -1;
    transition: 120ms ease background;
}

.dashboard .box:hover [class^='icon']:after {
    background: #000;
}



/*--------------- drivers ---------------*/
#location+.select2 {
    max-width: 400px;
}

#within+.select2 {
    width: 80px !important; /* fix for form reset */
}

.filter>.row {
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.filter>.row:last-of-type {
    border-bottom: 0;
}

.filter h3 {
    font-size: 19px;
    margin: 0 10px 5px 0;
}

.filter label {
    display: inline-block;
    color: inherit;
    font-size: 16px;
}

/* Next 2 rules: initially hidden gets chopped off */
.filter .select2-container--default .select2-search--inline .select2-search__field {
    /*width: 100% !important;*/
    margin: 5px 0 0 0;
}

.filter .select2-container .select2-search--inline {
    float: none !important;
}

#section-email-alerts h3 {
    display: inline-block;
}

#section-email-alerts .form-field {
    display: inline-block;
    max-width: 200px;
    margin-bottom: 30px;
}

label[for=emailTo] span {
    border-bottom: 1px grey #ddd;
}

@media (max-width: 959px) {
    .filter .select2-container {
        margin-bottom: 5px;
    }

    .filter .row {
        text-align: center;
    }

    .filter .row div {
        margin-bottom: 30px;
    }

    .row .form-field+.form-field {
        margin-left: 0;
    }
}

@media (max-width: 639px) {
    .filter .row {
        text-align: left;
    }

    .filter .row .form-field {
        display: block;
        margin-bottom: 20px;
    }

    label[for=eaNo] span {
        display: none;
    }
}

@media (min-width: 640px) {
    .filter .row div:last-child {
        text-align: center;
    }
}

@media (min-width: 640px) and (max-width: 1179px) {
    #wrapper .row-driver .form-field {
        width: 48%;
        text-align: left;
        margin-bottom: 30px;
    }
}

@media (min-width: 1180px) {
    #wrapper .row-driver .form-field+.form-field {
        margin-left: 12px;
    }
}


/*--------------- find drivers (technically removed)  ---------------*/
.page-find-drivers form {
    counter-reset: section;
}

.page-find-drivers form section {
    position: relative;
}

input[type="radio"]+label,
input[type="checkbox"]+label {
    color: #1F1F1F;
    display: inline-block !important; /*Should almost always be the case*/
    border: 0 !important;
}

.page-find-drivers .form-field {
    display: inline-block;
    margin-bottom: 0;
}

#fDriverLocations input[type="radio"]+label {
    color: inherit;
}

#fDriverLocations>div input:first-child {
    float: left;
    margin-right: 20px;
}


/*--------------- drivers by state  ---------------*/
.page-drivers-by-state #wrapper {
    max-width: 1920px;
}

.page-drivers-by-state .sort {
    max-width: 1060px;
    margin: 0 auto 20px;
}

/*--------------- email alerts  ---------------*/
.page-email-alerts h1 span,
.page-drivers h1 span {
    font-size: 12px;
    line-height: 12px;
}

.page-email-alerts table,
.page-drivers table,
.page-purchase table {
    border-collapse: collapse;
}

.page-drivers table {
    font-size: 11px;
}

.page-email-alerts th,
.page-drivers th,
.page-purchase th {
    background: #8fc73f;
    color: #fff;
    height: 42px;
}

.page-email-alerts td,
.page-email-alerts th,
.page-drivers td,
.page-drivers th,
.page-purchase td,
.page-purchase th {
    text-align: center;
    border: 1px solid #efe9e9;
}

.page-email-alerts th,
.page-drivers th,
.page-purchase th {
    border-top: 0;
}

.page-email-alerts #tHeader1 {
    width: 25px;
}

.page-email-alerts #tHeader2 {
    width: 65px;
}

.page-email-alerts #tHeader3,
.page-email-alerts #tHeader4,
.page-email-alerts #tHeader5 {
    width: 120px;
}

.page-email-alerts #tHeader6 {
    width: 50px;
}

.page-email-alerts #tHeader7 {
    width: 100px;
}

.page-email-alerts #tHeader8,
.page-email-alerts #tHeader9 {
    width: 74px;
}

.page-email-alerts #tHeader10 {
    width: 90px;
}

.page-email-alerts #tHeader11 {
    width: 100px;
}

/*--------------- faq  ---------------*/
.page-faq h2 {
    margin: 20px 0 0 45px;
    padding: 20px 0 0;
}

.page-faq ol li {
    margin: 0 0 10px 40px;
    font-size: 18px;
}

dt {
    margin: 0 0 0 15px;
}

dd {
    text-indent: 15px;
    margin: 0 0 25px 15px;
}

dd a:link,
dd a:visited {
    color: #5091db;
}

ol li {
    margin: 0 0 0 40px;
}
ol, dl {
    list-style-position: outside;
    margin: 20px 0 20px;
    padding: 0;
}

ol a,
dl a {
    text-decoration: none;
}

ol li a:link {
    color: #5091db;
}

ol li a:visited {
    color: #000;
}

dd a:hover,
dd a:active,
dd a:focus,
ol li a:hover,
ol li a:hover,
ol li a:focus {
    color: #00467a;
}

/*--------------- feedback  ---------------*/
legend label {
    float: none;
    display: inline-block;
    font-size: inherit;
    color: inherit;
    font-weight: inherit;
}

/*--------------- job  ---------------*/

/*-see submit resume for more css-*/

.job-favorites .job-inactive h3,
.job-favorites .job-inactive img,
.job-favorites .job-inactive .job-info,
.job-favorites .job-inactive .button {
    opacity: 0.5;
    pointer-events: none;
}


/*--------------- Results, details, review  ---------------*/
.sort {
    margin: 0 0 20px 20px;
}

.sort h2 {
    vertical-align: middle;
    margin-right: 20px;
}

.sort .form-field {
    vertical-align: baseline;
    width: 100%;
    margin-bottom: 10px;
}

.sort label {
    display: block;
}

.sort .form-field select {
    padding: 5px;
    margin-top: 0;
}

.sort .selected {
    background: #DFF0FF;
    border: 1px solid #2767B1;
}

.sort .button {
    margin-top: 25px;
}

.sort .plain {
    display: block;
    font-size: 14px;
}

/*--- different .sort select icons ---*/
.filter .select2-selection__rendered:before,
.sort .select2-selection__rendered:before {
    color: #3161be;
}

/*-- see the icon section ^ --*/

.mobile-radius label {
    display: inline-block;
}

.list {
    clear: both;
    max-width: 1100px;
    width: 100%;
    margin: 0 auto
}

.list>li {
    float: left;
    background: #fff;
    position: relative;
    min-height: 180px;
    height: auto !important;
    width: 100%;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
    margin-bottom: 20px;
}

.list p {
    margin-bottom: 15px;
}

.list h3 {
    background: #ddd;
    font-size: 16px;
    min-height: 30px;
    padding: 8px 10px 6px;
    margin-bottom: 15px;
}

.list img {
    display: block;
    top: 45px;
    left: 15px;
    margin: 0 auto;

}

.list .side label {
    margin-left: 10px;
}

.list .job-info {
    padding: 20px 10px 0;
}

.page-job-results .list .description,
.page-messages .list .description {
    height: 170px;
    min-height: 170px;
    overflow: hidden;
}

.description.show-more {
    height: auto !important;
}

.see-more {
    clear: both;
    display: block;
    margin-bottom: 20px;
}

.job-contact-info,
.job-type,
.job-location {
    text-overflow: ellipsis;
    margin-bottom: 20px;
    overflow: hidden;
}

.job-type {
    font-weight: 700;
}

/* job review page */
.list hr {
    clear: both;
    width: 95%;
    margin: 0 auto;
}

.list .status {
    color: #008000;
}


/*--------------- resume search  ---------------*/

.page-drivers .content-header {
    background: #fff;
    padding: 25px 20px 15px;
    border: 1px solid #ddd;
    border-bottom: none;
    margin: 25px 0 0;
}

.page-drivers h1 {
    display: inline-block;
    text-align: left;
}

.page-drivers h1 strong {
    color: #91ca41;
}

.page-drivers a.icon-sliders {
    color: #000;
    border-color: #ddd;
}

.page-drivers .icon-sliders:before {
    display: inline-block;
    color: #91ca41;
    margin-right: 10px;
    transform: rotate(90deg);
}

.page-drivers .icon-sliders.opened {
    background: #91ca41;
    color: #fff !important;
    border-color: #91ca41;
}

.page-drivers .icon-sliders.opened:before {
    color: #fff;
}

.page-drivers .filter {
    background: #fbfbfb;
    padding: 15px 20px 5px;
    border: 1px solid #ddd;
    border-bottom: none;
}

.alerts-table,
.resume-table {
    line-height: 1.2;
}

.alerts-table th,
.resume-table th {
    background: #8fc73f;
    color: #fff;
    font-size: 13px;
    font-weight: 400;
    padding: 2px 5px;
    border-color: #83BB33 !important;
    border-top: 0;
}

.alerts-table th a,
.resume-table th a {
    color: #fff;
}

.alerts-table input[type="checkbox"],
.resume-table input[type="checkbox"] {
    margin: 0 7px;
}

.result:hover td {
    background: #fafff3
}

/*----- items in the table -----*/
.favorite-button {
    display: none;
}

.favorite-button+label span {
    cursor: pointer;
    width: auto !important;
    border: 0 !important;
    padding: 0 !important;
}

.same-date {
    color: #e0e0e0;
}

.resume-table .icon-mail,
.resume-table .icon-mail-alt {
    font-size: 18px;
}

.result .icon-mail {
    color: #ccc;
}

.result .icon-mail-alt {
    color: #8fc73f;
}

/*----- dialog/modal pop-up window -----*/
.ui-dialog {
    padding: 0 !important;
}

.ui-dialog.modal-driver {
    position: fixed !important;
}

@media (max-width: 639px) {

    /* target just the transformed result modal on results page */
    .ui-dialog.modal-driver:not(.ui-widget-content) {
        background: #fff;
    }
}

@media (min-width: 640px) {

    /* target just the transformed result modal on results page */
    .ui-dialog.modal-driver:not(.ui-widget-content) {
        background: #fff;
        transform: translateX(50%);
    }
}

.ui-dialog.modal-driver:not(.ui-widget-content) .ui-dialog-titlebar {
    background: #fff;
    border: 0;
    padding: 12px;
}

.ui-widget-content.modal-driver {
    width: 95% !important;
    min-height: 95vh !important;
    top: 20px !important;
    left: 2.5% !important;
}

.ui-widget-content.modal-driver {
    font-size: 0; /* remove bottom padding */
}

.ui-dialog.modal-driver .ui-dialog-title {
    display: none; /* make sure to change/remove current title */
}

.ui-widget-content.modal-driver .ui-dialog-titlebar {
    padding: 0;
    border: 0;
    z-index: 1;
}

.ui-widget-content.modal-driver .ui-dialog-titlebar-close {
    background: #2767b1;
    color: #fff;
    font-size: 27px;
    top: 0;
    right: 0;
    height: 52px;
    width: 52px;
    border: 10px solid #2767b1;
    margin-top: 0;
}

.ui-widget-content.modal-driver .ui-icon-closethick {
    text-indent: 0;
    background: none;
    line-height: 0.6;
    vertical-align: top;
}

.ui-widget-content.modal-driver .ui-icon-closethick:before {
    content: "\00d7";
}

.ui-widget-content.modal-driver .ui-dialog-content {
    padding: 0;
}

.ui-dialog-content.modal-driver>div {
    min-height: 200px;
    width: 90vw;
}

.ui-dialog iframe {
    border: 0;
}

.ui-widget-content.modal-driver iframe {
    min-height: 95vh;
}

/*----- banner -----*/
.go-premium {
    background: #2767b1;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 20px 15px 20px 20px;
    margin-bottom: 20px;
}

.go-premium .title {
    font-size: 40px;
    margin: 0 auto;
}

.go-premium .title:before {
    content: "";
    position: relative;
    background: url(../images/sprite-signup-v1.png) 0 -300px no-repeat;
    display: block;
    height: 41px;
    width: 87px;
    top: 8px;
    margin: 0 auto 10px;
}

.go-premium .info {
    margin-top: 20px;
}

.go-premium .button {
    margin-top: 12px;
}

@media(min-width: 480px) {
    .go-premium .title {
        font-size: 45px;
        width: 358px;
    }

    .go-premium .title:before {
        float: left;
        margin-right: 15px;
    }
}

@media(min-width: 960px) {
    .go-premium .title {
        float: left;
    }

    .go-premium .info {
        display: inline-block;
    }

    .go-premium .button {
        float: right;
        padding: 6px 15px;
    }
}

/*--------------- resume  ---------------*/
.iframed {
    background: #fff;
}

.iframed #wrapper {
    min-height: 0;
}

.iframed .group {
    border: none;
    box-shadow: none;
}

.iframed .content-header {
    position: fixed;
    background: #2767b1;
    top: 0;
    width: 100%;
    padding: 25px 10px 8px 4px;
    margin: 0;
    z-index: 1000;
}

.iframed .content-header a {
    color: #fff;
    padding: 10px;
    border-radius: 3px 3px 0 0;
}

.iframed .content-header .active {
    background: #fff;
    color: #2767b1;
    outline: none;
}

.iframed .site-content {
    min-height: 0;
    max-width: none;
    padding: 0;
}

.iframed.page-resume .resume-list,
.iframed.page-resume .messaging {
    display: none;
    width: 100%;
    border: 0;
    box-shadow: none;
}

.iframed.page-resume .resume-list.active,
.iframed.page-resume .messaging.active {
    display: block !important;
    margin: 75px 0 0;
}

.page-messages #tab-header {
    padding: 9px 17px 0;
    margin: 10px 0 0 0;
}

.page-messages section.messaging {
    display: flex;
}

.page-messages .content-header a {
    color: #fff;
    padding: 10px;
    border-radius: 3px 3px 0 0;
}

.page-messages .content-header .active {
    background: #fff;
    color: #2767b1;
    outline: none;
}

.page-messages .site-content {
    min-height: 0;
    max-width: none;
    padding: 0;
}

.page-messages .pane-main-area {
    display: flex;
    flex-direction: column;
    background: #2767b1;
}

.page-messages .resume-info {
    position: relative;
    margin-right: 0;
}

.page-messages .resume-list.group {
    border-top: 0;
}

.page-messages .resume-info,
#conversation.messaging {
    display: none;
    border: 0;
    box-shadow: none;
}

.page-messages #resume-info {
    overflow: auto;
}

.page-messages #resume-info.active h1 {
    margin: auto;
    font-size: 20px;
}

#conversation.messaging.active {
    display: block !important;
}

.page-messages .resume-info.active {
    display: flex !important;
    flex-direction: column;
    height: 100%;
}

.page-submit-resume .content-header {
    margin: 25px 0;
}

.page-submit-resume h1 {
    color: #2767b1;
    font-size: 30px;
}

.page-submit-resume h1~h2 {
    font-size: 130%;
    text-align: center;
    margin-top: 15px;
}

.page-submit-resume .grid {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 35px 0;
}

.page-submit-resume .grid>div {
    max-width: 100%;
    padding: 0 10px;
    margin: 20px 0;
}

.page-submit-resume .grid>div>p {
    max-width: 100%;
    margin: 0;
}

.page-submit-resume .column-quarter {
    color: #2767b1;
}

.page-submit-resume .icon-volume-control-phone {
    display: inline-block;
    transform: rotate(-35deg);
}

.grid img {
    margin-bottom: 10px;
}

.resume-progress {
    display: flex;
    background: linear-gradient(to right, #91ca41, #eaeaea);
    text-align: center;
    max-width: 600px;
    border-left: 2px solid #7eae36;
    border-right: 2px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
    margin: 35px auto 20px;
}

.resume-progress img {
    display: block;
    margin: 0 auto;
    filter: grayscale(100%);
    opacity: 0.35;
}

.resume-page-4 .resume-progress {
    border-right-color: #7eae36;
}

.resume-progress li {
    flex: 1 1 auto;
    background: #eaeaea;
    color: #999;
    padding: 10px 5px 5px;
    border: 2px solid #ddd;
    border-right: 0;
    border-bottom-width: 3px; /* skew fix */
    margin-right: -2px;
    transform: skew(-10deg);
}

.resume-progress span {
    display: inline-block;
    transform: skew(10deg);
}

.resume-progress .prog-1 {
    border-radius: 6px 0 0 6px;
    margin-left: -7px;
}

.resume-progress .prog-4 {
    border-radius: 0 6px 6px 0;
    margin-right: -5px;
}

.resume-progress .progress {
    background: #91ca41;
    color: #fff;
    border-color: #7eae36;
    border-right: 2px solid #7eae36;
    z-index: 1;
}

.resume-progress .progress img {
    opacity: 1.0;
    -webkit-filter: brightness(255);
    filter: brightness(255);
}

.resume-page-1 fieldset,
.resume-page-2 fieldset,
.resume-page-3 fieldset,
.resume-page-4 fieldset {
    padding: 30px 9%;
}

@media(max-width: 539px) {
    .resume-progress {
        font-size: 13px;
    }
}

.page-submit-resume form h2,
.page-job-page form h2 {
    font-weight: 400;
    padding: 10px 20px;
    margin-bottom: 0;
}

.page-submit-resume form h2 {
    background: #8dc23e;
    color: #fff;
}

.page-job-page form h2 {
    color: #2767b1;
}

.page-submit-resume #drivingRecord label {
    margin-right: 20px; /*labels are longer than inputs here*/
}

main[class*='resume-page-'] .column-quarter {
    text-align: center;
}

.section-help {
    margin-top: 30px;
}

@media (max-width: 959px) {
    .section-help {
        display: none;
    }
}

.resume-page-initial h1 {
    line-height: 1.2;
    margin: 5vw auto 0;
}

.resume-page-initial fieldset {
    box-shadow: none;
}

.resume-page-initial form {
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
    margin: 0 0 25px 0;
}

@media (min-width: 540px) {
    .resume-page-initial form>.column-half:first-of-type {
        border-right: 1px solid #f5f1f1;
        padding: 30px 4%;
    }

    .resume-page-initial form>.column-half+.column-half {
        padding: 35px 6% 0;
    }
}

.section-driver-suggestions {
    max-width: 630px;
    margin: 15px auto 35px;
}

.section-driver-suggestions div {
    background: #2767b1;
    color: #fff;
}

.section-driver-suggestions span[class^='icon-'] {
    display: block;
    font-size: 50px;
}

.section-driver-suggestions a {
    color: #fff;
}

.grid.section-driver-suggestions div {
    margin: 15px !important;
    padding: 20px !important;
}

.stacked label {
    display: block;
}

.stacked .form-field {
    margin-bottom: 8px;
}

.stacked .form-field label~input[type="text"],
.stacked .form-field label~input[type="email"],
.stacked .form-field label~select,
.stacked .form-field label~textarea {
    margin-top: -2px;
}

.stacked textarea {
    min-height: 60px;
    width: 100%;
    max-width: 480px;
}

.subscription {
    color: #ff0000;
}

.indented {
    margin-right: auto;
    margin-left: auto;
}

.row .form-field {
    display: inline-block;
    margin-bottom: 0;
}

.row .form-field+.form-field,
.form-field input+input {
    margin-left: 2px;
}

.page-resume .resume-info {
    position: relative;
    margin: 0 auto 30px;
}

.page-resume.iframed .resume-list {
    margin-right: 0;
}

.page-resume .editor {
    width: 100%;
}

@media(max-width: 539px) {
    .page-resume .group {
        margin: 0 -20px 30px;
    }
}

.resume-list .favorite {
    position: absolute;
    top: 5px;
    right: 20px;
    width: 20px;
    height: 20px;
    margin-left: 105px;
    z-index: 1;
}

.resume-list span {
    position: relative;
    display: inline-block;
    vertical-align: top;
}

.resume-list li>span:first-of-type {
    text-align: right;
    width: 40%;
    padding: 2px 20px;
    border-right: 1px solid #ddd;
}

.resume-list li>span:last-of-type {
    font-weight: 700;
    word-break: break-all;
    word-break: break-word;
    width: 59%;
    padding: 2px 20px;
    border-left: 1px solid #ddd;
    margin-left: -1px;
}

body:not(.iframed) .resume-list li:first-child>span {
    padding-top: 20px;
}

.resume-list li:last-child>span {
    padding-bottom: 20px;
}

.resume-divide>span {
    vertical-align: bottom;
    min-height: 31px; /* height for empty items */
    padding-bottom: 10px !important;
}

.resume-divide+li>span {
    padding-top: 10px !important;
}

.resume-divide>span:after {
    content: "";
    position: absolute;
    display: block;
    background: #ddd;
    height: 1px;
    bottom: 0;
    left: 2.5%;
    width: 95%;
}

/* green banner below modal resume details */
.resume-premium {
    background: #90c83f;
    color: #fff;
    text-align: center;
    padding: 20px;
    margin-top: 20px;
}

.resume-premium .message {
    width: 100%;
    max-width: 690px;
    margin: 0 auto;
}

.resume-premium .message:before {
    content: "";
    position: relative;
    display: block;
    background: url(../images/sprite-signup-v1.png) no-repeat 0 -128px;
    background-size: 112px;
    height: 97px;
    width: 84px;
    margin: 0 auto;
}

.resume-premium .title,
.messaging-premium .title {
    font-size: 36px;
}

.resume-premium .highlight {
    font-size: 24px;
}

@media(min-width: 768px) {
    .page-submit-resume .grid {
        flex-direction: row;
        justify-content: space-around;
    }

    .page-submit-resume .grid>div {
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
        -ms-flex-preferred-size: 0;
        flex: 1 0 0px;
        margin: 0;
    }

    .resume-premium .message {
        margin-bottom: 30px;
    }

    .resume-premium .message:before {
        float: left;
        background-position: 0 -360px;
        background-size: auto;
        height: 251px;
        width: 223px;
        top: 8px;
        margin: 0 140px 0 0;
    }

    .resume-premium .title,
    .messaging-premium .title {
        font-size: 48px;
    }
}


/*--------------- subscribe  ---------------*/
.page-subscribe {
    background: #fff;
}

.page-subscribe main {
    padding-bottom: 90px;
}

.page-subscribe .content-header {
    margin: 0 0 25px;
}


/*--------------- Trucking Links Page  ---------------*/
.page-trucking-links h2 {
    background: #8dc23e;
    color: #fff;
    padding: 10px 20px;
}

.categories,
.links {
    float: left;
}

#link-categories,
#links {
    padding: 20px;
    margin: -10px 0 0;
}

.categories {
    width: 100%;
}

#link-categories {
    min-height: 435px;
}

#link-categories a {
    color: #749a3b;
}

.links {
    width: 100%;
}

#links {
    height: 534px;
    overflow: auto;
}

#helpful-links #links ul {
    list-style: none;
    padding: 0;
    margin: 3px 0 35px;
    width: 505px;
}

#links h3 {
    color: #5f5f5f;
}

#links li+h3 {
    margin-top: 20px;
}

#links a:visited {
    color: #afafaf;
}

/*-- purchase page --*/
.page-purchase {
    background: #fff;
}

.page-purchase #wrapper {
    min-height: 0;
    padding-bottom: 0;
}

.page-purchase .column-half {
    margin: 40px 0;
}

.page-purchase .column-half .form-field {
    width: 100%;
}

.page-purchase .column-half select {
    margin-top: 0;
}

.item-order-summary {
    align-self: flex-start;
    background: #fff;
    font-size: 14px;
    padding-bottom: 15px;
    border: 1px solid #000;
}

.item-order-summary h3 {
    text-align: left;
    margin: 20px 0 5px 10px;
}

.item-order-summary td {
    line-height: 1.3;
    border: 0;
}

@media (max-width: 1000px) {
    .todays-amount {
        max-width: 300px;
        margin: 0 auto;
    }
}

/*--------------- job submit (modal now) ---------------*/
.page-job-page #wrapper {
    padding-bottom: 0;
    min-height: auto;
}



/* --------------------------------------------------------------------------------------------------- */
/* 9.0 --------------------------------------- Media Queries ---------------------------------------- */
/* --------------------------------------------------------------------------------------------------- */


.mobnav-subarrow {
    display: none;
}

@media (max-width: 714px) {

    #menu-toggle {
        display: block;
        padding: 0;
    }

    .mobile-only {
        display: block !important;
    }

    .mobnav-subarrow {
        display: block;
        position: absolute;
        height: 44px;
        width: 100%;
        top: 0;
        right: 0;
        cursor: pointer;
        z-index: 10;
    }

    .site-header nav {
        float: none;
        width: 100%;
    }

    #main-menu {
        display: none;
        background: #fff;
        top: 41px;
        padding-right: 10px;
        border: 1px solid #ddd;
        border-top: 1px solid #fff;
    }

    #main-menu.xactive {
        display: block;
    }

    #user-menu {
        display: none;
    }

    #submenu {
        position: absolute;
        background: #384c6f;
        right: 0;
        max-width: 340px;
        width: 100%;
        z-index: 5011;
    }

    #mainmenu {
        background: #0e2d52;
        margin-top: 0 !important;
    }

    #mainmenu .submenu {
        background: #0e2d52 none;
        opacity: 1 !important;
    }

    #mainmenu>li {
        text-align: left;
        border-bottom: 1px solid #0e2d52;
    }

    #mainmenu>li>a {
        background: #384c6f;
        font-size: 14px;
        padding: 15px;
        border-radius: 0;
        margin-top: 0;
    }

    #mainmenu>li>a:after {
        content: "";
        display: inline-block;
        height: 12px;
        width: 21px;
    }

    #mainmenu>.sfHover>a {
        background: #135688;
        padding-bottom: 15px;
        margin-top: 0;
    }

    .sf-navbar>li>ul {
        min-width: 0 !important;
    }

    .sf-menu {
        display: none;
        position: absolute;
        clear: both;
        right: 0;
        width: 180px !important;
    }

    .sf-menu.xactive {
        display: block !important;
    }

    .sf-menu li {
        position: relative !important;
        display: block !important;
        text-align: right;
        width: 100% !important;
        margin: 0 !important;
    }

    .sf-menu li a {
        float: none !important;
    }

    .sf-menu ul {
        position: static !important;
        display: none !important;
    }

    .sf-menu ul li a {
        padding-right: 22px;
    }

    .xpopdrop>ul {
        display: block !important;
        background: transparent !important;
    }

    .sf-menu .toggle {
        display: none !important;
    }

    #user-menu,
    #usermenu {
        display: none;
    }

    /*.mobile-info*/
    .xactive+div,
    .xactive+div+div {
        display: block !important;
        line-height: 1.3;
    }

    .page-front .site-content {
        padding-top: 45px;
        padding-bottom: 10px;
    }

    .desktop-label {
        display: none;
    }

}

@media (min-width: 380px) {

    /* front silhouettes */
    .panel h2:before {
        content: "";
        display: block;
        background-size: 150px;
        vertical-align: middle;
        height: 60px;
        width: 44px;
        margin: 0 auto 10px;
    }

    .panel-drivers h2:before {
        background-position: -106px 0;
    }

    .panel-employers h2:before {
        background-position: -106px -65px;
    }

    .iframed .content-header {
        padding-left: 10px;
    }

    .iframed .content-header a {
        padding: 10px 15px;
        margin: 0 15px;
    }

}


@media (min-width: 420px) {

    .page-find-drivers form section {
        position: relative;
        padding: 0 0 35px 70px;
    }

    .page-find-drivers form h2:before {
        counter-increment: section;
        content: counter(section);
        display: block;
        position: absolute;
        background: #91ca41;
        color: #fff;
        font-size: 32px;
        font-weight: 700;
        line-height: 50px;
        text-align: center;
        height: 50px;
        width: 50px;
        border-radius: 100%;
        left: -10px;
        top: 50%;
        margin-top: -50px;
        transition: background 200ms linear;
    }

    .page-find-drivers form section:hover h2:before {
        background: #2767B1;
    }

    .page-job-page #joblocation+.select2 {
        width: 97% !important;
    }

    .page-job-page #joblocation+.select2 .select2-selection--multiple {
        min-height: 61px; /* 2 rows */
    }

    .page-job-page #select2-joblocation-results .select2-results__option {
        float: left;
        width: 33.3%;
    }

    .filter h3 {
        display: inline-block;
    }

}

@media (max-width: 499px) {

    .page-front h2 {
        min-height: 52px;
    }

    .panel h2+p {
        font-size: 13px;
        margin-bottom: 8px;
    }

    .panel .button {
        font-size: 14px;
        padding: 6px 10px;
    }

    .resume-list {
        font-size: 12px;
    }

    .resume-list li>span:first-of-type {
        padding: 2px 5px;
    }

    .resume-list li>span:last-of-type {
        padding: 2px 10px;
    }

    .resume-divide span {
        min-height: 19px;
        padding-bottom: 8px !important;
    }

    .page-drivers .site-content {
        padding: 0;
    }

    .page-drivers .filter {
        border-left: 0;
        border-right: 0;
    }

    button[data-toggle="section-email-alerts"] {
        float: none;
        display: block;
        margin: 35px auto 20px;
    }

}

@media (min-width: 500px) {

    a.button,
    button,
    input[type="submit"],
    input[type="button"],
    input[type="reset"] {
        padding: 6px 25px;
    }

    .page-front h1 {
        font-size: 33px;
    }

    .panel {
        padding: 30px 30px 20px;
    }

    .panel .button {
        margin-bottom: 10px;
    }

    .sort .form-field {
        max-width: 49%;
    }

    .sort .button {
        margin-top: 0;
    }

    /* jobs */
    .list img {
        position: absolute;
    }

    .list .job-info {
        padding: 0 10px 0 200px;
    }

}


@media (min-width: 640px) {

    label {
        display: inline-block;
    }

    .indented {
        width: 80%;
    }

    dl {
        margin-right: 45px;
        margin-left: 35px;
    }

    .page-subscribe label {
        min-width: 156px;
    }

    .page-subscribe label[for="Ext1"],
    .page-subscribe label[for="Ext2"] {
        min-width: 130px;
    }

    .page-subscribe #Zipcode {
        text-indent: 72px;
        min-width: 130px;
    }

    fieldset.billing-info label {
        min-width: 120px;
    }

    .categories {
        width: 30%;
    }

    .links {
        width: 70%;
    }


}


@media (min-width: 660px) {

    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 24px;
    }

    .content-header {
        margin: 35px 0;
    }

    #wrapper {
        padding-bottom: 205px;
    }

    .iframed #wrapper {
        padding-bottom: 0;
    }

    .page-drivers-by-state #wrapper {
        padding-bottom: 0;
    }

    .site-footer {
        position: absolute;
    }

    .page-drivers-by-state .site-footer {
        position: relative;
    }

}

@media (min-width: 715px) {

    .page-front h2 {
        font-size: 23px;
    }

    .page-front h1+p {
        font-size: 22px;
        max-width: 940px;
        margin-right: auto;
        margin-left: auto;
    }

    .mobile-radius {
        display: none;
    }

    /*-job-*/
    .job-contact-info,
    .job-type,
    .job-location {
        float: left;
    }

    .job-contact-info {
        width: 50%;
    }

    .job-type {
        width: 50%;
        padding-left: 5%;
    }

    .job-location {
        width: 100%;
    }

}


@media (min-width: 875px) {

    /* page: jobs */
    .list .side {
        position: absolute;
        top: 20px;
        right: 15px;
    }

    /* page: front */
    .panel {
        width: 100%;
        margin: 30px 15px;
    }

    /* note: after testing: .page-resume:not(.trial) */
    .page-resume .resume-list {
        width: 800px;
    }

}


@media (min-width: 960px) {

    .column-half,
    .column-quarter,
    .column-40,
    .column-60 {
        float: left;
        padding: 0 20px;
    }

    .column-half {
        width: 50%;
    }

    .column-quarter {
        width: 25%;
    }

    .column-40 {
        width: 40%
    }

    .column-60 {
        width: 60%;
    }

    .column-half+.column-half,
    .column-40+.column-60,
    .column-60+.column-40 {
        float: right;
    }

    #wrapper {
        padding-bottom: 135px;
    }

    .sort h2 {
        display: inline-block;
        margin-bottom: 0;
    }

    .sort .form-field {
        width: auto;
        margin-right: 20px;
    }

    /*-front-*/
    .page-front .site-content {
        padding-top: 75px;
    }

    .page-front h1 {
        font-size: 44px;
        font-weight: 700;
    }

    .panel h2:before {
        background-size: auto;
        height: 120px;
        width: 88px;
        margin-bottom: 20px;
    }

    .panel-drivers h2:before {
        background-position: -212px 0;
    }

    .panel-employers h2:before {
        background-position: -212px -130px;
    }


    /*-find drivers-*/
    .page-find-drivers #location {
        float: right;
        height: 60px;
        margin-top: -30px;
    }

    .filter .row .form-field+.form-field {
        padding-left: 0;
    }

    /*-jobs-*/
    .job-contact-info {
        width: 40%;
    }

    .job-type {
        width: 26%;
    }

    .job-location {
        width: 34%;
    }

}

@media (min-width: 1000px) {

    .logo img {
        width: 255px;
    }

    #menu-toggle {
        display: none;
    }

    .site-content {
        padding-top: 0;
    }

}

@media (min-width: 1040px) {

    .filter .thirds .form-field {
        min-width: 31%;
    }

    .filter .thirds .form-field:last-of-type {
        text-align: right;
    }

}

@media (min-width: 1100px) {

    .site-footer p {
        float: left;
    }

    .social-media {
        float: right;
        clear: none;
    }

}

@media (min-width: 1160px) {

    .site-header:before {
        right: -1500px;
        left: -1500px;
    }

}

@media (max-width: 959px) {

    .site-footer {
        padding-bottom: 105px;
    }

    .support img {
        position: absolute !important;
        right: 50% !important;
        bottom: -92px !important;
        margin-right: -71px;
    }
}

/* IE10, IE 11 only */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .resume-progress .progress img {
        background: #f3f3f3;
    }
}


/* ------------------------------------------------------------------------------------------- */
/* 10.0 --------------------------------------- Print ---------------------------------------- */
/* ------------------------------------------------------------------------------------------- */

@media print {
    body {
        background: none !important;
        color: #000;
        font-size: 10pt;
    }

    /*-Items to hide-*/
    .site-header,
    .support,
    input[type="submit"],
    input[type="reset"],
    .button,
    .buttons,
    .pages {
        display: none;
    }

}

.ui-dialog {
    padding: 0 !important;
    overflow: visible !important;
}

.ui-dialog .ui-dialog-content {
    padding: 0 !important;
    overflow: hidden !important;
    width: 100% !important;
    display: flex !important;
}

.ui-dialog-content>iframe {
    flex: 1;
    width: 100% !important;
    height: 100% !important;
    border: none;
    margin: 0;
    padding: 0;
}

.ui-widget-overlay {
    background: rgba(0, 0, 0, 0.5) !important;
    opacity: 1 !important;
}
