/* Reset CSS */

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input, button, textarea, select {
  font: inherit;
}

button {
  cursor: pointer;
  background-color: transparent;
}

select:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

button:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}

ul, ol, menu {
  list-style: none
}

input, select, button {
  vertical-align: middle;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
}

html, body {
  height: 100%;
  font-size: 16px;
  font-family: rustica, sans-serif;
  color: #231f20;
  line-height: 1.5em;
}

@media only screen and (max-width: 2048px) {
  /* When switching from land to port on Android phones, some
			text elements don't auto resize to fit port mode.  Applying
			a transparent BG fixes this bug */
  h1, h2, h3, h4, h5, h6, p, ul, li {
    background: url(../images/transparentimage.png) 0 0 repeat;
  }
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  position: absolute !important;
  clip: auto;
  overflow: visible;
  height: auto;
  width: auto;
  z-index: 10000002;
  cursor: pointer;
  background-color: #ffffff;
  padding: 15px;
  font-size: 23px;
  border: 1px solid #000;
  color: #000 !important;
}

.clearfix {
  content: "";
  display: table;
  clear: both;
}

/* ----------------------------------------------------
		Start Headers
------------------------------------------------------- */

h1 {
  width: 100%;
  margin: 0 auto 25px auto;
  font-weight: 500;
  font-size: 35px;
  line-height: 1.1em;
  text-transform: uppercase;
  color: #CE0E2D;
}

.homePage h1 {
  font-weight: 200;
  font-size: 45px;
}

h2 {
  width: 100%;
  margin: 0 auto 50px auto;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2em;
  color: #231f20;
}

h3 {
  font-size: 1.2em;
  margin-bottom: 10px;
}

.subHeadLine {
  margin-bottom: 30px;
  font-size: 1.2em;
  line-height: 1.4em;
  color: #8ebf5c;
  font-style: italic;
  text-align: center;
}

@media screen and (min-width:768px) {
  h1 {
    font-size: 42px !important;
    line-height: 1.2em;
  }
}

/*@media screen and (max-width:1100px) {
  h1, h2 {
    font-size: 2.5em;
  }
}

@media screen and (max-width:767px) {
  h1, h2 {
    font-size: 2.3em;
  }
}*/

/* ----------------------------------------------------
		End Headers
------------------------------------------------------- */

a {
  color: #CE0E2D;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}

a.disabled {
  cursor: default;
}

strong {
  /*font-family: Arial, sans-serif;*/
}

input[type=text],
input[type=date],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select {
  width: 100%;
  max-width: 100%;
  font-family: Arial, sans-serif;
  padding: 7px 0 7px 8px;
  color: #151c22;
  font-size: 16px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #231f20;
  -webkit-appearance: none;
  -moz-appearance: none;
}

textarea {
  width: 100% !important;
  height: 150px;
  max-height: 300px;
  padding-right: 7px;
  line-height: 1.5em;
}

/* Set default select background */
select {
  background: #FFFFFF url(../images/form-dd-arrow.jpg) right 6px no-repeat;
}

/* Remove dropdown arrow from IE dropdown versions 10 and up */
select::-ms-expand {
  display: none;
}

input[type=button],
input[type=submit] {
  cursor: pointer;
  font-size: 16px;
  -webkit-appearance: none;
  outline: none;
}

input[type=image] {
  outline: none;
}

textarea {
  height: 150px;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #797979;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #797979;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #797979;
}

:-moz-placeholder { /* Firefox 18- */
  color: #797979;
}

sup,
sub {
  font-size: .55em;
  text-transform: uppercase;
  position: relative;
  left: 0;
}

sup {
  top: -9px;
}

sub {
  top: 6px;
}

.btn,
.hs-button {
  display: inline-block;
  min-width: 115px;
  padding: 10px 115px;
  text-align: center;
  font-size: 14px;
  text-transform: uppercase;
  text-decoration: none;
  color: #231f20;
  vertical-align: middle;
  box-sizing: border-box;
  background-color: transparent;
  border-width: 1px;
  border-style: solid;
  border-color: #231f20;
  line-height: 22px;
  -webkit-appearance: none;
  transition: background .2s ease-in-out, color .2s ease-in-out;
}

.btn:hover,
.hs-button:hover {
  color: #FFF;
  background-color: #231f20;
}

.btnWhite {
  color: #FFF;
  border-color: #FFF;
  background-color: transparent;
}

a.btnWhite:hover,
.btnWhite:hover {
  color: #CE0E2D;
  border-color: #FFF;
  background-color: #FFF;
}

@media screen and (max-width:400px) {
  .btn {
    width: 100%;
    padding: 10px 10px;
  }
}

.bodyStopScrolling {
  padding-right: 17px;
  overflow: hidden;
}

.stickyOnScroll.sticky {
  position: sticky;
  top: 15px;
  left: 0;
}

.widgetTopMargin {
  margin-top: 50px;
}

.widgetBottomMargin {
  margin-bottom: 50px;
}

.videoIframeWrap,
.mceNonEditable.embeditem {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  overflow: hidden;
  /*border: 1px solid #ececec;*/
  /*background: url(/_assets/images/loading.gif) center center no-repeat;*/
}

.videoIframeWrap iframe,
.mceNonEditable.embeditem iframe {
  height: 100% !important;
  width: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}

.imgScaleOnHover {
  transition: all .2s ease-in-out;
}

.imgScaleOnHover:hover {
  transform: scale(1.03);
}

.centered {
  margin: 0 auto;
}

.customScrollbar::-webkit-scrollbar {
  /* required - the "base" of the bar - mostly for setting width */
  width: 15px;
}

.customScrollbar::-webkit-scrollbar-track {
  /* the "track" of the bar - great for customizing "background" colors */
  background-color: #e4e4e4;
  border-radius: 8px;
  padding: 2px 2px;
}

.customScrollbar::-webkit-scrollbar-thumb {
  /* the actual draggable element, the star of the show! */
  background-color: #838383;
  width: 10px;
  border-radius: 8px;
}

@media screen and (min-width:1024px) {
  .widgetBottomMargin {
    margin-bottom: 75px;
  }
}

/* ----------------------------------------------------
		Start Modal Styles
------------------------------------------------------- */

.bodyModalOpen {
  width: 100vw;
  overflow: hidden;
  padding-right: 0;
}

@media (hover: hover) and (pointer: fine) {
  .bodyModalOpen {
    padding-right: 17px;
  }
}

.modalWrapper {
  width: 100vw;
  height: 100vh;
  display: none;
  align-items: center;
  padding: 0 2%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  opacity: 0;
  overflow-y: scroll;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.2s ease-in-out;
}

.modalActive {
  opacity: 1;
}

.modalWrapper .modalContentWrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 25px;
  color: #FFF;
  background-color: #FFF;
}

.modalWrapper .modalClose {
  position: absolute;
  top: 2px;
  right: 10px;
  border-bottom: none;
  font-size: 1.6rem;
  padding: 20px;
  color: #231f20;
  font-weight: 700;
  text-decoration: none !important;
}

.modalWrapper .modalLogo {
  margin: -6px 0 20px 0;
}

.modalWrapper .modalLogo img {
  width: 95px;
}

.modalWrapper .modalContent a {
  color: #FFF;
  text-decoration: underline;
}

@media screen and (min-width:768px) {
  .modalWrapper .modalLogo img {
    width: 150px;
  }
}

/* ----------------------------------------------------
		End Modal Styles
------------------------------------------------------- */

.sitewidth {
  width: 100%;
  max-width: 1371px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 4%;
}

.homePage .sitewidth {
  max-width: 1571px;
}

#Wrapper {
  min-height: 100%;
  position: relative;
}

/* ----------------------------------------------------
		Start Header
------------------------------------------------------- */

header {
  position: relative;
  font-size: 17px;
}

header a {
  text-decoration: none;
}

header .content {
  position: relative;
  padding: 8px 4%;
}

header .logo {
  display: block;
  /*max-width: 55%;*/
}

header .right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

@media screen and (min-width:768px) {
  header .content {
    padding: 20px 4%;
  }
}

@media all and (min-width: 900px) {
  header .logo {
    max-width: 285px;
  }

  header .content {
    display: flex;
    padding: 10px 4% 0 4%;
    align-items: center;
  }

  header .content .left {
    flex: 0 0 284px;
    position: relative;
    top: -13px;
  }

  header .content .right {
    flex: 1;
  }
}

@media screen and (max-width:1600px) {
  header .content .left {
    width: 210px;
    flex: 0 1 auto;
    position: absolute;
    top: 13px;
    left: 4%;
  }
}

@media screen and (max-width:1130px) {
  header .content .left {
    width: 235px;
    flex: 0 1 auto;
    position: relative;
    top: -13px;
    left: 4%;
  }
}

