/* custom css file */
/* 
** HEADER **
*/

/* site header */
.site-header a {
    color: #d21f36;
}

/* secondary nav menu */
.nav-secondary .wrap {
    max-width: 1170px;
    margin: 0 auto;
}

.menu-secondary {
    float: right;
    width: auto !important;
}

/* logo */
.header-image .site-header .wrap .title-area {
    background-size: contain;
}

/* main content */
main.content {
    padding-top: 0;
}

/* site inner */
.site-inner {
    margin-bottom: 40px; max-width: 100% !important; padding: 0;
}
.home .content-sidebar-wrap, .home .content { width: 100% !important; padding: 0; border: none; }

/* links */
.site-inner a, .site-inner a:visited {
    color: #D21D1D;
}

.site-inner a:hover {
    color: #555;
}

/* paragraphs */
p {
    margin: 0 0 12px 0;
}

p:last-of-type {
    margin: 0;
}

/* companies page */
.js-wpv-view-layout-4736 img { max-width: 90%; }

/* bordered buttons */
.bordered { display: inline-block; padding: 8px 16px; border-radius: 6px; font-size: 18px; }

.bordered-red { background: #D0233B; color: #fff !important; }
.bordered-red:hover { background: #333; color: #fff !important; }

/* bordered grey boxes */

.bordered-grey img {
    border: 5px solid #FFF;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.3);
    display: block;
    margin-bottom: 10px;
}

.centered { text-align: center; }

/* clear div */
.cleardiv { clear: both; }

/* columns */
.col-fourth { width: 25%; float: left; }
.col-third { width: 33%; float: left; }

/* padded elements */
.padded-bottom { padding: 0 20px 20px 20px; }

/* staff archive page */
.post-type-archive-school-faculty .js-wpv-view-layout .bordered-grey { height: 300px !important; }

/* staff members and directors */
.person-box.tall-box { min-height: 300px; }
.person-box .box-grey { min-height: 225px; }
.person-box .box-grey img { vertical-align: middle; }
.person-box h3 { margin: 0 !important; font-size: 1.8rem !important; }
.person-box h4 { color: #777 !important; margin-bottom: 4px !important; font-size: 1.4rem !important }
.person-box p { margin: 0; }

.person-box .team-title { font-size: 14px; font-style: italic; color: #666; line-height: 100% !important; }

/* staff single pages */

.single-executives-team .entry-content { margin-top: 25px; }
.single-executives-team .entry-title { display: none; }
.single-executives-team h1.entry-title { margin-bottom: 15px !important; }
.single-executives-team .entry-meta { display: none; }


.single-executives-team .flexholder-quarter img {
    border: 5px solid #FFF;
    box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.3);
    display: block;
    margin-bottom: 10px;
}

/* dicounts */
.discounts { text-align: center; display: flex; flex-flow: row wrap; align-items: center; justify-content: center; }
.discounts-holder { flex: 1 0 33%; min-height: 160px !important; align-self: center; }
.discounts img { display: block !important; width: auto !important; height: 60px !important; margin: 0px auto 10px auto;}
.discounts h3 { margin: 0 !important; font-size: 1.8rem !important; }
.discounts h4 { color: #777 !important; margin-bottom: 4px !important; font-size: 1.4rem !important }
.discounts p { margin: 0; }
.discounts .bordered-grey { text-align: center !important; max-width: 80%; margin: 0 auto; min-height: 120px; align-self: center; padding-top: 10px; }
.discounts .bordered-grey:hover { background: #f1f1f1; }
.discounts .bordered-grey:hover a { color: #777; }
.discounts .bordered-grey img { box-shadow: none; }

/* discounts single */
.single-employee-discount h1.entry-title { display: none; }
.single-employee-discount .entry-meta { display: none; }
.single-employee-discount .site-inner { margin-top: 30px !important; }
.single-employee-discount .wp-post-image { padding-right: 20px; }

/* newsletters */
.newsletters { text-align: center; display: flex; flex-flow: row wrap; align-items: center; justify-content: center; }
.newsletters-holder { flex: 1 0 33%; min-height: 360px !important; align-self: center; }
.newsletters img { display: block !important; width: auto !important; height: 200px !important; margin: 0px auto 10px auto;}
.newsletters h3 { margin: 0 !important; font-size: 1.8rem !important; }
.newsletters h4 { color: #777 !important; margin-bottom: 4px !important; font-size: 1.4rem !important }
.newsletters p { margin: 0; }
.newsletters .bordered-grey { text-align: center !important; max-width: 80%; margin: 0 auto; min-height: 280px; align-self: center; padding: 10px; box-shadow: 4px 4px 4px 4px rgba(0,0,0,0.2); max-width: 261px; }
.newsletters .bordered-grey:hover { background: #f1f1f1; }
.newsletters .bordered-grey:hover a { color: #777; }
.newsletters .bordered-grey img { box-shadow: none; }

/* text */
.text-light, .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6, .text-light li, .text-light a, .text-light p { color: #fff !important; }

/* home news carousel */
.home .uabb-post-wrapper img { max-height: 280px; width: auto; }
.home .uabb-post-wrapper h3 { font-size: 18px; }
.home .uabb-post-wrapper a { color: #fff; }
.home .uabb-post-wrapper .uabb-blog-posts-description { display: none; }
.home .slick-list { max-height: 450px; }
.home .uabb-post-wrapper .uabb-read-more-text { padding-top: 0; }
.home .uabb-blog-posts-shadow { background: transparent !important; }
.home .uabb-blog-post-content { padding-top: 0 !important; }

/* register page */
.page-id-11342 .header-image .title-area, .page-id-11342 .header-image .site-header .wrap .title-area, .page-id-11342 .header-image .site-title, .page-id-11342 .header-image .site-title a { float: none !important; margin: 0 auto !important; text-align: center !important; }
.page-id-11342 .site-header .widget-area { display: none; }

/*
** FLEXBOXES **
*/
.flexcontainer { display: -webkit-flex; display: flex; -webkit-align-content: flex-end;
   align-content: flex-end; }

.flexrow { -webkit-flex-flow: row wrap; flex-flow: row wrap; }

.flexholder { flex: 1; }
.flexholder-threequarter { flex: 1 0 75%; }
.flexholder-half { flex: 1 0 50%; }
.flexholder-third { flex: 1 0 33%; } 
.flexholder-quarter { flex: 1 0 25%; }
.fl-row-content-wrap { flex: 1; }

/* widget area on right */
.site-header .widget-area {
    padding: 40px 0 0 0;
}

.header-widget-area {
    display: flex;
    font-size: 14px;
}

.header-widget-area section {
    flex: 1;
    text-align: left;
    align-items: center;
}

.header-widget-area section:nth-child(2) { 
    flex: 1; text-align: center; }
.header-widget-area section:nth-child(3) { 
    flex: 1; }


.header-widget-area section:last-child {
    text-align: right;
}

.header-widget-area .search-form input[type="search"], #subbox, .widget_product_search input#s {
    max-width: 150px;
    width: auto;
}

.header-widget-area section .fa {
    color: #d21f36;
    margin-right: 8px;
}

/* breadcrumbs */
.content-wrapper {
    background: #f1f1f1;
}

.breadcrumb {
    background: none;
    max-width: 1140px;
    margin: 0 auto;
}

.breadcrumb a {
    color: #D21F36;
}

/* search form */
.site-header .search-form {
    padding: 0;
}

.site-header .search-form input[type="search"] {
    font-size: 14px;
    padding: 0 4px;
    margin: 0;
    height: 45px;
}

.site-header input[type=submit] {
    height: 45px;
    font-size: 14px;
    padding: 4px 8px;
    margin-left: 0;
}

/* logos - internal pages */
.logos {
    text-align: center;
}

.logos img {
    max-width: 220px;
    vertical-align: middle;
    margin: 0 20px 30px;
}

/* LOCATIONS PAGE */

/* remove categories row */
.location_search { width: 100%; }
#location_search_3_tr { display: none; }
.location_search tr { border: 1px solid rgb(238,238,238) !important; }
.location_search td { padding: 12px; }

.location_search #location_search_0_tr td { width: 33%; }
.location_search input[type=text] { font-size: 22px; }

#simplemap { width: 100% !important; }
.page-id-13 #results { width: 100% !important; }

.locations-content label[for="location_search_sm_tag_field_17"] {
    color: #F49407;
}

/* Aggregates */
.locations-content .location_search_empty_cell { display: none; }
.locations-content .location_search_tag_cell { display: none; }
.locations-content .location_search_distance_cell, .locations-content #location_search_distance_fields { display: inline-block; width: 50% !important; margin-bottom: 20px; }
.locations-content label[for="location_search_sm_tag_field_49"] { display: none; }
.locations-content label[for="location_search_sm_tag_field_23"] {
    color: #2CAB00;
}

/* Aglime */
.locations-content label[for="location_search_sm_tag_field_19"] {
    color: #000;
}

/* Asphalt */
.locations-content label[for="location_search_sm_tag_field_29"] {
    color: #8F298D;
}

/* Building Materials */
.locations-content label[for="location_search_sm_tag_field_21"] {
    color: #C03737;
    clear: both;
}

/* Ready Mix */

.locations-content label[for="location_search_sm_tag_field_27"] {
    color: #1F72C1;
}

/* River Terminal */
.locations-content label[for="location_search_sm_tag_field_9999"] {
    color: #8F2294;
}


/* Multiple Service Checkbox */
.bubble_description p {
    margin: 0 0 4px !important;
}

.locations-content p strong {
    display: block;
    margin: 14px 0 0 0;
}

.locations-content input[type=submit] {
    font-size: 20px;
    background: #D21F36;
    color: #fff;
    border: 0;
    padding: 8px 16px;
}

.locations-content input[type=submit]:hover {
    background: #555;
}
#simplemap .infoBox h3 { font-size: 20px; }
#simplemap .infoBox a { color: rgb(210, 31, 54) !important; }
#simplemap p { font-size: 14px; }

.single-sm-location .site-inner { margin-top: 20px; }
.single-sm-location .sidebar { display: none; }
.single-sm-location main.content { width: 100%; border-right: none; }
.single-sm-location .entry-meta { display: none; }

/*
** MAIN NAV BAR **
*/
/* social icons */
.menu-primary a, .menu-primary ul a { text-transform: uppercase; font-size: 14px !important; }
.menu-primary > li:last-child {
    float: right;
    display: block;
    font-size: 18px;
}

.menu-primary > li:last-child a {
    display: inline-block;
    font-size: 14px !important;
    width: auto !important;
    background: rgba(255, 255, 255, 0.2) !important;
    padding: 8px !important;
    margin: 12px 2px !important;
    padding: 4px 0 !important;
    text-align: center;
    width: 24px !important;
}

.menu-primary > li:last-child a:hover {
    background: rgba(0, 0, 0, 0.2) !important;
}

.menu-primary > li:last-child a:last-child {
    margin-right: 0 !important;
}

.menu-primary > li:last-child ul {
    display: block;
    position: relative;
    left: 0;
    width: auto;
}

.menu-primary > li:last-child ul li:last-child {
    margin-right: 0 !important;
}

.menu-primary > li:last-child .simple-social-icons ul li { margin: 0 3px !important; }

/* main content */
.content-sidebar-wrap main.content {
    border-right: 1px solid #f1f1f1;
}

/* internal content */
.internal-content .fl-module-content, .internal-content .fl-row-content-wrap {
    padding: 0 !important;
    margin: 10px auto 0 auto !important;
}

/* photos */
.fl-photo-content {
    margin: 25px 0 0 0;
}

/* nopadding sections */
.nopadding .fl-module-content, .nopadding .fl-row-content-wrap {
    padding: 0 !important;
    margin: 0 !important;
}

/* page headers */
.page-header .pp-heading-content {
    margin-top: 12px !important;
}

.page-header .fl-row-content-wrap, .page-header h2.heading-title {
    padding: 0 !important;
    margin: 0 !important;
    font-size: 44px;
    font-weight: 500;
    color: #D21F36 !important;
}

.page-header .pp-sub-heading p {
    margin: 0;
    padding: 0;
    font-size: 24px;
}

.page-header .fl-module-content {
    margin: 20px auto 0px auto;
}

.page-header .pp-heading-separator {
    margin: 0px !important;
}

.page-header .pp-heading-content .pp-heading-separator .pp-heading-separator-icon {
    border-radius: 0px !important;
}

/* page headers - search and archive pages */
body.search .content h1.archive-title {
    margin: 40px auto 0 auto !important;
    padding: 0 !important;
    font-size: 44px;
    font-weight: 500;
    color: #D21F36 !important;
    text-align: center;
    background: transparent !important;
}
.archive-description { background: transparent; }

body.search .content article {
    margin: 20px 0;
    padding: 20px;
    background: #f1f1f1;
}

body.search .content article h2.entry-title {
    font-size: 24px;
}

/* sidebars */
aside.sidebar-primary {
    margin-top: 36px;
}

/* sidebars - search form */
aside.sidebar-primary .search-form {
    padding: 0 !important;
    width: 100% !important;
}

aside.sidebar-primary .search-form input[type=search] {
    font-size: 14px;
    width: 80% !important;
    margin: 0;
    padding: 10px 2%;
}

aside.sidebar-primary .search-form input[type=submit] {
    font-size: 14px;
    padding: 10px 2%;
    float: right;
    width: 16%;
    margin: 0;
}

/* sidebars - menus */
aside.sidebar-primary ul {
    padding-top: 0 !important;
}

aside.sidebar-primary .widget_nav_menu h4.widget-title {
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
    background: #d21f36;
    padding: 10px;
    margin: 0;
    color: #fff;
}

aside.sidebar-primary h4.widget-title {
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
    background: #d21f36;
    padding: 10px;
    margin: 0 0 20px 0;
    color: #fff;
}

aside.sidebar-primary .widget_nav_menu .menu {
    padding: 10px 0 0 !important;
}

aside.sidebar-primary .widget_nav_menu ul.menu li {
    display: block;
    position: relative;
    padding: 0;
    border-bottom: 1px solid #d21f36;
    margin: 0;
}

aside.sidebar-primary .widget_nav_menu ul.menu li.current-menu-item a {
    background: #888;
    color: #fff
}

aside.sidebar-primary .widget_nav_menu ul.menu li.current-menu-item a::before {
    background-color: #333;
    color: #fff
}

aside.sidebar-primary .widget_nav_menu ul.menu li a {
    margin: 0 0 0 35px;
    display: block;
    padding: 0px 0 0 10px;
}

aside.sidebar-primary .widget_nav_menu ul.menu li a:hover {
    background: #888;
    color: #fff
}

aside.sidebar-primary .widget_nav_menu ul.menu li a:hover::before {
    background-color: #333;
    color: #fff
}

aside.sidebar-primary .widget_nav_menu ul.menu a:before {
    content: '';
    display: inline-block;
    height: 35px;
    width: 35px;
    background-image: url('/wp-content/uploads/2016/09/logo-1-150x150.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -45px;
    margin-right: 10px;
    vertical-align: middle;
}

/* sidebars - contacts */
.sidebar-contacts p {
    margin-bottom: 25px;
}

/* sidebars - recent posts */
aside.sidebar-primary .widget_recent_entries ul {
    padding: 0;
}

/* EMPLOYEE DIRECTORY */

.page-template-employee-directory h1.title { text-align: center; margin: 30px 0; font-size: 44px; font-weight: normal; }

.page-template-employee-directory .user {
    float: left;
    height: 136px;
    margin: 0 15px 35px 0;
    width: 335px;
}

.page-template-employee-directory .user.no-margin {
    margin-right: 0;
}

.page-template-employee-directory .user img {
    border: 1px solid #e5e5e5;
    box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.2);
    float: left;
    margin-right: 30px;
}

.phone-icon, .cell-phone-icon { max-width: 20px; margin: 0 10px 0 0 !important; }

.page-template-employee-directory .user h2 {
    color: #6e665e;
    font-family: Arial;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.page-template-employee-directory .user p {
    font-size: 12px;
    font-style: italic;
    margin: 0;
}

.page-template-employee-directory .user a {
    word-break: break-word;
}

/* pagination */
.pagination a, .pagination .current { display: inline-block; padding: 8px 16px; background: #f1f1f1; margin: 0 8px; }

/* export */
.export { text-align: center; margin-top: 40px; }


/*  single posts */
.single-post .attachment-post-image { float: left; margin: 0 20px 20px 0; }
.single-post .entry-content { float: none; clear: both !important; }

.single-post .sidebar h4.widget-title, .search .sidebar h4.widget-title {
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
    background: #d21f36;
    padding: 10px;
    color: #fff;
}

.single-post .sidebar ul, .search .sidebar ul {
    margin: 0;
    padding: 10px 0 0 0;
}

.single-post .sidebar ul li, .search .sidebar ul li {
    display: block;
    position: relative;
    padding: 15px 8px 15px 0;
    border-bottom: 1px solid #d21f36;
    margin: 0;
}

.single-post .sidebar ul li.current-menu-item a, .search .sidebar ul li.current-menu-item a {
    background: #888;
    color: #fff
}

.single-post .sidebar ul li.current-menu-item a::before, .search .sidebar ul li.current-menu-item a::before {
    background-color: #333;
    color: #fff
}

.single-post .sidebar ul li a, .search .sidebar ul li a {
    margin: 0 0 0 35px;
    display: block;
    padding: 0px 0 0 10px;
}

.single-post .sidebar ul li a:hover, .search .sidebar ul li a:hover {
    background: #888;
    color: #fff
}

.single-post .sidebar ul li a:hover::before, .search .sidebar ul li a:hover::before {
    background-color: #333;
    color: #fff
}

.single-post .sidebar ul a:before, .search .sidebar ul a:before {
    content: '';
    display: inline-block;
    height: 35px;
    width: 35px;
    background-image: url('/wp-content/uploads/2016/09/logo-1-150x150.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -45px;
    margin-right: 10px;
    vertical-align: middle;
}

.sidebar.widget-area .widget_archive select, .sidebar.widget-area #cat {
    margin: 30px 0;
}

/* internal menus on page bottoms */
.menus-internal-bottom {
    text-align: center;
}

.menus-internal-bottom li {
    list-style-type: none !important;
    float: none !important;
    display: block;
    margin: 0 8px 10px !important;
    background: #D21F36;
}

.menus-internal-bottom li:hover {
    background: #555;
}

.menus-internal-bottom li a, .menus-internal-bottom li a:active, .menus-internal-bottom li a:visited {
    color: #fff !important;
    font-size: 30px;
}

.menus-internal-bottom li a:hover {
    color: #fff;
}

/* blog grid */
.blog-grid h4.pp-post-title {
    font-size: 20px;
}

.blog-grid .pp-more-link-button {
    font-size: 16px !important;
    display: block;
}

.blog-grid img.fl-photo-img {
    height: 150px;
}

.pp-posts-wrapper .pp-content-grid-pagination .page-numbers li {
    margin: 0 5px;
}

/* single posts */
.single-post h1.entry-title {
    font-size: 32px;
}

.single-post main.content {
    margin: 40px 0 0 0;
}

.single-post .entry-meta {
    font-style: italic;
    font-weight: 600;
}

/* fullwidth links */
a.fullwidth, a.fullwidth:active, a.fullwidth:visited {
    display: block;
    margin: 0 auto 10px auto;
    background: #D21F36;
    text-align: center;
    color: #fff;
    font-size: 24px;
    max-width: 80%;
    border-radius: 10px;
    padding: 8px 16px;
}

a.fullwidth:hover {
    background: #555;
    color: #fff;
}

/*
**  BEAVER BUILDER **
*/
.fl-builder-bar-title {
    padding-top: 12px;
}

.fl-builder-bar-title img {
    display: none !important;
}

/* dual buttons */
.pp-dual-button-content .pp-dual-button-1 .pp-font-icon {
    color: #fff !important;
}

.pp-dual-button-content .pp-dual-button-inner .pp-dual-button-1 a {
    color: #fff !important;
    background-color: #d21f36 !important;
    border-radius: 8px;
}

.pp-dual-button-content .pp-dual-button-2 .pp-font-icon {
    color: #fff !important;
}

.pp-dual-button-content .pp-dual-button-inner .pp-dual-button-2 a {
    color: #fff !important;
    background-color: #555 !important;
    border-radius: 8px;
}

.pp-dual-button-content .pp-dual-button-1 a:hover, .pp-dual-button-content .pp-dual-button-2 a:hover {
    background: #000 !important;
}

/* services section */
.section-services .fl-module-pp-infobox p.pp-infobox-title {
    text-transform: uppercase;
}

.section-services span.pp-icon, .section-services .pp-infobox-icon-inner {
    height: 50px;
    width: 50px;
}

.section-services span.pp-icon, .section-services .pp-infobox-icon-inner span:before {
    font-size: 26px !important;
}

.section-services span.pp-icon, .section-services .pp-infobox-icon-inner span.pp-icon {
    background: #d21f36;
}

.section-services .pp-more-link {
    color: #fff !important;
    background: #d21f36;
    padding: 8px;
    border-radius: 3px
}

/* infoboxes sections */
.section-infoboxes .fl-module-pp-infobox {
    background: rgba(240, 240, 240, 1)
}

.section-infoboxes .pp-infobox {
    padding: 0;
}

.section-infoboxes .fl-module-pp-infobox p.pp-infobox-title {
    text-transform: uppercase;
    margin-top: 0 !important;
    font-size: 30px;
    color: #D21F36;
    line-height: 100%;
}

.section-infoboxes span.pp-icon, .section-infoboxes .pp-infobox-icon-inner {
    height: 50px;
    width: 50px;
}

.section-infoboxes span.pp-icon, .section-infoboxes .pp-infobox-icon-inner span:before {
    font-size: 26px !important;
}

.section-infoboxes span.pp-icon, .section-infoboxes .pp-infobox-icon-inner span.pp-icon {
    background: #d21f36;
}

.section-infoboxes .pp-more-link, .section-infoboxes .pp-more-link:visited, .section-infoboxes .pp-more-link:active {
    width: auto;
    background: #d21f36;
    color: #fff;
    padding: 2px 16px;
    font-size: 16px;
    margin-top: 5px !important;
    text-align: center;
}

.section-infoboxes .pp-more-link:hover {
    background: #555;
    color: #fff !important;
}

.section-infoboxes .pp-heading-wrapper {
    padding: 0;
    margin: 0;
    vertical-align: top !important;
}

.section-infoboxes .pp-infobox-image {
    padding: 0;
    margin: 0;
}

.pp-infobox-title-wrapper .pp-infobox-title {
    margin-top: 0 !important;
    font-weight: 700 !important;
}

.pp-infobox-image img {
    height: 150px !important;
}

.fl-module-separator .fl-module-content .fl-separator {
    padding: 0;
    color: #fff !important;
    background-color: #fff !important;
    border: none;
}

/* gravity forms */
.gform_wrapper { display: block !important; }

.gform_wrapper input[type=submit] { background-color: #d21f36 !important; color: #fff !important; border: none; padding: 12px 24px; font-size: 20px !important; }
.gform_wrapper input[type=submit]:hover { background-color: #777 !important; }
.gform_confirmation_wrapper { text-align: center; margin: 30px 0; }
.gform_confirmation_wrapper .gform_confirmation_message { font-size: 30px; color: #d21f36; }

/* counters */
.home .builder-counters .uabb-number-text {
    text-align: center;
}

.home .builder-counters .uabb-icon-wrap .uabb-icon i {
    color: #fff;
}

.home .builder-counters .uabb-icon-wrap .uabb-icon i, .builder-counters .uabb-icon i:before {
    font-size: 50px !important;
    line-height: 50px !important;
    height: 50px !important;
    width: 50px !important;
}

.home .builder-counters .uabb-imgicon-wrap {
    padding-right: 0px;
    margin: 0;
}

.home .builder-counters h2.uabb-number-string {
    font-size: 50px;
    margin: 0;
    color: #fff;
}

.home .builder-counters .uabb-number-after-text {
    margin-top: 0;
    color: #fff;
}

.home .builder-counters .fl-row-content-wrap {
    padding: 80px 0;
}

/* home slider */
.home .soliloquy-wrapper div.caption-outer {
    max-width: 1100px;
    margin: 0 auto;
}

.home .soliloquy-wrapper div.caption-inner {
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.home .soliloquy-wrapper h2 {
    flex: 3;
    color: #fff !important;
    text-transform: uppercase;
    padding-bottom: 0;
    margin-bottom: 0;
    text-align: left;
}

.home .soliloquy-wrapper div.caption-inner a {
    flex: 1;
    color: #fff !important;
    background: rgba(210, 31, 54, 0.8);
    padding: 10px 0;
    border-radius: 3px;
}

.home .soliloquy-wrapper div.caption-inner a:hover {
    background: rgba(0, 0, 0, 0.5);
}

.home .soliloquy-container .soliloquy-caption {
    top: 0;
    bottom: inherit;
    padding-bottom: 0;
    background: rgba(0, 0, 0, 0.3);
}

/* filebase pro - folder display */
.treeview li.collapsable, .treeview li.expandable { margin: 30px 0 !important; list-style: none !important; }
.treeview .cat img { display: none; }
.treeview .cat a { background: #fafafa !important; padding: 14px 20px; }

/*
**  FOOTER **
*/
#ez-fat-footer-container {
    max-width: 1100px;
    display: flex;
}

#ez-fat-footer-container .widget-area:first-child img {
    max-height: 45px;
    width: auto;
    margin-bottom: 0;
    padding-bottom: 0;
}

#ez-fat-footer-container .widget-area {
    flex: 1;
}

#ez-fat-footer-container img, #ez-fat-footer-container p img {
    max-width: 190px;
}

#ez-fat-footer-container .ez-widget-area h4 {
    margin: 0;
    padding: 0;
}

#ez-fat-footer-container .ez-widget-area ul li {
    list-style-type: none;
    margin: 0;
}

#footer_top_sections {
    background: #D21F36;
    display: flex;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 7%;
}

#footer_top_sections section {
    display: flex;
    flex: 1;
    align-items: center;
    height: 60px;
}

#footer_top_sections section:last-child .widget-wrap:last-child {
    margin: 0 0 0 auto;
}

#footer_top_sections .search-form input[type="search"], #subbox, .widget_product_search input#s {
    margin: 0;
}

/* footer social icons */
#footer_top_sections .social a {
    color: #fff;
    display: inline-block;
    font-size: 14px !important;
    background: rgba(255, 255, 255, 0.2) !important;
    padding: 8px !important;
    margin: 12px 2px !important;
    padding: 4px 0 !important;
    text-align: center;
    width: 24px !important;
}

#footer_top_sections .social a:hover {
    background: rgba(0, 0, 0, 0.2) !important;
}

#footer_top_sections .social a:last-child {
    margin-right: 0 !important;
}

#ez-fat-footer-container h4.widget-title {
    text-transform: uppercase;
    font-weight: 500;
}

#ez-fat-footer-container #ez-fat-footer-4 img {
    margin: 0;
    max-height: 50px;
    width: auto;
}

#footer_bottom_section {
    display: flex;
    max-width: 100%;
    padding: 0 7%;
    margin: 5px auto 0;
}

#footer_bottom_section section {
    display: flex;
    flex: 1;
    align-items: center;
}

