/*
Theme Name: Arcosa
Author: MBLM
Author URI: http://mblm.com/
Version: 1.1
Text Domain: arcosa
*/

body {
  margin: 0;
  font-family: proxima-nova, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.56;
  color: #4a4a4a;
  text-align: left;
  background-color: #fff
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  margin-bottom: .5rem;
  font-family: inherit;
  font-weight: 300;
  line-height: 1.2;
  color: #000
}

.h1, h1 {
  font-size: 2.75rem
}

.h2, h2 {
  font-size: 2.25rem
}

.h3, h3 {
  font-size: 1.75rem
}

.h4, h4 {
  font-size: 1.5625rem
}

.h5, h5 {
  font-size: 1.375rem
}

.h6, h6 {
  font-size: 1.25rem
}

.lead {
  font-size: 1.375rem;
  font-weight: 300
}

.display-1 {
  font-size: 3.4375rem;
  font-weight: 300;
  line-height: 1.2
}

.display-2 {
  font-size: 3.1875rem;
  font-weight: 300;
  line-height: 1.2
}

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2
}

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2
}

.display-1, .display-2, .display-3, .display-4 {
  color: #000
}

.page-title {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2
}

.alignwide {

}

.alignfull {

}

.alignwide {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
}

@media (min-width:576px) {
  .alignwide {
    max-width: 540px
  }
}

@media (min-width:768px) {
  .alignwide {
    max-width: 720px
  }
}

@media (min-width:992px) {
  .alignwide {
    max-width: 960px
  }
}

@media (min-width:1200px) {
  .alignwide {
    max-width: 1170px
  }
}

/* .alignfull {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto
} */

.alignfull {
  width: 100vw !important;
  margin-left: calc(50% - 50vw);
}

@media (min-width:768px) {
  .h1, h1 {
    font-size: 3.1875rem
  }
  .h2, h2 {
    font-size: 2.75rem
  }
  .h3, h3 {
    font-size: 2.25rem
  }
  .h4, h4 {
    font-size: 1.75rem
  }
  .h5, h5 {
    font-size: 1.5625rem
  }
  .h6, h6 {
    font-size: 1.375rem
  }
  .display-1 {
    font-size: 4.5rem
  }
  .display-2 {
    font-size: 4rem
  }
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(74, 74, 74, .1)
}

.small, small {
  font-size: 89%;
  font-weight: 400
}

.mark, mark {
  padding: .2em;
  background-color: #fcf8e3
}

.list-unstyled {
  padding-left: 0;
  list-style: none
}

.list-inline {
  padding-left: 0;
  list-style: none
}

.list-inline-item {
  display: inline-block
}

.list-inline-item:not(:last-child) {
  margin-right: .5rem
}

.initialism {
  font-size: 90%;
  text-transform: uppercase
}

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.40625rem
}

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #808285
}

.blockquote-footer::before {
  content: "\2014 \00A0"
}

.img-fluid {
  max-width: 100%;
  height: auto
}

.img-thumbnail {
  padding: .25rem;
  background-color: #fff;
  border: 1px solid #d1d3d4;
  border-radius: .25rem;
  max-width: 100%;
  height: auto
}

.figure {
  display: inline-block
}

.figure-img {
  margin-bottom: .5rem;
  line-height: 1
}

.figure-caption {
  font-size: 90%;
  color: #808285
}

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-break: break-word
}

a>code {
  color: inherit
}

kbd {
  padding: .2rem .4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #414042;
  border-radius: .2rem
}

kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: 700
}

pre {
  display: block;
  font-size: 87.5%;
  color: #414042
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal
}

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll
}

@media (min-width:1200px) {
  .container {
    max-width: 1170px
  }
}

/* HEADER / NAV */

.supermenu {
  font-size: .8em;
}

.supermenu a.text-link, .supermenu a {
  font-size: .8em;
}

.supermenu .nav-link {
  padding: .2rem .6rem;
}

.supermenu .submenu-wrapper {
	position: relative
}

.supermenu .submenu-wrapper .submenu {
	/* background-color: #ff5a00; */
	display: none;
  position: absolute;
	width: 140px;
	min-width: 100%;
  z-index: 100;
  padding-top: .5rem;
}

.supermenu .submenu-wrapper.show .submenu {
	display: block
}

.supermenu .submenu-wrapper .submenu .submenu-item {
	/* color: #fff; */
	display: block;
	padding: 0 .75rem 8px .75rem
}

.supermenu .submenu-wrapper.show .submenu > .sub {
  position: relative;
}