@media screen and (max-width:900px) {
  header .content {
    display: flex;
    justify-content: space-between;
  }

  header .content .left {
    width: 285px;
    top: 0px;
  }
}

@media screen and (max-width:750px) {
  header .content .left {
    width: 50%;
    display: flex;
    align-items: center;
    left: 0;
  }
}

/* ----------------------------------------------------
		End Header
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Website Header Messages
------------------------------------------------------- */

#HeaderMessages {
  padding: 8px 4%;
  color: #FFF;
  font-size: 15px;
  text-align: center;
  background-color: #CE0E2D;
}

/* ----------------------------------------------------
		End Website Header Messages
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Header Image
------------------------------------------------------- */

.headerImage {
  position: relative;
  overflow: hidden;
  background-color: #dddddd;
}

.headerImage .overlay {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  transition: height .2s ease-in-out;
}

.headerImage.noImage .overlay {
  display: none;
}

.headerImage .mainImage {
  width: 300%;
  max-width: 300%;
  margin-left: -100%;
}

.headerImage .contentWrap {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  color: #FFF;
}

.headerImage.redFont .contentWrap {
  color: #c51230;
}

.headerImage.noImage .contentWrap {
  position: relative;
}

.headerImage .content {
  display: flex;
  align-items: center;
}

.headerImage.noImage .content {
  min-height: 250px;
}

.headerImage .icon {
  display: none;
}

.headerImage.redFont .breadcrumbWrap,
.headerImage.redFont .breadcrumbWrap a,
.headerImage.noImage .breadcrumbWrap,
.headerImage.noImage .breadcrumbWrap a {
  color: #222021;
}

.headerImage .title {
  font-weight: 700;
  font-size: 35px;
  line-height: 42px;
  text-transform: uppercase;
}

.headerImage.noImage .title {
  color: #cf0e2d;
}

.headerImage .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

@media screen and (min-width:500px) {
  .headerImage .mainImage {
    width: 150%;
    margin-left: -25%;
  }
}

@media screen and (min-width:600px) {
  .headerImage .icon {
    display: block;
    flex: 0 0 65px;
    padding-right: 10px;
  }
}

@media screen and (min-width:768px) {

  .headerImage .title {
    font-weight: 700;
    font-size: 45px;
    line-height: 52px;
    text-transform: uppercase;
  }

  .headerImage .content {
    padding-bottom: 75px;
  }

  .headerImage.noImage .content,
  .headerImage.noWave .content {
    padding-bottom: 0;
  }

  .headerImage .icon {
    flex: 0 0 110px;
    padding-right: 17px;
  }
}

@media screen and (min-width:1024px) {
  .headerImage .overlay {
    display: none;
  }

  .headerImage .mainImage {
    width: 100%;
    margin-left: 0;
  }

  .headerImage .title {
    font-weight: 700;
    font-size: 60px;
    line-height: 68px;
    text-transform: uppercase;
  }
}

/* ----------------------------------------------------
		End Header Image
------------------------------------------------------- */
/* ----------------------------------------------------
		Start Top Nav
------------------------------------------------------- */

.topNav {
  display: none;
}

@media screen and (min-width:900px) {
  .topNav {
    display: flex;
    align-items: center;
    margin: 5px 0 10px 0;
    text-align: right;
    font-weight: 700;
    text-transform: uppercase;
  }

  .topNav li {
    padding-left: 25px;
  }

  .topNav a {
    color: #CE0E2D;
    display: flex;
    align-items: center;
    line-height: 1.2em;
    white-space: nowrap;
    padding: 9px 8px 5px 8px;
  }

  .topNav a.blackFont {
    color: #FFF;
    display: block;
    background-color: #231f20;
    border: 1px solid #231f20;
    transition: background-color .1s ease-in-out, color .1s ease-in-out;
  }

  .topNav a.blackFont:hover {
    background-color: #FFF;
    color: #231f20;
  }

  .topNav .searchBtn img {
    position: relative;
    top: -2px;
  }
}

/* ----------------------------------------------------
		End Top Nav
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Main Nav
------------------------------------------------------- */

#MainNavWrap {
  display: none;
}

@media all and (min-width: 900px) {
  #MainNavWrap {
    z-index: 1000;
  }

  #MainNavWrap .mainNav {
    display: flex;
    justify-content: flex-end;
  }

  #MainNavWrap .mainNavItem > a {
    white-space: nowrap;
  }

  #MainNavWrap .mainNav a {
    color: #231f20;
  }

  #MainNavWrap .mainNav > li > a {
    display: block;
    padding: 15px 18px 15px 45px;
    position: relative;
    overflow: hidden;
  }

  #MainNavWrap .mainNav > li > a:last-child {
    padding-right: 0;
  }

  #MainNavWrap .mainNav > li > a > img {
    position: absolute;
    right: 0;
    top: 21px;
  }

  #MainNavWrap .subNav {
    display: none;
    /*display: flex;*/
    align-content: flex-start;
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 100;
    padding: 15px 15px 15px 15px;
    background: #FFF;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-bottomleft: 5px;
    -moz-border-radius-bottomright: 5px;
  }

  #MainNavWrap .menuCallout {
    align-self: flex-start;
    position: relative;
    flex: 0 1 450px;
    color: #FFF !important;
  }

  #MainNavWrap .menuCallout .overlay {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    transition: height .2s ease-in-out;
  }

  #MainNavWrap .menuCallout .text {
    position: absolute;
    bottom: 25px;
    left: 25px;
    z-index: 10;
    width: 100%;
    max-width: 340px;
  }

  #MainNavWrap .menuCallout .copy {
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 38px;
    line-height: 1.1em;
  }

  #MainNavWrap .menuCallout .btn {
    width: 100%;
    padding: 10px 2%;
  }

  #MainNavWrap .subNavLinks {
    flex: 1;
    padding-left: 50px;
    display: flex;
  }

  #MainNavWrap .subNavLinks.column {
    flex-direction: column;
  }

  #MainNavWrap .subNavLinks > div {
    flex: 0 1 100%;
    display: flex;
    flex-direction: column;
  }

  #MainNavWrap .subNavLinks .linkLevel3 {
    margin: 18px 0;
    color: #ce0e2d;
    font-weight: 700;
    font-size: 18px;
    text-decoration: underline;
  }

  #MainNavWrap .subNavLinks > div .linkLevel3:nth-child(1) {
    margin-top: 0;
  }

  .subNavLinks .linkLevel4 {
    margin: 0 0 0 18px;
    padding: 0 0 18px 18px;
    color: #484848;
    border-left: 2px solid #ce0e2d;
  }

  .subNavLinks .linkLevel4:hover {
    text-decoration: underline;
  }

  #MainNavWrap .mainNav > li:hover > a > img {
    top: -45px;
  }

  #MainNavWrap .mainNav > li:hover .subNav,
  #MainNavWrap .mainNav > li:focus-within .subNav {
    display: flex;
  }
}

@media screen and (min-width:2000px) {
  #MainNavWrap .subNavLinks > div {
    flex: 0 1 32%;
  }
}

@media screen and (min-width:1700px) {
  #MainNavWrap .subNavLinks > div {
    flex: 0 1 48%;
  }
}


/* ----------------------------------------------------
		End Main Nav
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Mobile Main Nav
------------------------------------------------------- */

.mobileMainMenu {
  display: none;
  width: 100%;
  position: absolute;
  top: 48px;
  left: 0px;
  z-index: 3000;
  font-size: 18px;
  background: #f9f9f9;
  border-bottom: 1px solid #e9e9e9;
}

.mobileMainMenu ul {
  padding: 0;
  list-style-type: none;
}

.mobileMainMenu ul li {
  position: relative;
}

.mobileMainMenu ul li a {
  display: block;
  padding: 18px 60px 18px 35px;
  color: #231f20;
  background: #f9f9f9;
  border-top: 1px solid #e9e9e9;
}

.mobileMainMenu > ul > li > a {
  color: #CE0E2D;
  font-weight: 700;
  font-size: 18px;
}

.mobileMainMenu ul.mainNav ul {
  display: none;
}

.mobileMainMenu ul li.mobileMenuOpen > ul {
  display: block;
}

.mobileMainMenu ul li ul {
  display: none;
}

.mobileMainMenu ul li ul li a {
  padding-left: 50px;
  /*background: #dbdbdb;*/
}

.mobileMainMenu ul li ul ul li a {
  padding-left: 65px;
}

.mobileMainMenu ul li a.current {
  /*background: #dbdbdb;*/
  color: #464646;
  border-top: 1px solid #eee;
}

.mobileMainMenu ul li .mobileToggle {
  position: absolute;
  top: 0px;
  right: 0px;
  text-align: center;
  border-left: 1px solid #e9e9e9;
  padding: 18px 0;
  width: 55px;
  /*background: #f9f9f9;*/
}