#footer_bottom_section section:first-child {
    text-align: left;
}

#footer_bottom_section section:nth-child(2) {
    text-align: center;
}

#footer_bottom_section section:last-child {
    text-align: right !important;
    font-size: 24px;
}

#footer_bottom_section section:last-child .widget-wrap {
    flex: 1;
}

#footer_bottom_section p {
    font-size: 13px;
}

#footer_bottom_section a {
    color: #d21f36 !important;
}

#footer_bottom_section a:hover {
    color: #000 !important;
}



/* contact form */
.formcontainer br {
    display: none !important;
}
.formcontainer label { font-weight: bold; }

.formcontainer input[type=text], .formcontainer input[type=email], .formcontainer #email, .formcontainer select, .formcontainer textarea {
    border: none !important;
    width: 100% !important;
    font-size: 20px !important;
    background: #f1f1f1;
    padding: 4px 0 4px 14px !important;
    color: #555 !important;
    margin: 0 0 10px 0 !important;
}

.formcontainer input[type=submit] {
    width: 100% !important;
    font-size: 20px !important;
    background: #D21F36 !important;
    color: #fff !important;
    border: 0 !important;
    padding: 8px 16px !important;
}

.formcontainer input[type=submit]:hover {
    background: #555 !important;
}

.formcontainer p {
    margin: 0 !important;
}