.header .logo {
  max-width: 100%;
}

.header .logo h1 {
  margin: 0;
  padding: 0;
}

.header .logo h1 a {
  display: block;
  max-height: 40px;
  height: 40px;
  width: auto;
  background: url(img/Arcosa_logo.svg) no-repeat;
      background-size: auto;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin: 0;
  background-size: contain;
}

.nav-mobile-wrapper .logo h1 a {
  max-height: 40px;
  height: 40px;
  width: auto;
  background: url(img/Arcosa_Logo_rev.svg) no-repeat;
  background-size: contain;
  background-repeat: no-repeat;
}

.header {
  /* background-color: #fff; */
  padding: 2.375rem 0
}

.header .nav {
	display: none;
	justify-content: flex-end!important
}

@media (min-width:992px) {
	.header .nav {
		display: flex
	}
}

.header .nav .dropdown-toggle::after {
	display: none
}

.header .nav.nav-pills .nav-link {
	text-transform: uppercase;
	font-weight: 700;
	/* color: #ff5a00; */
	border-radius: 0
}

.header .nav.nav-pills .nav-link:hover {
	/* color: #fff; */
	/* background-color: #ff5a00 */
}

.header .nav.nav-pills .nav-item.show .nav-link {
	/* color: #fff */
}

.header .nav .submenu-wrapper {
	position: relative
}

.header .nav .submenu-wrapper .submenu {
	/* background-color: #ff5a00; */
	display: none;
	position: absolute;
	width: 220px;
	min-width: 100%;
  z-index: 100;
  padding-top: 6px;
}

.header .nav .submenu-wrapper.show .submenu {
	display: block
}

.header .nav .submenu-wrapper .submenu .submenu-item {
	/* color: #fff; */
	display: block;
	padding: 0 24px 8px 20px
}

.header .nav .submenu-wrapper.show .submenu > .sub {
  position: relative;
}
.header .nav .submenu-wrapper .submenu .submenu-item.has-arrow {
  position: relative;
}
.header .nav .submenu-wrapper .submenu .submenu-item.has-arrow:after {
  position: absolute;
  font-family: 'Arcosa_UI';
  content: "\e90a";
  font-size: 12px;
  right: 8px;
  top: 45%;
  transform: translateY(-50%);
}

.header .nav .submenu-wrapper:nth-last-child(2) .submenu .submenu-item.has-arrow {
  padding-left: 20px;
}

.header .nav .submenu-wrapper:nth-last-child(2) .submenu .submenu-item.has-arrow:after {
  position: absolute;
  font-family: 'Arcosa_UI';
  content: "\e909";
  font-size: 12px;
  left: 4px;
  top: 45%;
  transform: translateY(-50%);
}

.header .nav .submenu-wrapper .submenu .submenu {
  left: 100%;
  display: none;
}

.header .nav .submenu-wrapper:nth-last-child(2) .submenu .submenu {
  right: 100%;
  left: initial;
}

.header .nav .submenu-wrapper.show .submenu .submenu {
  display: none;
  padding: 8px 0 1px;
}
.header .nav .submenu-wrapper.show .submenu > .sub:hover > .submenu {
  display: block;
  top: 0;
}

.header .nav .submenu-wrapper.show .submenu > .sub {
  position: relative;
}

.header .nav .submenu-wrapper.show .submenu > .sub .submenu > a {
  /* color: #ffffff; */
  padding: 0 .75rem 8px .75rem;
  display: block;
}

.header .nav .submenu-wrapper.show .submenu > .sub .submenu > a:hover { 
  text-decoration:none;
}

.header .nav-mobile-wrapper {
	/* background-color: #ff5a00; */
	display: none
}

.header .nav-mobile-wrapper .nav-mobile {
	margin: 0;
	list-style: none;
	padding: .5rem 0
}

.header .nav-mobile-wrapper .nav-mobile .nav-mobile-item {
	position: relative
}

.header .nav-mobile-wrapper .nav-mobile .nav-mobile-item a {
	display: block;
	padding: .5rem 0;
	/* color: #fff */
}

.header .nav-mobile-wrapper .nav-mobile .nav-mobile-item a h4 {
	margin: 0
}

.header .nav-mobile-wrapper .nav-mobile .mobile-submenu-toggle {
	position: relative
}

.header .nav-mobile-wrapper .nav-mobile .mobile-submenu-toggle::after {
	content: "\e908";
	font-size: 1.75rem;
	font-family: Arcosa_UI, sans-serif;
	display: block;
	position: absolute;
	top: 50%;
	right: 3px;
	transform: translateY(-50%)
}