.mobileMenuButton {
  /*position: absolute;
  top: 13px;
  right: 0;*/
  position: relative;
  top: -9px;
}

.mobileMenuButton .burg {
  width: 30px;
  margin: 16px;
}

.mobileMenuButton .burg span {
  display: block;
  height: 3px;
  margin: 6px 0;
  background: #000;
}

.mobileMenuButton .close {
  display: none;
  font-size: 32px;
  font-weight: bold;
  margin: 15px 22px 14px 22px;
  color: #000;
}

.mobileMenuButtonOpen .burg {
  display: none;
}

.mobileMenuButtonOpen .close {
  display: block;
}

@media screen and (min-width:1300px) {
  #MainNavWrap {
    display: block;
  }

  .mobileMenuButton {
    display: none;
  }
}

@media screen and (max-width:900px) {
  .mobileMenuButton {
    top: 0px;
  }
}

/* ----------------------------------------------------
		End  Mobile Main Nav
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Breadcrumb
------------------------------------------------------- */

.breadcrumbWrap {
  padding-left: 7px;
  font-size: 14px;
  color: #FFF;
  font-style: italic;
}

.breadcrumbWrap ul {
  margin-bottom: 0;
  padding-left: 0;
}

.breadcrumbWrap ul li {
  display: inline;
  padding-right: 5px;
}

.breadcrumbWrap a {
  color: #FFF;
  text-decoration: none;
}

/* ----------------------------------------------------
		End Breadcrumb
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Pagination
------------------------------------------------------- */

.pagination {
  /*width: auto;*/
  /*display:flex;
  justify-content:center;
  align-items:center;*/
  margin-bottom: 35px;
  text-align: center;
  font-weight: 700;
}

.pagination .btnPrev,
.pagination .btnNext {
  font-weight: 600;
}

.pagination span,
.pagination a {
  zoom: 1;
  display: inline-block;
  padding: 5px 10px;
  margin-bottom: 10px;
  text-align: center;
  color: #231f20;
  font-size: 16px;
  background: #FFF;
  text-decoration: none;
}

.pagination .pageArrow {
  height: 10px;
  padding: 0 7px;
  overflow: hidden;
  position: relative;
  top: 9px;
}

.pagination .btnPrevImg:hover img {
  transform: translate(0, -10px);
}

.pagination .btnNextImg {
  transform: rotate(180deg);
}

.pagination .btnNextImg:hover img {
  transform: translate(0, -10px);
}

.pagination span {
  color: #CE0E2D;
}

/* ----------------------------------------------------
		End Pagination
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Body
------------------------------------------------------- */

main {
  display: block;
  position: relative;
}

main .rteCopy a {
  font-weight: 700;
  text-decoration: underline;
}

main .mainContent {
  padding-top: 25px;
  position: relative;
  overflow: auto;
}

main ul,
main ol,
main p {
  margin-bottom: 30px;
}

main p:last-child {
  margin-bottom: 0;
}

main ul {
  padding-left: 20px;
  list-style-type: disc;
}

main ul.noListStyle {
  padding-left: 0;
  list-style-type: none;
}

main ul.ulSplit {
  display: inline-block;
  width: 50%;
  vertical-align: top;
}

main ol {
  list-style: decimal;
  padding-left: 22px;
}

main ul li,
main ol li {
  padding-bottom: 3px;
}

.rteCopy {
  margin-bottom: 35px;
}

.rteCopy img {
  width: auto !important;
  height: auto !important;
  margin-bottom: 20px;
}

@media screen and (min-width:768px) {
  main .mainContent {
    padding-top: 75px;
  }
}


/* ----------------------------------------------------
		End Body
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Footer
------------------------------------------------------- */

footer {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  /*padding-top: 35px;*/
  font-size: 17px;
  color: #231f20;
}

footer .footerContent {
  padding-top: 50px;
}

footer a {
  color: #231f20;
  text-decoration: none;
}

footer .footerLogo {
  max-width: 196px;
  display: block;
  margin: 0 auto 40px auto;
}

footer .copyRight {
  text-align: center;
}

footer .footerNav {
  margin-bottom: 25px;
}

footer .footerNav ul {
  margin-bottom: 15px;
  text-align: center;
}

footer .footerNav ul li {
  padding-bottom: 5px;
}

footer .contactInfo {
  margin-bottom: 10px;
  text-align: center;
}

footer .contactInfo .headerText {
  color: #a2cf62;
  font-weight: 700;
}

footer .contactInfo ul li {
  padding-bottom: 8px;
}

footer .socialLinks {
  text-align: center;
}

footer .socialLinks ul {
  display: flex;
  justify-content: center;
}

footer .socialLinks ul li {
  padding: 0 10px;
}

footer .copyRight {
  margin-top: 30px;
  padding: 8px 0;
  font-size: 12px;
  color: #FFF;
  background-color: #231f20;
  border-top: 4px solid #CE0E2D;
}

footer .copyRight a {
  color: #FFF;
}

@media all and (min-width: 900px) {
  footer .footerNav ul li {
    display: inline-block;
    padding: 0 10px;
  }

  footer .copyRight {
    display: flex;
    justify-content: center;
    line-height: 1.2em;
  }

  footer .copyRight p {
    padding: 0 6px;
  }

  footer .copyRight ul li {
    display: inline-block;
    margin-right: 6px;
    padding-right: 6px;
    border-right: 1px solid #FFF;
  }

  footer .copyRight ul li:last-child {
    border-right: none;
  }
}


/* ----------------------------------------------------
		End Footer
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Footer Callout Node
------------------------------------------------------- */

.footerCalloutWrap {
  padding: 39px 4%;
  position: relative;
  text-align: center;
  font-size: 36px;
  font-weight: 700;
  color: #FFF;
  background: #CE0E2D;
}

.footerCalloutWrap .btn {
  font-weight: 400;
  border: 1px solid #FFF;
}

.footerCalloutWrap .copy {
  margin-bottom: 25px;
  line-height: 40px;
}