.contactforms p {
    display: none;
}

label.error { color: #ff0000; display: block; margin: -10px 0 8px 0; }

/* flexboxes */
/*On the flex container*/
.flexcontainer {
    display: -webkit-flex;
    display: flex;
}

.flexrow {
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flexrow.wrap {
    flex-wrap: wrap;
}

.flexequal.half {
    flex: 1 0 50%;
    margin: 20px 0;
}

.flexequal.third {
    flex: 1 0 30%;
    margin: 20px 0;
}

/* custom post types */
/* single pages */
.page-custom-header p {
    margin: 0;
}

article.type-company header {
    display: none;
}

.single-company .wp-post-image { max-height: 200px; width: auto; margin: 0 auto 30px auto; }

/* padded, nopadding */
.padded {
    padding: 30px;
}

.nopadding {
    padding: 0;
}

/* margin, nomargin */
.nomargin {
    margin: 0 !important;
}

/* alignment */
.rightalign {
    text-align: right;
}

/* CALCULATORS */

.calculators-content .calculator {
    text-align: center;
    margin: 50px 0;
}

.calculators-content label {
    color: #5B534C;
    display: block;
    font-size: 18px;
    text-align: center;
}

.calculators-content p {
    display: block;
    clear: both;
    margin: 0 0 15px;
}

.calculators-content input[type="text"] {
    background-color: #f1f1f1;
    border: medium none;
    font-size: 28px;
    margin: 0 auto;
    padding: 8px;
    width: 90%;
    text-align: center;
    display: block;
}

.calculators-content input[type="text"].result {
    text-align: center;
    margin: 0 auto;
    width: 130px;
    background: #555;
    color: #fff;
}

.calculators-content #subbase-density, .calculators-content #drainage-density, .calculators-content #ag-density {
    margin: 0 auto 20px;
}

.calculators-content input[type="submit"] {
    background-color: #C2363B;
    border: medium none;
    color: #FFFFFF;
    font-size: 18px;
    padding: 15px 20px;
    clear: both;
    display: block;
    width: 40%;
    margin: 0 auto;
    border-radius: 15px
}

.calculators-content h3 {
    text-align: center;
}

.calculators-content section#material label {
    font-size: 18px;
    display: inline-block;
    margin: 0 auto;
}