.header .nav-mobile-wrapper .nav-mobile .mobile-submenu-toggle.show::after {
	content: "\e90b"
}

.header .nav-mobile-wrapper .nav-mobile .mobile-submenu {
	display: none;
	padding-left: 1rem
}

.header .nav-mobile-wrapper .nav-mobile .mobile-submenu .mobile-submenu-item {
	padding: .5rem 0
}

.header {
	position: relative;
}

.header .logo img {
	height: 40px;
	width: auto;
}

.header .hamburger {
	position: relative;
	display: flex;
	align-items: center;
	margin-left: auto;
	padding: 0;
	height: 100%;
}

.header .hamburger:focus {
	outline: none;
}

.header .hamburger .hamburger-inner, .header .hamburger .hamburger-inner::before, .header .hamburger .hamburger-inner::after {
	/* background-color: #FF5A00; */
}

.header.opened {
	/* background-color: #FF5A00; */
}

.header.opened .hamburger .hamburger-inner, .header.opened .hamburger .hamburger-inner::before, .header.opened .hamburger .hamburger-inner::after {
	/* background-color: #fff; */
}

.header .search-toggle.open {
	/* background-color: #ff5a00; */
	color: #fff !important;
}

.header .search-nav-item {
	position: relative;
}

.header .search-nav-item form#search-bar {
	display: none;
	position: absolute;
	right: 100%;
	height: 100%;
	width: 350px;
}

.header .search-nav-item form#search-bar .form-group {
	height: 100%;
}

.header .search-nav-item form#search-bar .form-group input {
	height: 100%;
}

.header .nav-mobile-wrapper {
	display: none;
	position: fixed;
	top: 0px;
	right: 0;
	bottom: 0;
	left: 0;
	/* background-color: #FF5A00; */
	z-index: 5000;
}

.header .nav-mobile-wrapper .nav-mobile-top {
	padding: 2.375rem 0;
}

.header .nav-mobile-wrapper .mobile-search-wrapper {
	position: relative;
}

.header .nav-mobile-wrapper #mobile-search-bar {
	/* color: #FF5A00; */
	border: none;
}

.header .nav-mobile-wrapper #mobile-search-bar::placeholder {
	/* color: #FF5A00; */
}

.header .nav-mobile-wrapper #mobile-search-bar-icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .75rem;
}

/* Footer */

footer {
  background-color: #414042;
  padding: 120px 0 40px;
  position: relative
}

footer .footer-menu-items {
  margin-bottom: 5rem
}

footer .footer-social-links {
  margin-bottom: 1rem
}

footer .footer-menu-items .footer-menu-item {
  color: #fff;
  font-weight: 700;
  margin-bottom: 1rem;
  display: block
}

footer .footer-logo-wrapper {
  position: absolute;
  top: 0;
  width: 250px;
  height: 80px;
  background-color: #000000;
}

.footer-logo-wrapper::before {
  display: block;
  content: '';
  background-color: #000000;
  position: absolute;
  right: 90%;
  height: 100%;
  padding-left: 100000px
}

footer .footer-logo-wrapper::after {
  background-color: inherit;
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% - 30px);
  transform: skewX(-20deg);
  width: 30%;
  height: 100%
}

footer .footer-logo-wrapper h1 {
  margin: 0;
  padding: 0;
}

footer .footer-logo-wrapper {
  max-width: 100%;
}

footer .footer-logo-wrapper h1 a {
  display: block;
  position: relative;
  top: 40px;
  max-height: 30px;
  height: 30px;
  width: auto;
  background: url(img/Arcosa_Logo_rev.svg) no-repeat;
      background-size: auto;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin: 0;
  background-size: contain;
}

footer [class*=icon-social] {
  margin-right: 1rem
}

@media only screen and (max-width: 767px) {
  footer .footer-logo-wrapper h1 a  {
    margin-top: -15px;
  }
}

@media (min-width:992px) {
  footer {
    padding: 58px 0 25px
  }
  footer .footer-logo-wrapper {
    width: 350px;
    height: 125px
  }
}

footer .legal-menu-item:not(:last-of-type) {
  padding-right: 15px;
  margin-right: 7px;
  position: relative
}

footer .legal-menu-item:not(:last-of-type)::after {
  content: "|";
  right: 0;
  position: absolute
}

footer a.legal-menu-item {
	color: #ffffff;
}