@media screen and (max-width:400px) {
  .footerCalloutWrap .btn {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (min-width: 1250px) {
  .footerCalloutWrap .copy {
    margin: 0 45px 0 0;
    display: inline-block;
  }

  .footerCalloutWrap .btn {
    left: 8px;
    top: -2px;
  }
}

/* ----------------------------------------------------
		End Footer Callout Node
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Contact Form Common Styles
------------------------------------------------------- */

.formWrap {
  margin-bottom: 30px;
}

.formWrap .formErrorGroup {
  margin-bottom: 30px;
}

.formWrap .formErrorGroup,
.formWrap .confirmationMsg,
.formWrap .formRow span {
  display: none;
}

.formWrap .formErrorGroup,
.formWrap .formRow.error label,
.formWrap .formRow.error span {
  color: red;
}

.formWrap .formRow.error input {
  border: 1px solid red;
}

.formWrap .formRow.error span {
  display: block;
  font-size: 14px;
}

.formWrap .formRow {
  display: flex;
  flex-direction: column;
}


/* ----------------------------------------------------
		End Contact Form Common Styles
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Swiper Slider Default Styles
------------------------------------------------------- */

.swiperNav .swiper-button-next,
.swiperNav .swiper-button-prev {
  display: none;
}

.swiper .swiper-slide {
  padding: 0 5px;
}

.swiperNav .swiper-button-next,
.swiperNav .swiper-button-prev {
  width: 33px;
  height: 20px;
  color: #242021;
  /*background: url(../images/swiper-nav-arrow.jpg) 0 0 no-repeat;*/
}

.swiperNav .swiper-button-next {
  /*transform: rotate(180deg);*/
}

.swiperNav .swiper-button-next::after,
.swiperNav .swiper-button-prev::after {
  /*content: "";*/
}

.swiperNav .swiper-pagination {
  margin-top: 30px;
  position: relative !important;
  bottom: 0 !important;
}

.swiperNav .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  opacity: 1;
  background-color: #FFF;
  border: 1px solid #f2f2f2;
}

.swiperNav .swiper-pagination-bullet-active {
  background: #CE0E2D;
  border: 1px solid #CE0E2D;
}

.swiperNav .swiper-button-next:focus-visible,
.swiperNav .swiper-button-prev:focus-visible,
.swiperNav .swiper-pagination-bullet:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

@media all and (min-width: 900px) {
  .swiperNav .swiper-button-next,
  .swiperNav .swiper-button-prev {
    display: block;
  }
}

/* ----------------------------------------------------
		End Swiper Slider Default Styles
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Three Image Block List
------------------------------------------------------- */

.threeImageBlockList {
}

.threeImageBlockList .items {
  width: 100%;
}

.threeImageBlockList .item {
  display: block;
  max-width: 600px;
  margin: 0 auto 35px auto;
  position: relative;
  color: #FFF;
  overflow: hidden;
}

.threeImageBlockList .item img {
  width: 100%;
  transition: transform .2s ease-in-out;
}

.threeImageBlockList .overlay {
  display: none;
}

.threeImageBlockList .copy {
  width: 100%;
  padding: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 15px;
  background-color: rgba(0, 0, 0, 0.6);
}

.threeImageBlockList .title {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}

.threeImageBlockList .desc {
  font-size: 15px;
  line-height: 1.3em;
}

.threeImageBlockList .link {
  display: flex;
  justify-content: center;
}

@media screen and (min-width:1024px) {
  .threeImageBlockList .items {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .threeImageBlockList .item {
    flex: 0 1 48%;
  }

  .threeImageBlockList .overlay {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35%;
    background-color: rgba(0, 0, 0, 0.6);
    transition: height .2s ease-in-out;
  }

  .threeImageBlockList .item:hover .overlay {
    height: 100%;
  }

  .threeImageBlockList .item:hover img {
    transform: scale(1.05);
  }

  .threeImageBlockList .copy {
    height: 34%;
    background-color: transparent;
  }
}

@media screen and (min-width:1300px) {
  .threeImageBlockList .items {
    display: flex;
    justify-content: space-between;
  }

  .threeImageBlockList .item {
    flex: 0 1 32%;
    margin: 0 0 30px 0;
  }

  .threeImageBlockList .overlay {
    height: 37%;
  }

  .threeImageBlockList .copy {
    height: 36%;
  }
}

/* ----------------------------------------------------
		End Three Image Block List
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Testimonial Slider
------------------------------------------------------- */

.testimonialSlider {
  max-width: 1385px;
  text-align: center;
}

.testimonialSlider .copy {
  margin-bottom: 20px;
  font-weight: 300;
}

.testimonialSlider .author {
  margin-bottom: 10px;
  font-size: 21px;
  font-weight: 700;
}

.testimonialSlider .company {
  font-size: 16px;
}

/* ----------------------------------------------------
		End Testimonial Slider
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Stat Slider
------------------------------------------------------- */

.statSlider {
  text-align: center;
  position: relative;
}

.statSlider .headerText {
  margin-bottom: 40px;
  font-size: 50px;
  font-weight: 700;
  line-height: 1em;
}

.statSlider .content {
  position: relative;
}

.statSlider .swiper {
  width: 90%;
  margin: 0 auto;
}

.statSlider .stat {
  font-size: 100px;
  font-weight: 700;
  color: #CE0E2D;
  line-height: 1.1em;
}

.statSlider .desc {
  font-size: 20px;
  font-weight: 300;
}

.statSlider .link {
  margin-top: 65px;
  display: flex;
  justify-content: center;
}

.statSlider .btn {
  width: 100%;
  padding: 10px 2%;
}

@media screen and (min-width:550px) {
  .statSlider .btn {
    width: auto;
    padding: 10px 115px;
  }
}

@media screen and (min-width:768px) {
  .statSlider .headerText {
    margin-bottom: 60px;
  }
}

/* ----------------------------------------------------
		End Stat Slider
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Body Bottom Wave
------------------------------------------------------- */

.bodyBottomWaveWrap {
  display: none;
}

@media screen and (min-width:1024px) {
  .bodyBottomWaveWrap {
    display: block;
    width: 100%;
    height: 715px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
  }

  .bodyBottomWaveWrap .canvasWave {
    width: 100% !important;
    height: 100%;
    position: relative;
    z-index: 10;
  }
}

/* ----------------------------------------------------
		End Body Bottom Wave
------------------------------------------------------- */

/* ----------------------------------------------------
		Start home page hero
------------------------------------------------------- */

.homeHero {
  margin-bottom: 100px;
  position: relative;
}

.homeHero .homeHeaderContent {
  position: relative;
}

.homeHero h1 {
  text-align: center;
}

.homeHero .homeContent {
  padding: 0 4%;
}

.homeHero h1,
.homeHero .homeIconList {
  padding: 0 4%;
}

.homeHero .homeIconList {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
}

.homeHero .homeIconList a {
  color: #231f20;
}

.homeHero .homeIconList > * {
  max-width: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
  text-align: center;
}

.homeHero .homeIconList > * > img {
  width: 75px;
  margin-bottom: 10px;
}

.homeHero .homeHeroBtm {
  padding-top: 25px;
  padding-bottom: 105px;
  margin-bottom: -105px;
  background: url(../images/BodyContent-BackgroundGradient.jpg) left bottom repeat-x;
}

.homeHero .subHead {
  margin-bottom: 50px;
  font-size: 22px;
  line-height: 1.4em;
  font-weight: 700;
}

.homeHero .right {
  display: none;
}

@media all and (min-width: 768px) {
  .homeHero .homeIconList {
    flex-direction: row;
    justify-content: space-evenly
  }

  .homeHero .homeIconList .item {
    transform: scale(0);
    transition: transform .3s ease-in-out;
  }

  .homeHero .homeIconList .item:hover {
    transform: scale(1) !important;
  }
}

@media all and (min-width: 1024px) {

  .homeHero .homeHeaderContent {
    padding-bottom: 65px;
  }

  .homeHero .homeContent {
    max-width: 1500px;
    margin: 0 auto;
  }

  .homeHero.noRightContent .homeContent {
    max-width: 100%;
  }

  .homeHero .homeContent > * {
    max-width: 51%;
  }

  .homeHero h1 {
    margin: 0;
    padding: 0;
    margin-bottom: 40px;
    text-align: left;
  }

  .homeHero .homeIconList {
    /*margin-bottom: 65px;*/
    padding: 0;
  }

  .homeHero .homeHeroBtm {
    padding-top: 60px;
  }

  .homeHero .right {
    width: 49%;
    height: 100%;
    display: flex;
    justify-content: center;
    padding-right: 2%;
    position: absolute;
    top: 0;
    right: 0;
  }

  .homeHero .townWrap {
    position: relative;
  }

  .homeHero .townWrap .townImg {
    width: 100%;
    position: relative;
    z-index: 10;
  }

  .homeHero .serviceWrap {
    width: 100%;
    height: 35%;
    display: flex;
    justify-content: space-evenly;
    position: absolute;
    top: 18%;
    left: 0;
    z-index: 1;
    transition: height .2s ease-in-out;
  }

  .homeHero .service {
    width: 55px;
    height: 0;
    position: relative;
    background: url(../images/service_bg.jpg) center 0 repeat-y;
  }

  .homeHero .service a {
    display: block;
    opacity: 0;
    width: 100%;
    position: absolute;
    bottom: -25px;
    left: 0;
    transition: transform .3s ease-in-out;
  }

  .homeHero .service a:hover {
    transform: scale(1.2);
  }
}

@media screen and (min-width:1250px) {
  .homeHero .serviceWrap {
    height: 50%;
    top: 20%;
  }
}

@media screen and (min-width:1550px) {
  .homeHero .serviceWrap {
    height: 62%;
    top: 27%;
  }
}

/* ----------------------------------------------------
		End home page hero
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Video / Image Left or Right
------------------------------------------------------- */

.videoImageLorR {
  padding: 35px 0;
  background: #c51230 url(../images/2ColumnVideoWidget-BG_Icon.png) center center no-repeat;
}

.videoImageLorR .content {
  color: #FFF;
}

.videoImageLorR .left {
  margin-bottom: 35px;
}

.videoImageLorR .headerText {
  margin-bottom: 25px;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.3em;
}

.videoImageLorR .youtubeVid .playIcon {
  width: 21%;
  height: auto;
}

@media screen and (min-width:768px) {
  .videoImageLorR {
    padding: 65px 0;
  }

  .videoImageLorR .content {
    display: flex;
    justify-content: space-between;
  }

  .videoImageLorR .content.mediaRight {
    flex-direction: row-reverse;
  }

  .videoImageLorR .content > * {
    flex: 0 1 48.5%;
  }

  .videoImageLorR .headerText {
    font-size: 34px;
    line-height: 1.1em;
  }
}

/* ----------------------------------------------------
		End Video / Image Left or Right
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Service Slider
------------------------------------------------------- */

.serviceSlider {
  position: relative;
  text-align: center;
}

.serviceSlider h2 {
  margin-bottom: 20px;
  font-size: 42px;
  font-weight: 400;
}

.serviceSlider .subHeader {
  max-width: 1000px;
  margin: 0 auto 25px auto;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.3em;
  color: #231f20;
}

.serviceSlider .slides {
  position: relative;
  padding: 0 0 25px 0;
  overflow: hidden;
}

.serviceSlider .bgRotateImg {
  display: none;
}

.serviceSlider .swiper .icon {
  margin: 0 auto 25px auto;
}

.serviceSlider .swiper .headerText {
  margin-bottom: 30px;
  color: #ce0e2d;
  font-size: 37px;
  font-weight: 700;
  line-height: 1.1em;
}

.serviceSlider .swiper .relatedHeader {
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 21px;
  text-transform: uppercase;
}

.serviceSlider .services {
  display: flex;
  flex-direction: column;
}

.serviceSlider .services a {
  flex: 0 1 100%;
  margin-bottom: 10px;
}

.serviceSlider .swiperNav .swiper-button-next,
.serviceSlider .swiperNav .swiper-button-prev {
  color: #ce0e2d;
}

.swiperNav .swiper-pagination-bullet {
  background-color: #b9b9b9;
  border-color: #b9b9b9;
}

.swiperNav .swiper-pagination-bullet-active {
  background: #CE0E2D;
  border: 1px solid #CE0E2D;
}

@media screen and (min-width:600px) {
  .serviceSlider .services {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .serviceSlider .services a {
    flex: 0 1 48%;
    padding: 10px 2%;
    margin: 0 1% 15px 1%;
  }
}

@media screen and (min-width:768px) {
  .serviceSlider h2 {
    font-size: 47px;
  }

  .serviceSlider .swiper {
    width: 80%;
  }

  .serviceSlider .swiper {
    margin-bottom: 80px;
  }

  .serviceSlider .slides {
    padding: 85px 0 25px 0;
  }

  .serviceSlider .bgRotateImg {
    display: block;
    position: absolute;
    top: 45px;
    z-index: -1;
  }
}

@media screen and (min-width:980px) {
  .serviceSlider .services a {
    flex: 0 1 31%;
  }
}

/* ----------------------------------------------------
		End Service Slider
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Additional Body Copy
------------------------------------------------------- */

.additionalBodyCopy {
}

.additionalBodyCopy h2 {
  color: #ce0e2d;
  font-size: 34px;
  font-weight: 500;
  margin-bottom: 25px;
}

/* ----------------------------------------------------
		End Additional Body Copy
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Three Image Collage
------------------------------------------------------- */

.threeImageCollage img {
  margin: 0 auto 15px auto;
}

@media screen and (min-width:768px) {
  .threeImageCollage {
    display: flex;
    justify-content: space-between;
  }

  .threeImageCollage > * {
    flex: 0 1 auto;
  }

  .threeImageCollage .image1 {
    width: 34%;
  }

  .threeImageCollage .image2 {
    width: 19%;
  }

  .threeImageCollage .image3 {
    width: 43%;
  }
}

/* ----------------------------------------------------
		End Three Image Collage
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Related Services Callout
------------------------------------------------------- */

.relatedServicesCallout {
  padding: 35px 0;
  text-align: center;
  background-color: #f2f2f2;
}

.relatedServicesCallout h2 {
  margin-bottom: 20px;
  font-size: 31px;
  color: #CE0E2D;
}

.relatedServicesCallout .services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.relatedServicesCallout .services a {
  padding: 10px 0;
  flex: 0 1 100%;
  margin: 0 1% 20px 1%;
  text-transform: capitalize;
}

@media screen and (min-width:600px) {
  .relatedServicesCallout .services a {
    flex: 0 1 48%;
  }
}

@media screen and (min-width:768px) {
  .relatedServicesCallout .services a {
    flex: 0 1 31%;
  }
}

@media screen and (min-width:1024px) {
  .relatedServicesCallout .services a {
    flex: 0 1 22%;
  }
}

@media screen and (min-width:1200px) {
  .relatedServicesCallout .services a {
    flex: 0 1 18%;
  }
}

/* ----------------------------------------------------
		End Related Services Callout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Multi Block Callout
------------------------------------------------------- */

.multiBlockList .headerText {
  text-align: center;
}

.multiBlockList h2 {
  width: auto;
  display: inline-block;
  margin: 0 auto;
  line-height: 1.3em;
  font-size: 21px;
  font-weight: 500;
  color: #CE0E2D;
  text-transform: uppercase;
  background-color: #FFF;
}

.multiBlockList .block {
  position: relative;
  margin-top: 85px;
  padding: 80px 25px 35px 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: #f7f3f0;
}

.multiBlockList .block .icon {
  position: absolute;
  top: -57px;
}

.multiBlockList .block .blockHeader {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}

.multiBlockList .block .btn {
  width: 100%;
  padding: 10px 2%;
  text-transform: capitalize;
  text-decoration: none;
}

@media screen and (min-width:768px) {
  .multiBlockList h2 {
    padding: 0 25px;
  }

  .multiBlockList .headerText {
    background: url(../images/red-block-1x2.jpg) center center repeat-x;
  }

  .multiBlockList .blockList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .multiBlockList .blockList > * {
    flex: 0 1 48%;
  }
}

@media screen and (min-width:1200px) {
  .multiBlockList .blockList > * {
    flex: 0 1 31%;
  }
}

/* ----------------------------------------------------
		End Multi Block Callout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Right Nav Layout
------------------------------------------------------- */

.rightNav .left > .sitewidth {
  padding: 0;
}

.rightNav a {
  text-decoration: none;
}

.rightNav .left > .widgetBottomMargin {
  margin-bottom: 0;
}

.rightNav .right {
  display: flex;
}

.rightNav .icon {
  flex: 0 0 80px;
  margin-right: 15px;
  background: url(../images/black-block-2x1.jpg) center 0 repeat-y;
}

.rightNav .icon .iconWrap {
  padding-bottom: 15px;
  background-color: #FFF;
}

.rightNav .content {
  flex: 1;
  padding-top: 28px;
}

.rightNav .header {
  margin-bottom: 8px;
  font-weight: 700;
  /*font-size: 28px;*/
  font-size: 23px;
  line-height: 1.05em;
  text-transform: uppercase;
}

.rightNav .desc {
  margin-bottom: 20px;
  font-size: 14px;
  color: #c51230;
  line-height: 1.4em;
}

.rightNav .menu,
.rightNav .rightNavContent {
  margin-top: 40px;
}

.rightNav .menu,
.rightNav .menu ul {
  margin-bottom: 0;
  text-transform: uppercase;
  list-style-type: none;
  padding: 0;
}

.rightNav .menu a,
.rightNav .menu ul a {
  font-weight: 600;
}

.rightNav .menu ul {
  margin-top: 12px;
  padding-left: 30px;
  text-transform: capitalize;
  font-weight: 500;
}

.rightNav .menu li {
  padding-bottom: 13px;
  color: #999798;
}

.rightNav .menu a {
  color: #231f20;
}

.rightNav .menu a.current {
  color: #c51230;
}

.rightNav .rightNavCallout {
  display: block;
  margin-top: 60px;
  padding: 35px 20px;
  color: #FFF;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.3em;
  text-align: center;
  background-color: #c51230;
}

.rightNav .rightNavCallout .btn {
  width: 100%;
  margin-top: 30px;
  padding: 10px 2%;
}

@media screen and (min-width:900px) {
  .rightNav {
    display: flex;
  }

  .rightNav .left {
    flex: 1;
    min-width: 0;
  }

  .rightNav .right {
    flex: 0 1 415px;
    padding-left: 35px;
  }
}

/* ----------------------------------------------------
		End Right Nav Layout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start PC Callout
------------------------------------------------------- */

.pcCallout {
  position: relative;
  color: #FFF;
  background-color: #231f20;
}

.pcCallout .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.pcCallout .content {
  padding: 50px 4% 0px 4%;
  position: relative;
  z-index: 10;
}

.pcCallout .content .left {
  margin-bottom: 45px;
}

.pcCallout .content .right .logo {
  margin: 0 auto 25px auto;
}

.pcCallout h2 {
  margin-bottom: 25px;
  font-size: 32px;
  text-transform: uppercase;
  color: #c51230;
}

.pcCallout .btn {
  padding: 10px 2%;
  width: 100%;
}

.pcCallout .content .screenWrap {
  position: relative;
  max-width: 750px;
  margin: 0 auto;
}

.pcCallout .content .screen {
  width: 100%;
}

.pcCallout .slideWrap {
  width: 94%;
  position: absolute;
  top: 16px;
  left: 3%;
  z-index: 1;
}

@media screen and (min-width:600px) {
  .pcCallout .btn {
    padding: 10px 35px;
    width: auto;
  }
}

@media screen and (min-width:1024px) {
  .pcCallout .content {
    display: flex;
    max-width: 1800px;
    margin: 0 auto;
    padding: 50px 35px 0px 35px;
  }

  .pcCallout .content .left {
    flex: 1;
  }

  .pcCallout .content .right {
    flex: 0 1 55%;
    padding-left: 80px;
  }
}

/* ----------------------------------------------------
		End PC Callout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Duke's Insight 360 Callout
------------------------------------------------------- */

.d360 {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.d360 .insight360Circle {
  display: none;
}

.d360 .mainImage {
  width: 92%;
}

.d360 .mainImage img {
  margin: 0 auto 5% auto;
}

.d360 .icon {
  display: none;
}

.d360 .btn {
  width: 100%;
  padding: 10px 2%;
}

.d360:hover .btn {
  color: #FFF;
  background-color: #231f20;
}

@media screen and (min-width:550px) {
  .d360 .insight360Circle {
    display: block;
  }

  .d360 .mainImage {
    width: 44%;
    position: absolute;
  }
}

@media screen and (min-width:680px) {
  .d360 {
    margin-top: 100px;
  }

  .d360 .icon {
    width: 12%;
    display: block;
    position: absolute;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    color: #CE0E2D;
  }

  .d360 .icon img {
    margin: 0 auto;
  }

  .d360 .icon1 {
    top: -25px;
    left: 44%;
  }

  .d360 .icon2 {
    top: 25%;
    right: 2%;
  }

  .d360 .icon3 {
    bottom: 0%;
    right: 17%;
  }

  .d360 .icon4 {
    bottom: 0%;
    left: 17%;
  }

  .d360 .icon5 {
    top: 25%;
    left: 2%;
  }
}

@media screen and (min-width:768px) {
  .d360 .icon3 {
    bottom: 4%;
    right: 17%;
  }

  .d360 .icon4 {
    bottom: 4%;
    left: 17%;
  }
}

/* ----------------------------------------------------
		End Duke's Insight 360 Callout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Duke's Insight 360 Interactive
------------------------------------------------------- */

.d360Interactive {
  position: relative;
  padding: 50px 0 100px 0;
  color: #FFF;
  background-color: #231f20;
}

.d360Interactive .header {
  text-align: center;
}

.d360Interactive .header img {
  margin: 0 auto 35px auto;
}

.d360Interactive .header h2 {
  margin-bottom: 25px;
  color: #CE0E2D;
  font-size: 39px;
  line-height: 1em;
  max-width: 800px;
  text-transform: uppercase;
}

.d360Interactive .left {
  margin-bottom: 35px;
}

.d360Interactive .left .head {
  display: flex;
  margin-bottom: 10px;
  align-items: center;
}

.d360Interactive .left .head img {
  flex: 0 1 48px;
}

.d360Interactive .left .head span {
  flex: 1;
  padding-left: 10px;
  text-transform: uppercase;
  font-weight: 700;
  color: #CE0E2D;
  font-size: 18px;
}

.d360Interactive .subHead {
  margin-bottom: 25px;
  font-weight: 700;
  font-size: 19px;
  text-transform: uppercase;
}

.d360Interactive .imgVidWrap {
  margin-bottom: 25px;
}

.d360Interactive .btn {
  width: 100%;
  padding: 10px 2%;
}

.d360Interactive .wave {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

@media screen and (min-width:800px) {
  .d360Interactive .header {
    display: flex;
    align-items: center;
    margin-bottom: 45px;
  }

  .d360Interactive .header h2 {
    font-size: 47px;
    line-height: 1em;
  }

  .d360Interactive .header img {
    flex: 0 1 225px;
  }

  .d360Interactive .header h2 {
    flex: 1;
    margin: 0;
    padding-left: 50px;
  }
}

@media screen and (min-width:1024px) {
  .d360Interactive {
    padding-bottom: 50px;
  }

  .d360Interactive .header {
    text-align: left;
  }

  .d360Interactive .header h2 {
    font-size: 55px;
  }

  .d360Interactive .header img {
    margin: 0;
  }

  .d360Interactive .columnWrap {
    display: flex;
    justify-content: space-between;
  }

  .d360Interactive .columnWrap > * {
    flex: 0 1 47%;
  }

  .d360Interactive .btn {
    width: auto;
    padding: 10px 10%;
  }
}

@media screen and (min-width:1600px) {
  .d360Interactive {
    padding-bottom: 125px;
  }
}

/* ----------------------------------------------------
		End Duke's Insight 360 Interactive
------------------------------------------------------- */


/* ----------------------------------------------------
		Start Project Landing Filter
------------------------------------------------------- */

.projectFilter {
  padding: 30px 0;
  background-color: #f8f3ef;
}

.projectFilterHide {
  display: none;
}

.projectFilter .content {
  max-width: 1700px;
}

.projectFilter .content > * {
  margin-bottom: 20px;
}

.projectFilter .searchWrap {
  display: flex;
  border: 1px solid #231f20;
}

.projectFilter .searchWrap input {
  padding-right: 10px;
  border-color: #f8f3ef;
}

.projectFilter .searchWrap input::placeholder {
  color: #151c22;
}

.projectFilter .searchWrap button {
  flex: 0 1 43px;
}

.projectFilter input,
.projectFilter select,
.projectFilter button {
  background-color: transparent;
}

.projectFilter select {
  background: url(../images/project_dropdown_btn.jpg) right 13px no-repeat;
}

.projectFilter #FilterBtnClear {
  width: 100%;
  padding: 7px;
  border: 1px solid #231f20;
}

@media screen and (min-width:1024px) {
  .projectFilter .content {
    display: flex;
    justify-content: space-between;
  }

  .projectFilter .content > * {
    flex: 0 1 21%;
  }

  .projectFilter #FilterBtnClear {
    flex: 0 1 92px;
  }
}

/* ----------------------------------------------------
		End Project Landing Filter
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Project Listing
------------------------------------------------------- */

.projectList {
  padding: 0 4%;
}

#ProjectListWrap .noItemsFoundMsg {
  flex: 1;
  text-align: center;
}

.projectList .item {
  opacity: 0;
  display: block;
  max-width: 600px;
  margin: 0 auto 35px auto;
  position: relative;
  color: #FFF;
  overflow: hidden;
}

.projectList .item img {
  width: 100%;
  transition: transform .2s ease-in-out;
}

.projectList .overlay {
  display: none;
}

.projectList .copy {
  width: 100%;
  padding: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 15px;
  background-color: rgba(0, 0, 0, 0.6);
}

.projectList .title {
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}

.projectList .desc {
  font-size: 15px;
  line-height: 1.3em;
}

@media screen and (min-width:1024px) {
  .projectList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .projectList .item {
    flex: 0 1 48%;
  }

  .projectList .overlay {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 35%;
    background-color: rgba(0, 0, 0, 0.6);
    transition: height .2s ease-in-out;
  }

  .projectList .item:hover .overlay {
    height: 100%;
  }

  .projectList .item:hover img {
    transform: scale(1.05);
  }

  .projectList .copy {
    height: 34%;
    background-color: transparent;
  }
}

@media screen and (min-width:1400px) {
  .projectList {
    display: flex;
    justify-content: space-between;
  }

  .projectList .item {
    flex: 0 1 32%;
    margin: 0 0 30px 0;
  }

  .projectList .overlay {
    height: 37%;
  }

  .projectList .copy {
    height: 36%;
  }
}

/* ----------------------------------------------------
		End Project Listing
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Project Page
------------------------------------------------------- */

.projectBody {
  max-width: 1485px !important;
}

.projectBody .left {
  margin-bottom: 50px;
}

.projectBody .slideWrap,
.projectBody .slideWrapThumbs {
  max-width: 888px;
}

.projectBody .slideWrap {
  margin-bottom: 20px;
}

.projectBody .slideWrapThumbs > * {
  cursor: pointer;
}

.projectBody .swiper .swiper-slide {
  padding: 0;
}

.projectBody .slideWrapThumbs .swiperNav {
  position: relative;
}

.projectBody .swiperNav {
  display: flex;
  align-items: center;
  margin-top: 25px;
  font-weight: 600;
}

.projectBody .swiperNav .swiper-button-prev,
.projectBody .swiperNav .swiper-button-next {
  width: 9px;
  height: 10px;
  margin: 9px;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
  background: url(../images/project_arrows.jpg) 0 0 no-repeat;
}

.projectBody .swiperNav .swiper-button-prev::after,
.projectBody .swiperNav .swiper-button-next::after {
  content: "";
}

.projectBody .swiperNav .swiper-button-next {
  transform: rotate(180deg);
}

.projectBody .swiperNav .swiper-button-prev:hover {
  background: url(../images/project_arrows.jpg) 0 -10px no-repeat;
}

.projectBody .swiperNav .swiper-button-next:hover {
  background: url(../images/project_arrows.jpg) 0 -10px no-repeat;
}

.projectBody .swiperNav > .counter {
  margin: 0 15px;
}

.projectBody .swiperNav .startNum {
  color: #CE0E2D;
}

.projectBody .right .header {
  margin-bottom: 35px;
}

.projectBody .contentBlock {
  margin-bottom: 30px;
}

.projectBody .contentBlock .label {
  margin-bottom: 5px;
  font-weight: 600;
  color: #CE0E2D;
  font-style: italic;
}

.projectBody .contentBlock .projName {
  font-weight: 700;
  font-size: 17px;
}

.projectBody .right .btn {
  margin: 0 10px 10px 0;
  padding: 10px 30px;
  font-weight: 600;
}

@media screen and (min-width:900px) {
  .projectBody .left {
    margin-bottom: 0;
  }
}

/* ----------------------------------------------------
		End Project Page
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Duke's Fundamentals
------------------------------------------------------- */

.dFundamentals h2 {
  text-transform: uppercase;
}

.dFundamentals .content {
  display: flex;
  flex-direction: column-reverse;
}

.dFundamentals .item .num {
  color: #CE0E2D;
  padding-left: 12px;
}

.dFundamentals .item .header {
  padding-left: 10px !important;
}

.dFundamentals .right {
  margin-bottom: 35px;
  text-align: center;
}

.dFundamentals .right .icon {
  display: flex;
  justify-content: center;
  margin-bottom: 7px;
}

.dFundamentals .rightHeaderText {
  text-transform: uppercase;
}

.dFundamentals .rightHeaderText .top {
  font-weight: 700;
  font-size: 48px;
  line-height: 1.1em;
}

.dFundamentals .rightHeaderText .btm {
  font-weight: 400;
  font-size: 29px;
}

.dFundamentals .fundOfTheWeek {
  max-width: 550px;
  position: relative;
  border: 24px solid black;
}

.dFundamentals .fundOfTheWeek {
  max-width: 500px;
  overflow: hidden;
  position: relative;
  margin: 25px auto 0 auto;
  border: 24px solid black;
}

.dFundamentals .fundOfTheWeek .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
}

.dFundamentals .fundOfTheWeek .bgImg {
  width: 90%;
  position: absolute;
  bottom: -56px;
  left: -64px;
  z-index: 5;
}

.dFundamentals .fundOfTheWeek .fundCopy {
  padding: 25px;
  position: relative;
  z-index: 10;
}

.dFundamentals .fundOfTheWeek .num {
  font-weight: 700;
  font-size: 75px;
  line-height: 1.2em;
  color: #CE0E2D;
}

.dFundamentals .fundOfTheWeek .fundHeader {
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2em;
  color: #CE0E2D;
}

.dFundamentals .fundOfTheWeek .fundCopy {
  color: #FFF;
}

@media screen and (min-width:900px) {
  .dFundamentals .content {
    flex-direction: row;
    justify-content: space-between;
  }

  .dFundamentals .content > * {
    flex: 0 1 48%;
  }
}

/* ----------------------------------------------------
		End Duke's Fundamentals
------------------------------------------------------- */


/* ----------------------------------------------------
		Start FAQ List Styles (Used in multiple areas of the site)
------------------------------------------------------- */

.faqListWrap {
  padding: 45px 0;
  background-color: #f7f3f0;
}

.faqListWrap h2 {
  margin-bottom: 25px;
  font-weight: 700;
  font-size: 43px;
  color: #CE0E2D;
  text-align: center;
}

.faqList .item {
  margin-bottom: 5px;
}

.faqList .item button {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  vertical-align: baseline;
  text-align: left;
  font-weight: 700;
  text-transform: uppercase;
}

.faqList .item .icon {
  flex: 0 0 14px;
  height: 14px;
  align-items: center;
  position: relative;
}

.faqList .item .icon .col,
.faqList .item .icon .exp {
  position: absolute;
  top: -2px;
  left: 0;
  transition: opacity .2s ease-in-out;
}

.faqList .item .icon .exp {
  opacity: 0;
  left: -2px;
}

.faqList .item.open .col {
  opacity: 0;
}

.faqList .item.open .exp {
  opacity: 1;
}

.faqList .item .header {
  padding-left: 15px;
  text-decoration: underline;
}

.faqList .item .copy {
  padding-left: 45px;
  height: 0;
  overflow: hidden;
}

@media screen and (min-width:900px) {
  .faqListWrap h2 {
    text-align: left;
  }
}

/* ----------------------------------------------------
		End FAQ List Styles (Used in multiple areas of the site)
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Logo Block Callout
------------------------------------------------------- */

.logoBlockList .headerText {
  margin-bottom: 50px;
  text-align: center;
}

.logoBlockList h2 {
  width: auto;
  display: inline-block;
  margin: 0 auto;
  line-height: 1.3em;
  font-size: 21px;
  font-weight: 500;
  color: #CE0E2D;
  text-transform: uppercase;
  background-color: #FFF;
}

.logoBlockList .block {
  position: relative;
  margin-bottom: 35px;
  padding: 25px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background-color: #f7f3f0;
}

.logoBlockList .block img {
  margin-bottom: 30px;
}

.logoBlockList .block .text {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 20px;
  text-transform: uppercase;
}

@media screen and (min-width:768px) {
  .logoBlockList h2 {
    padding: 0 25px;
  }

  .logoBlockList .headerText {
    background: url(../images/red-block-1x2.jpg) center center repeat-x;
  }

  .logoBlockList .blockList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .logoBlockList .blockList > * {
    flex: 0 1 48%;
  }
}

@media screen and (min-width:1200px) {
  .logoBlockList .blockList > * {
    flex: 0 1 31%;
  }
}

/* ----------------------------------------------------
		End Logo Block Callout
------------------------------------------------------- */

/* ----------------------------------------------------
		Start News List
------------------------------------------------------- */

.newsList .item {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 2px solid #231f20;
}

.newsList .img {
  margin-bottom: 35px;
}

.newsList .pubDate {
  margin-bottom: 8px;
  font-style: italic;
  font-size: 15px;
}

.newsList .title {
  display: block;
  margin-bottom: 20px;
  color: #CE0E2D;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1em;
}

.newsList .btn {
  width: 100%;
  padding: 10px 75px;
}

@media screen and (min-width:500px) {
  .newsList .btn {
    width: auto;
  }
}

@media screen and (min-width:900px) {
  .newsList .item {
    display: flex;
    align-items: flex-start;
  }

  .newsList .img {
    flex: 0 1 380px;
    padding-right: 30px;
  }

  .newsList .content {
    flex: 1;
  }
}


/* ----------------------------------------------------
		End News List
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Testimonial List
------------------------------------------------------- */

.testList {
  text-align: center;
}

.testList .item {
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: 2px solid #231f20;
}

.testList .item:last-child {
  border-bottom: none;
}

.testList .copy {
  margin-bottom: 20px;
  font-weight: 300;
  font-style: italic;
}

.testList .author {
  margin-bottom: 10px;
  font-size: 21px;
  font-weight: 700;
}

.testList .company {
  font-size: 16px;
}

/* ----------------------------------------------------
		End Testimonial List
------------------------------------------------------- */

/* ----------------------------------------------------
		Start YouTube Video Styles
------------------------------------------------------- */

.youtubeVid {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.youtubeVid .coverPhoto {
}

.youtubeVid .playIcon {
  position: absolute;
  width: 30px;
  height: 30px;
}

/* ----------------------------------------------------
		End YouTube Video Styles
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Search Styles
------------------------------------------------------- */

.siteSearchResults {
  margin-top: -30px;
}

.siteSearchResults #PageSearchBox {
  margin-bottom: 50px;
}

.siteSearchResults #PageSearchBox form {
  display: flex;
}