.calculators-content input[type=radio] {
    margin: 0 auto;
    text-align: center;
    display: block;
}

/* careers page */
.job-vid-box {
    margin-bottom: 25px;
    min-height: 200px !important;
    min-width: 390px !important;
    width: inherit;
    vertical-align: top;
    padding: 0;
    display: inline-block;
}

.careers-video-grid { clear: both; }

.vid-descrip {
    background-size: cover;
    background-repeat: no-repeat;
    height: 38px;
    color: #fff;
    position: relative;
    top: 150px;
    padding: 0 10px;
    background: rgba(226,25,54,0.7) !important;
}
.vid-title { background: #d21f36; color: #fff; font-size: 20px; float: none; text-align: center; padding: 8px; margin: 0 0 25px 0; }

.vid-yt-play {
    font-size: 26px;
    text-align: right;
    float: right;
}
.vid-yt-play i {
    vertical-align: middle;
    margin-top: -10px;
}

.careers-listing {
    width: 33%;
    display: inline-block;
    margin-bottom: 30px;
    vertical-align: top;
    padding: 0 10px 0 0;
}
.careers-listing .listing {
    box-shadow: 2px 2px 3px rgba(0,0,0,0.15);
    padding: 10px 5px;
    min-height: 200px;
    position: relative;
}
.careers-listing .listing:hover {
    background: #f1f1f1;
}
.careers-listing h4 { font-size: 20px !important; margin: 0 0 18px 0 !important; }
.careers-listing h4 a:hover { text-decoration: underline !important; }
.careers-listing .location { display: block; font-size: 16px; }
.careers-listing .job-function { display: block; font-size: 14px; margin: 15px 0 0; }
.careers-listing a.view-link { display: block; margin: 8px 0 0; }
.careers-listing a.view-link:hover { text-decoration: underline !important; }
.jobsearchfilter {
    display: block;
    width: 100%;
    font-size: 22px;
    margin: 0;
    padding: 20px;
    border: 2px solid silver;
}

/* employee handbook section */
.fl-accordion-button, .fl-accordion-button-label { background: #D21F36; color: #fff !important; font-size: 22px; }

.single-handbook-policies .entry-meta { display: none; }
.single-handbook-policies .entry-title { display: none; }

.single-handbook-policies .uabb-button:hover { background: #777; color: #fff; }

.tax-handbook-section .js-wpv-loop { max-width: 600px !important; margin: 0 auto; }

/* handbook search */
.handbook-search .form-group { text-align: center; }
.handbook-search label { font-size:  22px; }
.handbook-search input[type=text] { margin: 10px 0; width: 100%; font-size: 22px; padding: 10px; }
.handbook-search input[type=submit] { font-size: 20px; background: #d21f36; color: #fff; padding: 10px 20px; }
.handbook-search input[type=submit]:hover { background: #777; color: #fff; }

/* text settings */
.dark { color: #000; }

/* fieldsets */
fieldset {
    border-radius: 8px;
    margin: 20px 0;
}

legend {
    font-size: 34px;
    color: #C2363B;
}

/* form buttons with icons */
input[type=submit]:hover {
    background: #555;
}

.fa-fa {
    font-family: FontAwesome, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* get a quote page */
body.page-template-get-quote main.content {
    border-right: none;
}

/* mobile menu */
#mg-wprm-wrap { background-color: #E31836 !important; }
.cbp-spmenu {  z-index: 999999; }
#wprmenu_bar .menu_title a { color: #fff !important; }

/* mobile */
@media screen and (max-width: 1140px) {
    /* top menu */
    ul.menu-secondary, .site-header ul.genesis-nav-menu {
        float: right;
        margin-right: 2.5%;
    }

    /* logo */
    .header-image .site-header .wrap .title-area {
        float: left;
        height: 70px;
        width: 20%;
        margin: 10px 5% 0 2.5%;
        padding: 0;
    }

    .header-image .title-area, .header-image .site-title, .header-image .site-title a {
        width: 20%;
        height: 70px;
        margin: 0;
    }

    /* header widgets */
    .site-header .widget-area {
        float: right;
        width: 70%;
        padding: 20px 2.5% 0 0
    }

    .header-widget-area section {
        flex: 1 !important;
    }

    .header-widget-area section:first-child {
        margin-right: 0;
        border: none;
    }

    .header-widget-area section:nth-child(3) {
        flex: 1;
    }

    .header-widget-area .search-form input[type="search"] {
        max-width: 90px;
    }

    /* main menu */
    ul.menu-primary {
        text-align: left;
    }

    /* main menu social */
    .menu-primary > li:last-child {
        margin-right: 2.5%;
    }

    /* main content */
    main.content {
        border-right: none;
    }

    /* sidebar nav menu */
    .sidebar .widget_nav_menu {
        width: 50%;
        margin: 0 auto !important;
    }
}

@media screen and (max-width: 1024px) {
	ul.menu-primary { text-align: center; margin: 0 auto; }
	.menu-primary > li:last-child { display: block; float: none !important; margin: 0 auto; text-align: center; }
	.menu-primary > li:last-child ul.alignleft {  float: none !important; margin: 0 auto; text-align: center; left: inherit; }
	.menu-primary > li:last-child .simple-social-icons ul li { float: none; }
}

@media screen and (max-width: 980px) {
    /* main menu */
    .menu-primary a {
        padding: 17px 8px;
    }

    /* titles */
    .pp-heading-content .pp-heading .heading-title {
        line-height: 120%;
        font-size: 30px;
    }

    h1 {
        font-size: 30px;
    }

    h2 {
        font-size: 26px;
    }

    h3 {
        font-size: 24px;
    }

    h4 {
        font-size: 20px;
    }

    h5 {
        font-size: 18px;
    }

    /* body fonts */
    .dynamik-page-builder .site-inner p, .dynamik-page-builder .site-inner ul li, .dynamik-page-builder .site-inner ol li, .entry-content p, .entry-content ul li, .entry-content ol li, .entry-pagination {
        font-size: 16px;
    }
    #results {
        width: 350px !important;
        margin: 325px auto 0;
        /*margin-top: 325px;*/
        min-height: 600px;
    }
    #simplemap {
        width: 95% !important;
        margin: 0 auto;
    }
}

@media screen and (max-width: 900px) {
    /* logo */
    .header-image .site-header .wrap .title-area {
        float: left;
        height: 70px;
        width: 40%;
        margin: 10px 5% 0 2.5%;
        padding: 0;
    }

    .header-image .title-area, .header-image .site-title, .header-image .site-title a {
        width: 40%;
        height: 70px;
        margin: 0;
    }

    /* header widgets */
    .site-header .widget-area {
        float: right;
        width: 50%;
        padding: 20px 2.5% 0 0
    }

    /* top menu and primary menu */
    nav.nav-secondary, nav.nav-primary .wrap {
        display: none;
    }

    nav.nav-primary {
        line-height: 1px;
        padding: 0;
        margin: 0;
        border-top: solid 1px #d21f36;
    }
    /* mobile menu */
    div.wprm-wrapper {
    overflow: hidden !important;
    }

    /* header widgets - search bar */
    .header-widget-area section:nth-child(3) {
        display: none;
    }

    /* home slider */
    .home .soliloquy-wrapper h2 {
        font-size: 24px;
    }

    /* home infoboxes */
    .home .pp-infobox {
        padding: 0;
    }

    /* home counters */
    .home .builder-counters .fl-row-content-wrap {
        padding: 40px 0;
    }

    .home .builder-counters .uabb-icon-wrap .uabb-icon i, .builder-counters .uabb-icon i:before {
        font-size: 32px !important;
        line-height: 120% !important;
        height: 32px !important;
        width: 32px !important;
    }

    .home .builder-counters h2.uabb-number-string {
        font-size: 32px;
    }
}

@media screen and (max-width: 768px) {
    #simplemap {
        width: 95% !important;
        margin: 0 auto;
    }
    .locations-content #map_search, .locations-content .location_search {
        width: 100% !important;
        padding: 15px;
    }
    .locations-content .location_search_zip_cell input {
        left: 2%;
        width: 40%;
    }
    .locations-content .location_search #location_search_distance_field {
        left: 82%;
    }
    .locations-content .dropdown-div {
        left: 31%;
        top: -35px;
        margin: 0;
        display: inline-block;
        width: 30%;
    }
    .locations-content .location_search .dropdown-div #county {
        width: 100%;
    }
    #results {
        margin: 340px auto 0;
    }
}