/* Text */

.text-gray-100, .text-gray-100 * {
  color: #fafafa!important
}

.text-gray-200, .text-gray-200 * {
  color: #fafafa!important
}

.text-gray-300, .text-gray-300 * {
  color: #d1d3d4!important
}

.text-gray-400, .text-gray-400 * {
  color: #d1d3d4!important
}

.text-gray-500, .text-gray-500 * {
  color: #808285!important
}

.text-gray-600, .text-gray-600 * {
  color: #808285!important
}

.text-gray-700, .text-gray-700 * {
  color: #414042!important
}

.text-gray-800, .text-gray-800 * {
  color: #414042!important
}

.text-gray-900, .text-gray-900 * {
  color: #414042!important
}

.text-blue, .text-blue * {
  color: #005db9!important
}

.text-indigo, .text-indigo * {
  color: #6610f2!important
}

.text-purple, .text-purple * {
  color: #7b2682!important
}

.text-pink, .text-pink * {
  color: #e83e8c!important
}

.text-red, .text-red * {
  color: #d8292f!important
}

.text-orange, .text-orange * {
  color: #ff5a00!important
}

.text-yellow, .text-yellow * {
  color: #ffce00!important
}

.text-green, .text-green * {
  color: #00754a!important
}

.text-teal, .text-teal * {
  color: #20c997!important
}

.text-cyan, .text-cyan * {
  color: #17a2b8!important
}

.text-white, .text-white * {
  color: #fff!important
}

.text-gray, .text-gray * {
  color: #808285!important
}

.text-gray-dark, .text-gray-dark * {
  color: #414042!important
}

.text-orange-light, .text-orange-light * {
  color: #f6a800!important
}

.text-red-dark, .text-red-dark * {
  color: #8a2432!important
}

.text-aubergine, .text-aubergine * {
  color: #5e3654!important
}

.text-aqua, .text-aqua * {
  color: #0099a9!important
}

.text-lime, .text-lime * {
  color: #c3d600!important
}

.text-gray-light, .text-gray-light * {
  color: #d1d3d4!important
}

a.text-link {
  font-size: 1rem;
  font-weight: 700
}

ul.ul {
  list-style: none;
  padding: 0;
  margin: 0
}

ul.ul li {
  line-height: 2.5rem;
  position: relative;
  padding-left: 1.75rem
}

ul.ul li::before {
  content: "•";
  padding: 0 1.75rem 0 0;
  position: absolute;
  left: 0
}

@media(min-width: 1200px) {
	.main { min-height: 800px; }
}

textarea { resize: none; }


/* Pages */

.section-heading {

	margin-bottom: 1.5rem;

}

.card {
  display: block
}

.card-img-top {
  width: auto
}

.card.card-border-none {
  border: none
}

.card.card-border-none .card-body {
  padding: 1.25rem 0 0
}



.segment-title { font-weight: 400; word-spacing: 9999999px; }
.segment-icon { height: 66px; width: 66px; }
#segment-carousel { background-color: #FAFAFA; padding: 50px 15px; }
#segment-carousel .carousel-inner .carousel-item { text-align: center; }
#segment-carousel .carousel-inner .carousel-item .slide-text-outer {position: relative; height: 100%; }
#segment-carousel .indicator-wrapper { position: absolute; bottom: 0; padding-top: 10px; padding-bottom: 10px; width: 100%; height: 50px;  }
#segment-carousel .indicator-wrapper .carousel-indicators { top: 50%; bottom: auto; transform: translateY(-50%); }
#segment-carousel .indicator-wrapper .carousel-control-prev,
#segment-carousel .indicator-wrapper .carousel-control-next { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#segment-carousel .indicator-wrapper .carousel-control-next-icon,
#segment-carousel .indicator-wrapper .carousel-control-prev-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

@media(min-width: 768px) {
	.segment-icon { height: 86px; width: 86px; }
	#segment-carousel .indicator-wrapper .carousel-indicators { bottom: 0px; transform: none; top: auto; }
	#segment-carousel .carousel-control-next,
	#segment-carousel .carousel-control-prev { top: auto; bottom: auto; width: auto; display: inline-block; top: 50%; left: 50%; transform: translate(-50%, -50%); }
}

@media(min-width: 992px) {
    #segment-carousel .carousel-inner .carousel-item { height: 200px; }
    #segment-carousel .carousel-inner .carousel-item .slide-text-inner {position: absolute; top: 50%; transform: translateY(-50%); }
}