.siteSearchResults .pageSearchBoxInput {
  flex: 0 1 300px;
  margin-right: 5px;
  padding-left: 5px;
  border: 1px solid #231f20;
}

.siteSearchResults .btn {
  padding: 10px 35px;
}

.siteSearchResults .resultList {
}

.siteSearchResults .item {
  display: block;
  margin-bottom: 35px;
  padding-bottom: 35px;
  border-bottom: 1px solid #000;
}

.siteSearchResults .title {
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 25px;
  line-height: 1.2em;
  color: #000;
}

.siteSearchResults .bodyCopy {
  color: #000;
}

/* ----------------------------------------------------
		End Search Styles
------------------------------------------------------- */

/* ----------------------------------------------------
		Start HubSpot Form Styles
------------------------------------------------------- */

.hsForm.hsFormGrayBG {
  padding: 65px 0;
  background-color: #f2f2f2;
}

.hsForm label {
}

.hsForm .hs-form-field {
  margin-bottom: 25px;
}

.hsForm .hs-form-field > label {
  display: block;
  margin-bottom: 7px;
  font-weight: 600;
}

.hsForm .hs-form-field > label > .hs-form-required {
  display: inline-block;
  transform: translate(3px, 0);
  color: #d00e30;
}

.hsForm .hs-form-field ul.inputs-list {
  margin-bottom: 0;
  padding: 0;
  list-style-type: none;
}