@media screen and (max-width: 767px) {
    /* logo */
    .header-image .site-header .wrap .title-area {
        float: left;
        height: 70px;
        width: 30%;
        margin: 10px 5% 0 2.5%;
        padding: 0;
    }

    .header-image .title-area, .header-image .site-title, .header-image .site-title a {
        width: 30%;
        height: 70px;
        margin: 0;
    }

    /* header widgets */
    .site-header .widget-area {
        float: right;
        width: 60%;
        padding: 20px 2.5% 0 0
    }

    /* home slider */
    .home .soliloquy-wrapper h2 {
        flex: 2;
        font-size: 18px;
    }

    /* footer sections */
    #footer_bottom_section section:first-child {
        flex: 2;
    }

    /* footer slogan */
    #footer_bottom_section section:last-child {
        font-size: 14px;
    }

    /* sidebar nav menu */
    .sidebar .widget_nav_menu {
        width: 100% !important;
    }
}

@media screen and (max-width: 618px) {
    #map_search {
        margin-top: 415px;
    }
    #simplemap {
        width: 95% !important;
        margin: 0 auto;
    }
    .locations-content #map_search, .locations-content .location_search {
        width: 100% !important;
        padding: 15px;
    }
    .locations-content .location_search_zip_cell input {
        left: 2%;
        width: 40%;
    }
    .locations-content .location_search #location_search_distance_field {
        left: 82%;
    }
    .locations-content .dropdown-div {
        left: 31%;
        top: -35px;
        margin: 0;
        display: inline-block;
        width: 30%;
    }
    .locations-content .location_search .dropdown-div #county {
        width: 100%;
    }
	
	/*
** FLEXBOXES **
*/