.hsForm .hs-form-field .input ul.inputs-list > li > label {
  font-weight: 400;
}

.hsForm ul.inputs-list > li > label input {
  margin-right: 5px;
  transform: translate(0, -1px);
}

.hsForm ul.hs-error-msgs {
  font-size: 14px;
  color: red;
}

.hsForm .hs-button {
  font-size: 15px;
}

@media screen and (min-width:800px) {
  .hsForm .form-columns-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .hsForm .form-columns-2 > * {
    flex: 0 1 48%;
  }
}

/* ----------------------------------------------------
		End HubSpot Form Styles
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Contact Page
------------------------------------------------------- */

.contactPage .contactList {
  max-width: 200px;
  margin-top: 45px;
  padding: 0;
  list-style-type: none;
  font-weight: 700;
}

.contactPage .contactList a {
  color: #231f20;
}

.contactPage .contactList li {
  display: flex;
  align-items: flex-start;
  padding-bottom: 15px;
}

.contactPage .contactList li img {
  margin-right: 10px;
}

/* ----------------------------------------------------
		End Contact Page
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Right Nav Contacts
------------------------------------------------------- */

.rightNavContact {
  margin-bottom: 35px;
}

.rightNavContact .name {
  font-weight: 800;
  font-size: 22px;
}

.rightNavContact .title {
  font-size: 14px;
  color: #c51230;
}

.rightNavContact .title,
.rightNavContact .email,
.rightNavContact .phone {
  margin-bottom: 6px;
}

.rightNavContact .email,
.rightNavContact .phone {
  display: flex;
  -webkit-align-items: inherit;
  align-items: inherit;
  font-weight: 800;
  font-size: 15px;
}

.rightNavContact .email img,
.rightNavContact .phone img {
  margin-right: 12px;
}

.rightNavContact .phone {
}

/* ----------------------------------------------------
		End Right Nav Contacts
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Collapsible Two Column List
------------------------------------------------------- */

.colListWrap {
  position: relative;
}

.colListWrap .waveImg {
  width: 100%;
}

.colListWrap .contentOuterWrap {
  padding: 10px 0 30px 0;
  background-color: #f2f2f2;
}

.colListWrap h2 {
  margin-bottom: 5px;
  font-weight: 700;
  font-size: 24px;
  color: #CE0E2D;
}

.colListWrap .item {
  margin-bottom: 10px;
}

.colListWrap .item:nth-child(even) {
  margin-bottom: 10px;
}

.colListWrap .item button {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  vertical-align: baseline;
  text-align: left;
  font-weight: 700;
  text-transform: uppercase;
}