.single-executives-team .entry-title { text-align: center; }
.single-executives-team h5.executive-title { text-align: center; }
.single-executives-team article.executives-team .flexcontainer { display: block; }
.single-executives-team article.executives-team .flexcontainer .flexholder-quarter { display: block; text-align: center; }
.single-executives-team article.executives-team .flexcontainer .flexholder-threequarter { display: block; }

}

@media screen and (max-width: 600px) {
    /* logo */
    .header-image .site-header .wrap .title-area {
        float: left;
        height: 70px;
        margin: 10px 5% 0 2.5%;
        padding: 0;
    }

    .header-image .title-area, .header-image .site-title, .header-image .site-title a {
        height: 70px;
        margin: 0;
    }

    /* header widgets - phone and email */
    .header-widget-area #black-studio-tinymce-3 { display: none;
        
    }

    /* header widgets */
    .site-header .widget-area {
        float: right;
        padding: 20px 2.5% 0 0
    }
	.site-header .widget-area .bordered {
		font-size: 14px;
		padding: 4px 8px;
	}

    /* titles */
    .pp-heading-content .pp-heading .heading-title {
        line-height: 120%;
        font-size: 24px;
    }

    h1 {
        font-size: 24px;
    }

    h2 {
        font-size: 22px;
    }

    h3 {
        font-size: 20px;
    }

    h4 {
        font-size: 18px;
    }

    h5 {
        font-size: 16px;
    }

    /* footer ez-fat-footer sections */
    #ez-fat-footer-container .widget-area:first-child {
        display: block;
        text-align: center;
    }

    #ez-fat-footer-container .widget-area:nth-child(2), #ez-fat-footer-container .widget-area:nth-child(3), #ez-fat-footer-container .widget-area:nth-child(4) {
        display: none;
    }

    /* footer search */
    #footer_top_sections .widget_search {
        display: none;
    }

    /* footer social */
    #footer_top_sections section:last-child {
        display: block;
        text-align: center;
    }

    /* footer bottom sections */
    #footer_bottom_section section:first-child {
        display: block;
        margin: 15px 0;
        text-align: center;
    }

    /* footer slogan */
    #footer_bottom_section section:last-child {
        display: none;
    }

    /* blog posts grid */
    .pp-posts-wrapper .pp-content-post {
        height: auto !important;
    }

    #simplemap {
        width: 95% !important;
        margin: 0 auto;
    }

    .locations-content #map_search, .locations-content .location_search {
        width: 100% !important;
        padding: 15px;
    }

    #map_search {
        margin-top: 415px;
    }
    .locations-content .location_search_zip_cell input {
        left: 2%;
        width: 40%;
    }
    .locations-content .location_search #location_search_distance_field {
        left: 82%;
    }
    .locations-content .dropdown-div {
        left: 31%;
        top: -35px;
        margin: 0;
        display: inline-block;
        width: 30%;
    }
    .locations-content .location_search .dropdown-div #county {
        width: 100%;
    }
	.locations-content #map_search { display: block; clear:both;}
    /*.locations-content .dropdown-div {
        margin: 0;
        position: relative;
    }
    .locations-content .location_search .dropdown-div #county {
        position: relative;
        top: initial;
        left: initial;
    }
    .locations-content .location_search_zip_cell input {
        position: relative;
    }
    .locations-content .location_search #location_search_distance_field {
        position: relative;

    }*/


}

@media screen and (max-width: 480px) {
    .header-image .site-header .wrap .title-area {
        height: 50px;
    }

    .header-image .title-area, .header-image .site-title, .header-image .site-title a {
        width: 50%;
        height: 50px;
        margin: 0;
    }
    #results {
        margin: 400px auto 0;
        width: 95%!important;
    }
}

@media screen and (max-width: 328px) {
    #map_search {
        margin-top: 438px;
    }
}