.colListWrap .item .icon {
  flex: 0 0 14px;
  height: 14px;
  align-items: center;
  position: relative;
}

.colListWrap .item .icon .col,
.colListWrap .item .icon .exp {
  position: absolute;
  top: -2px;
  left: 0;
  transition: opacity .2s ease-in-out;
}

.colListWrap .item .icon .exp {
  opacity: 0;
  left: -2px;
}

.colListWrap .item.open .col {
  opacity: 0;
}

.colListWrap .item.open .exp {
  opacity: 1;
}

.colListWrap .item .header {
  padding-left: 15px;
  text-decoration: underline;
}

.colListWrap .item .copy {
  padding-left: 45px;
  height: 0;
  overflow: hidden;
}

@media screen and (min-width:950px) {
  .colListWrap .colList {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .colListWrap .colList > * {
    flex: 0 1 49%;
  }
}

/* ----------------------------------------------------
		End Collapsible Two Column List
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Copy Widget with Image Left or Right
------------------------------------------------------- */

.textImgLeftOrRight .left {
  margin-bottom: 35px;
}

.textImgLeftOrRight h2 {
  margin-bottom: 5px;
  font-size: 32px;
  text-transform: uppercase;
  color: #c51230;
}

@media screen and (min-width: 1024px) {
  .textImgLeftOrRight {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .textImgLeftOrRight.imgRight {
    flex-direction: row-reverse;
  }

  .textImgLeftOrRight .left {
    flex: 0 1 430px;
    margin-bottom: 0;
    padding-right: 70px;
  }

  .textImgLeftOrRight .right {
    flex: 1;
    padding: 0 0 0 3%;
  }

  .textImgLeftOrRight.imgRight .right {
    flex: 1;
    padding: 0 3% 0 0;
  }
}

/* ----------------------------------------------------
		End Copy Widget with Image Left or Right
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Event List Widget
------------------------------------------------------- */

.eventList .item {
  padding: 40px 0;
  border-top: 1px solid #c51230;
}

.eventList h2 {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  color: #c51230;
  font-weight: 500;
  text-transform: uppercase;
}

.eventList h2 img {
  flex: 0 1 60px;
  margin-right: 15px;
}

@media screen and (min-width:768px) {
  .eventList .item {
    padding: 75px 0;
  }
}

/* ----------------------------------------------------
		End Event List Widget
------------------------------------------------------- */

/* ----------------------------------------------------
		Start YouTube Video Widget
------------------------------------------------------- */

.youtubeLibrary h2 {
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  color: #CE0E2D;
  text-transform: uppercase;
}

.youtubeLibrary > .rteCopy {
  margin-bottom: 50px;
}

.youtubeLibrary .videoWrap {
  max-width: 408px;
  margin: 0 auto 50px auto;
}

.youtubeLibrary .youtubeVid {
  margin-bottom: 20px;
  padding-bottom: 56%;
  align-items: flex-start;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.youtubeLibrary .playIcon {
  width: 23%;
  height: auto;
  max-width: 80px;
  top: 27%;
}

.youtubeLibrary .videoCopy {
  padding: 0 15px;
}

.youtubeLibrary .videoTitle {
  margin-bottom: 15px;
  font-size: 19px;
  font-weight: 600;
  color: #CE0E2D;
}

.youtubeLibrary .videoDesc {
  font-size: 16px;
}

.youtubeLibrary #VideoPagination {
  padding: 0 15px;
  display: flex;
  align-items: center;
  font-weight: 500;
}

.youtubeLibrary #VideoPagination > * {
  margin-right: 13px;
}

.youtubeLibrary .current {
  color: #CE0E2D;
}

.youtubeLibrary #VideoPagination .btnPrev:before {
  content: " ";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-left: 1px solid #231f20;
  border-top: 1px solid #231f20;
  transform: rotate(-45deg);
}

.youtubeLibrary #VideoPagination .btnNext:after {
  content: " ";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  border-right: 1px solid #231f20;
  border-bottom: 1px solid #231f20;
  transform: rotate(-45deg);
}

@media screen and (min-width:768px) {
  .youtubeLibraryVideos .videoList {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 25px;
    grid-row-gap: 75px;
    margin-bottom: 75px;
  }

  .youtubeLibrary .videoWrap {
    margin: 0;
  }
}

@media screen and (min-width:1100px) {
  .youtubeLibraryVideos .videoList {
    grid-template-columns: repeat(3,1fr);
  }
}

/* ----------------------------------------------------
		End YouTube Video Widget
------------------------------------------------------- */

/* ----------------------------------------------------
		Start Location Map
------------------------------------------------------- */

.loc-map {
  text-align: center;
}

.loc-map h2 {
  width: auto;
  display: inline-block;
  margin: 0 auto 10px;
  line-height: 1.3em;
  font-size: 21px;
  font-weight: 500;
  color: #CE0E2D;
  text-transform: uppercase;
  background-color: #FFF;
}

.loc-map-subhead {
  font-weight: 700;
  font-size: 16px;
}

.loc-map-dropdown-wrap {
  margin-bottom: 35px;
  padding-top: 40px;
}

.loc-map-dropdown-wrap select {
  padding: 16px 0 16px 8px;
  background: #FFFFFF url(../images/state-dropdown-arrow.jpg) right 23px no-repeat;
  border: 2px solid #231f20;
}

.loc-map-wrap .borders path {
  stroke: #FFF;
  stroke-width:2px;
}

.loc-map-wrap .state path {
  fill: #CE0E2D;
}

.loc-map-wrap .state path:not(.active-state) {
  opacity:.7;
}

.loc-map-wrap .state path.active-state:hover {
  fill: #37080e;
}

@media screen and (min-width:768px) {

  .loc-map-header {
    background: url(/images/red-block-1x2.jpg) center center repeat-x;
  }

  .loc-map h2 {
    padding: 0 25px;
  }
}

/* ----------------------------------------------------
		End Location Map
------------------------------------------------------- */
