/* Engine */
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm {
  padding: 0 20px;
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption {
  margin: 0;
  font-size: 14px;
  color: #fff;
  background-color: #4c4265e0;
  border: 1px solid #413d54;
  border-bottom: 2px solid #827f8f;
}
@media only screen and (max-width: 1000px) {
  .offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption {
    width: 20% !important;
    font-size: 12px;
    min-height: 75px;
  }
}
@media only screen and (min-width: 1000px) {
  .hidden-md {
    display: none;
  }
  .hero-view-sG-wrap .searchGadgetForm__channelOption--current {
    height: auto;
    min-height: 55px;
    padding-top: 0;
  }
  .offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption {
    padding: 0 12px 0 60px;
    line-height: 2.5em;
    white-space: nowrap;
    width: auto !important;
  }
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption:hover {
    background-color: #413d54;
    border-top: 2px solid #827f8f;
    border-left: 1px solid #827f8f;
    border-right: 1px solid #827f8f;
    border-bottom: 0px;
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm li:first-child button.searchGadgetForm__channelOption {
  border-top-left-radius: 5px;
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm li:last-child button.searchGadgetForm__channelOption {
  border-top-right-radius: 5px;
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption--current,
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption--current:hover {
  background-color: #413d54;
  border: 2px solid #827f8f;
  border-bottom: 0px;
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm .product-icon {
  width: 30px;
  height: 30px;
  display: block;
  margin: 5px auto 0;
}
@media only screen and (min-width: 1000px) {
  .offscreen-panel.hero-view-sG-wrap.searchGadgetForm .product-icon {
    float: left;
    margin-left: -45px;
  }
  .site-footer{padding: 40px !important;}
}
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption br {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption br {
    display: block;
  }
  .site-footer-content {margin-top: 30px;}
  .site-footer{padding: 0px 20px 20px 20px !important;}
}

#hx-engine {
  margin: 0 !important;
  padding: 0 !important;
  background: #413d54 !important;
  border-radius: 0 2px 5px 5px;
}
form.hxEmbed.hxEmbed {
  width: 100%;
  padding: 20px;
}
#hx-engine fieldset {
  margin: 0;
  padding: 0 !important;
  float: left;
  margin: 0 5px 0 0 !important;
}
@media only screen and (max-width: 1000px) {
  #hx-engine {
    border-radius: 0 0 5px 5px;
    width: calc(100% + 1px);
  }
  #hx-engine fieldset {
    float: none;
    width: 100% !important;
    margin: 0 0 20px 0 !important;
  }
  #hx-engine fieldset.options {
    margin: 0 !important;
  }
}
#hx-engine fieldset.options fieldset {
  margin-bottom: 20px;
  background: #fff;
  /* border-radius: 5px; */
}
#hx-engine select,
#hx-engine input {
  display: block;
  /* border-radius: 5px 0 0 5px; */
  margin: 0;
  font-weight: 700;
  padding-left: 10px;
  font-size: 16px;
  border-right: 2px solid #413E55;
  width: 50%; /* This is for parking dates/times */
}
#hx-engine form.hxEmbed select.l {
  width: 100%; /* Override for the date/time width */
  border: 0;
  /* border-bottom-right-radius: 5px; */
}
#hx-engine label:not(.eI) {
  color: #444;
  display: block;
  padding: 12px 0 2px 9px;
  margin: 0 0 -7px 0;
  font-weight: 300;
}
#hx-engine fieldset.options fieldset:nth-child(2) label:first-child,
#hx-engine fieldset.options fieldset:nth-child(3) label:first-child {
  width: 50%;
  border-right: 2px solid #413E55;
}
#hx-engine label.eI {
  width: 50%;
}
#hx-engine label.eI select {
  width: 100%;
  border: 0;
  border-bottom-right-radius: 5px;
}
#hx-engine button.submit {
  margin: 0 !important;
  width: 100% !important;
  /* border-radius: 5px; */
  min-height: auto;
}
#hx-engine button.submit span {
  font-size: 25px;
  font-weight: normal;
}
@media only screen and (min-width: 1000px) {
  #hx-engine {
    min-height: 100px !important;
    margin: 0 0 20px 0 !important;
  }
  #hx-engine fieldset.options {
    width: 100% !important;
    margin: 0 !important;
    height: 60px !important;
  }
  #hx-engine select,
  #hx-engine input {
    width: 65%; /* This is for parking dates/times */
  }
  #hx-engine fieldset.options fieldset:nth-child(2) label:first-child,
  #hx-engine fieldset.options fieldset:nth-child(3) label:first-child {
    width: 65%;
  }
  #hx-engine label.eI {
    width: 35%;
  }
  #hx-engine button.submit {
    width: 149px !important;
    height: 60px;
    float: left;
  }
  form.hxEmbed.ft #hx-engine button{font-size: 1.8rem;}
  form.hxEmbed.ft #hx-engine button.submit {width: 149px !important;}
}
/**Fast track**/
#hx-engine.ft .row .col-sm-6 {
    padding-top: 0px !important;
    float: left;
    margin-right: 5px;
    background: #fff;
    /* border-radius: 5px; */
}
#hx-engine.ft label:not(.eI) {padding: 12px 0 8px 9px;}
#hx-engine.ft select, #hx-engine.ft input {
    border-right: 0px solid #413E55;
    margin: 0px 0px 4px 1px;
    height: 30px;
}
#hx-engine.ft .datepicker .datepicker-switch,
#hx-engine.ft .datepicker .next,
#hx-engine.ft .datepicker .prev,
#hx-engine.ft .datepicker tfoot tr th {
    cursor: pointer;
    color: #6e6e6e;
}
#hx-engine.ft .datepicker table tr td.active{
  border: 1px solid #3e4491a3 !important;
  color: #e60 !important;
  text-shadow: 0 -1px 0 rgb(238 102 0) !important;
}

/* Content */
/* article.hero-section.clearfix.hero-section--partial-height.main-bg--hero-section {
  background: url(//www.holidayextras.co.uk/images/travelsupermarket/tsm_parking_hero.jpg);
} */
.layout-2columns__column-content.sidebar-scrollable__content{width: 100% !important; float:right;}
@media only screen and (max-width: 1000px) {
  article.hero-section.clearfix.hero-section--partial-height.main-bg--hero-section {
    background: rgb(18,113,179);
    background: -webkit-gradient(left top,left bottom,color-stop(20%,rgb(4,44,109)),color-stop(100%,rgb(18,113,179)));
    background: -moz-linear-gradient(top,rgb(4,44,109)20%,rgb(18,113,179) 100%);
    background: -ms-linear-gradient(top,rgb(4,44,109)20%,rgb(18,113,179) 100%);
    background: linear-gradient(to bottom,rgb(4,44,109)20%,rgb(18,113,179)100%);
    padding-bottom: 20px;
  }
}
.top-container{
  max-width: 1368px;
  text-align: center;
  margin: 0 auto;
}
.top-container .col-md-4 {
  display: inline-block;
  width: 25%;
  padding: 3px 0px 0px 0px;
  margin-top: 19px;
  margin-bottom: 19px;
  text-align: left;
  float: left;
  height: 62px;
  border-left: 1px solid #ccc;
}
.top-container .col-md-4 img{
  padding: 4px 5px 29px 5px;
  float: left;
  width: 16%;
  height: 73px;
}
.top-container .col-md-4.fourth img {
  padding-top: 9px;
}
.top-container .col-md-4 strong {line-height: 2;}
.top-container .col-md-4.first{border-left: 0px solid #ccc;}
.bottom-container{
  max-width: 1229px;
  margin: 0 auto;
}
.top-container p {
  width: 95%;
}
.bottom-container .col-md-4 {
  display: table-cell;
  width: 33%;
  padding: 20px;
}
.bottom-container .col-md-4 p{
  line-height: 20px;
  padding: 10px 0px 10px 0px;
  font-weight: 400;
  font-size: 1.5rem;
  font-family: Barlow,BlinkMacSystemFont,-apple-system,system-ui,Roboto,Helvetica,Arial,sans-serif;
  color: #4b4b4b;
  min-height: 208px;
}
.bottom-container .col-md-4 p strong {
  line-height: 34px;
  font-size: 2.4rem;
  font-weight: 500;
}
.bottom-container .row {padding: 20px;}
.bottom-container .col-md-4 a {
  margin: 0 auto;
  float: none;
  --text-opacity: 1;
  color: rgba(238,102,0,var(--text-opacity));
  text-align: center;
  padding: 15px;
  border-radius: 5px;
  text-decoration: none;
  border: 1px solid #e60;
}
.bottom-container .col-md-4 a:hover {
  color: #fff;
  background: #e60;
}
li ul {
    margin-left: 25px;
}
@media only screen and (max-width: 960px) {
  .bottom-container .col-md-4 {
    display:inline;
    width: 100%;
    padding: 20px;
    float: left;
  }
  .bottom-container .col-md-4 p{min-height: 131px;}
}
@media only screen and (max-width: 560px) {
  .hero-section__heading {height: 117px !important;}
  .bottom-container .col-md-4 p {min-height: 210px;}
  /* .site-footer {padding: 63px 10px 0px 16px !important;} */
  nav.tsm-nav-footer {margin-top: -8px;}
  .site-footer-content {float: left;}
  .networks-links{margin-top: 100px !important;}
  .copyright {width: 52%;}
}
/* .site-footer {padding: 20px !important;} */

/* Header */
.hero-section__heading {
  height: 99px;
}
h1.hero-section__heading-title.hero-slogan__line {
height: 14px;
}
.hero-section__heading h2{
  letter-spacing: 0px;
  font-family: Barlow,BlinkMacSystemFont,-apple-system,system-ui,Roboto,Helvetica,Arial,sans-serif !important;
  -webkit-font-smoothing: antialiased;
  font-size: 20px;
  font-weight: 500;
  text-shadow: 1px 1px 5px rgba(0,0,0,0.8), 1px 1px 10px rgba(255,255,255,0.5);
  -webkit-font-smoothing: antialiased;
  margin-top: 48px !important;
}
@media only screen and (max-width: 1000px) {


}
.header-button-icon {
  position: relative;
  margin: -10px 20px 0 0 !important;
}
.header-button small {
  position: absolute;
  bottom: 8px;
  text-align: center;
  left: 0;
  right: 0;
  font-size: 10px;
}
@media screen and (max-width: 39.99em) {
  .site-header-controls {
    height: 60px;
    padding-right: 0;
  }
}

.body--navigation-opened .navigation-page {
  background: none;
  margin-top: 15px;
}
.burger-symbol {
  height: 2px;
}
.burger-symbol__middle {
  top: 6px;
}
.burger-symbol__lower,
.header-button--menu:hover .burger-symbol__lower,
.header-button--menu:focus .burger-symbol__lower {
  top: 12px;
}
button#navigation-screen-toggle-area {
  margin: 0 !important;
  height: 60px;
  width: 60px;
  padding: 0;
  border-left: 1px solid rgba(255,255,255,.4);
}

/*** lo engine ***/
#hx-engine.lo label.hxEmbedLabel.lOT.tog.lo {
    color: #fff;
    margin: -28px auto;
    text-align: center;
}
#hx-engine.lo .terminal label,
#hx-engine.lo .terminal select.terminal {
    border-right: 0px !important;
}
#hx-engine.lo fieldset.options fieldset:nth-child(4) label:first-child {
  width: 114px;
  border-right: 2px solid #413E55;
}
#hx-engine.lo fieldset.options fieldset:nth-child(5) div.lI.lo.rail.rec label{
    border-right: 0px solid #413E55;
}
#hx-engine.lo fieldset.options fieldset:nth-child(5) label:first-child {
    border-right: 2px solid #413E55;
    width: 60px;
}

#hx-engine.lo fieldset.terminal.tog {
    width: 125px;
}
#hx-engine.lo select#hxEmbedT.terminal {
    width: 97%;
}
#hx-engine.lo input.dA.hxtrack.hasDatepicker {
    width: 114px !important;
}
#hx-engine.lo .lo.rail.rec {
    margin: 0px 0px -22px 0px;
}
#hx-engine.lo fieldset.options fieldset:nth-child(4) {
    width: 188px;
}
#hx-engine.lo fieldset.options fieldset:nth-child(5){
  width: 170px;
  height: 60px;
}
#hx-engine.lo fieldset.options fieldset:nth-child(5) div {
    max-width: 56px !important;
}
#hx-engine.lo fieldset.options fieldset:nth-child(5) div select {
    height: 39px;
    width: 55px;
    min-width: 55px;
    margin: 1px 0px 0px 5px;
}
#hx-engine.lo select[name="Infants"] {
    border-right: 0px solid #413E55 !important;
    border-radius: 0px 0px 5px 0px !important;
    width: 53px !important;
    min-width: 53px !important;
}
#hx-engine.lo .submitContainer {
    position: inherit !important;
}
@media only screen and (max-width: 1000px){
  #hx-engine.lo label.hxEmbedLabel.lOT.tog.lo {margin: -28px auto !important;}
  #hx-engine.lo fieldset.options fieldset:nth-child(4) label:first-child {width: 49%;}
  #hx-engine.lo label.eI.time.tog.cp.lo {width: 50%; margin-right: 0px !important;}
  #hx-engine.lo input.dA.hxtrack.hasDatepicker {width: 49% !important;}
  #hx-engine.lo fieldset.options fieldset:nth-child(5) div.lo.rail.rec {max-width: 33% !important; width: 33% !important;}
  #hx-engine.lo fieldset.options fieldset:nth-child(5) label:first-child {width: 100% !important;margin-left: 5px;}
  #hx-engine.lo .submitContainer {padding-bottom: 0px;}
  #hx-engine.lo select[name="Infants"] {width: 101% !important;}
}
@media only screen and (max-width: 755px){
  #hx-engine.lo select[name="Infants"] {width: 99% !important;}
  #hx-engine.lo label.hxEmbedLabel.lOT.tog.lo{margin-left: 17px !important;font-size: 10px !important;}
}

/** hotels & hotels with parking **/


.responsive-block.responsive-block--full-width.divider-line{
  --text-opacity: 1;
  color: #000;
  color: rgba(0,0,0,var(--text-opacity));
}
.popular-destinations li {
  border-bottom: 1px solid #e2e8f0;
  padding: 5px !important;
  margin: 5px;
  font-weight: 700;
}
.popular-destinations li a:hover {
  text-decoration: none;
  --text-opacity: 1;
  color: #e60;
  color: rgba(238,102,0,var(--text-opacity));
}
.responsive-block.responsive-block--full-width.divider-line h2,
.responsive-block.responsive-block--full-width.divider-line a{
  font-family: Barlow,BlinkMacSystemFont,-apple-system,system-ui,Roboto,Helvetica,Arial,sans-serif;
  font-weight: 700 !important;
}
.popular-destinations li {
  min-width: 198px;
  width: 18%;
  display:inline-block;
}
@media only screen and (min-width: 1000px){
  #hx-engine.ho, #hx-engine.hcp {min-height: 170px !important;}
  #hx-engine.ho fieldset.options fieldset:nth-child(3),
  #hx-engine.ho fieldset.options fieldset:nth-child(4),
  #hx-engine.ho fieldset.options fieldset:nth-child(5) {width: 255px !important;}
  #hx-engine.hcp fieldset.options fieldset.collect_car.tog.cp.hcp.ho {height: 60px !important;}
  #hx-engine.ho fieldset, #hx-engine.hcp fieldset {margin: 0 4px 5px 0 !important;}
  #hx-engine.ho button.submit, #hx-engine.hcp button.submit, #hx-engine.ft button.submit {float: right;font-weight: normal;}
  #hx-engine.ft button.submit {margin-top: -11px !important;}
}
#hx-engine.ho label,
#hx-engine.hcp label,
#hx-engine.ho select,
#hx-engine.hcp select,
#hx-engine.ho input,
#hx-engine.hcp input {border-right: 0px solid #413E55 !important;}
#hx-engine.ho fieldset.options fieldset:nth-child(3) label:first-child {width: 100%;}
#hx-engine.ho fieldset.options .eI.oN.tog.ho.hcp,
#hx-engine.hcp fieldset.options .eI.oN.tog.ho.hcp {margin: -16px 0px -4px 104px; color: #7b7b7b;}
#hx-engine.ho select,
#hx-engine.ho input,
#hx-engine.hcp select,
#hx-engine.hcp input {width: 100%; border-radius: 0px 0px 5px 5px;outline:none !important;}
#hx-engine.ft select, #hx-engine.ft input {outline:none !important;}
@media only screen and (max-width: 1000px){
  #hx-engine.ft select, #hx-engine.ft input {width: 99%;outline:none !important;}
  #hx-engine.ft .row .col-sm-6 { margin-bottom: 10px; width: 100%;}
}

/** other **/
li.ng-scope.mmb button {
  min-width: 156px !important;
  padding: 0px 0px 0px 0px !important;
}
.responsive-block--full-width .accordion-panel, .responsive-block--full-width .action-panel{
  background: #fff !important;
  border: none !important;
}
.prod-link.icon__ArrowRight:before {
    content: "\e652";
    color: #ee6601;
}
span.prod-link.icon__ArrowRight {
  float: right;
}
.offscreen.offscreen-panel.offscreen-panel--left.searchGadgetForm.hero-view-sG-wrap.mob {
border-top: 1px solid #f4f3f3;
padding-top: 10px;
}
form.hxEmbed.ft img.ui-datepicker-trigger{display: none !important;}

@media only screen and (max-width: 1035px) {
  li.ng-scope.mmb.desktop button {display: none}
  .offscreen.offscreen-panel.offscreen-panel--left.searchGadgetForm.hero-view-sG-wrap.mob  {
    margin-top: 0px !important;
    float: none;
  }
  .offscreen.offscreen-panel.offscreen-panel--left.searchGadgetForm.hero-view-sG-wrap.mob button{
    float: none !important;
    margin: 0px auto !important;
    border-radius: 5px;
    width: 50% !important;
  }
}
@media only screen and (min-width: 1036px) {
  .offscreen.offscreen-panel.offscreen-panel--left.searchGadgetForm.hero-view-sG-wrap.mob {
    display: none
  }
}
@media only screen and (max-width: 1000px) {
  h1.hero-section__heading-title.hero-slogan__line {font-size: 3.3rem;}
  .top-container {display: none;}
  .accordion--type-1 .accordion-panel:first-child {border-top: none !important;margin-top: -35px !important;}
  .responsive-block {padding-left: 0px !important;}
}
@media only screen and (max-width: 1000px){
  h1.hero-section__heading-title.hero-slogan__line {text-align: center !important;}
  .hero-view-sG-wrap .searchGadgetForm__channelOption--current {padding-top: 0px;}
}
@media only screen and (min-width: 641px){
  .logo {
    margin: 0px 0px 0px 14px;
    width:158px;
  } 
}
@media only screen and (max-width: 640px){
  .logo {
    margin: 0px 0px 0px 14px;
    width:138px;
  }
}
@media only screen and (max-width: 408px){
.offscreen-panel.hero-view-sG-wrap.searchGadgetForm button.searchGadgetForm__channelOption {min-height: 90px !important;}
}
html body #ui-datepicker-div .ui-widget-header {border: 1px solid #4c4265;background: #ffffff;color: #6d6d6d;}
html body #ui-datepicker-div .ui-state-default, .ui-widget-content .ui-state-default {
  border: 1px solid #c5dbec; background: #4c4265; color: #ffffff;
}
html body #ui-datepicker-div .ui-state-active, .ui-widget-content .ui-state-active {
  border: 1px solid #c5dbec !important;background: #f5f8f9 !important;color: #e17009 !important;
}
.px-2.py-1.text-right { width: 100%; text-align: right; background-color: #542e91;}
.px-2.py-1.text-right img {width: 200px;}

.col-md-4 a strong {color: #000 !important;}
html body #ui-datepicker-div .ui-widget-content {color: #8b8b8b !important;}
#hx-engine button.submit span {font-size: 1.8rem;}
#hx-engine button.submit:before {font-size: 17px;font-size: 1.7rem;}
#hx-engine button:hover, #hx-engine button:focus {background: #c04c00 !important;}

/* ========================================================================= */
/*  Components  */
/* ========================================================================= */

.site-footer {
  padding-top: 30px;
  padding-top: 3rem;
  background-color: #fff;
  border-top: 1px solid #f4f3f3;
  clear: both;
  position: relative;
  z-index: 2;
}

.site-footer-content {
  clear: both;
  position: relative;
  margin: 0 auto;
}

/* ========================================================================= */
/*  Typography  */
/* ========================================================================= */

ul.networks-links {
  float: right;
}

p.copyright__notice {
  padding-top: 0px;
}

.networks-links__item {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 10px;
  margin-bottom: 1rem;
  position: relative;
}

.networks-links__link {
  color: #9a9a9a;
  position: relative;
  display: inline-block;
}

.networks-links__social-icon {
  background: red;
  display: inline-block;
  margin-right: 10px;
  margin-right: 1rem;
  height: 30px;
  height: 3rem;
  width: 30px;
  width: 3rem;
  left: 0;
  text-align: center;
  top: -6px;
  top: -.6rem;
}

.networks-links__social-icon:before {
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  top: 5px;
  top: .5rem;
}

.networks-links__social-icon.icon__SocialFaceBook {
  background-color: #3B5997;
}

.networks-links__social-icon.icon__SocialGooglePlus {
  background-color: #DD4C39;
}

.networks-links__social-icon.icon__SocialTwitter {
  background-color: #30aee0;
}

.copyright__notice {
  color: #263746;
  font-size: 12px;
  font-size: 1.2rem;
}

.results-page .site-footer-content,
.results-page .site-disclaimer {
  width: 100%;
  padding: 0 20px;
  padding: 0 2rem;
}

/* ========================================================================= */
/*  Navigation  */
/* ========================================================================= */

nav.tsm-nav-footer {
  width: 47%;
  float: right;
}

li.tsm-nav-footer-item {
  min-width: 29%;
  display: inline-block;
  line-height: 33px;
}

li.tsm-nav-footer-item a {
  color: #263746;
}

/* ========================================================================= */
/*  Responsive  */
/* ========================================================================= */

@media screen and (max-width: 869px) {
  nav.tsm-nav-footer {
    width: 100% !important;
    float: left;
  }

  .networks-links,
  .copyright {
    margin: 142px 0px -262px 0px !important;
  }

  .copyright {
    width: 89%;
  }
}

@media screen and (max-width: 824px) {
  svg.msm-logo {
    width: 90%;
    margin-top: 46px;
  }

  .copyright {
    margin-top: 11px !important;
    width: 40%;
  }

  nav.tsm-nav-footer {
    margin-top: -18px;
  }

  .networks-links {
    margin-top: 103px !important;
  }
}

@media only screen and (max-width: 1000px) {
  .site-footer-content {
    margin-top: 30px;
  }

  .site-footer {
    padding: 0px 20px 20px 20px !important;
  }
}

@media only screen and (min-width: 1000px) {
  .site-footer {
    padding: 40px !important;
  }
}

@media only screen and (max-width: 560px) {
  nav.tsm-nav-footer {
    margin-top: -8px;
  }

  .site-footer-content {
    float: left;
  }

  .networks-links {
    margin-top: 100px !important;
  }

  .copyright {
    width: 52%;
  }
}

/* ========================================================================= */
/*  Typography / utility affecting footer image block */
/* ========================================================================= */

.px-2.py-1.text-right {
  width: 100%;
  text-align: right;
  background-color: #542e91;
}

.px-2.py-1.text-right img {
  width: 200px;
}

/* ========================================================================= */
/*  HX Combined Footer                                                       */
/*  Keeps legacy footer rules intact, but removes guttering for new footer   */
/* ========================================================================= */

/* Reset outer footer wrapper when combined footer is present */
.site-footer {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-top: 0 !important;
}

.site-footer-content,
.results-page .site-footer-content {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Combined footer root */
.site-footer > .hx-combined-footer {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.site-footer > .hx-combined-footer,
.site-footer > .hx-combined-footer * {
  box-sizing: border-box;
}

/* Shared inner containers */
.site-footer > .hx-combined-footer .hx-footer-white,
.site-footer > .hx-combined-footer .hx-footer-blue {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.site-footer > .hx-combined-footer .hx-footer-white .hx-inner,
.site-footer > .hx-combined-footer .hx-footer-blue .hx-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

/* White footer */
.site-footer > .hx-combined-footer .hx-footer-white {
  background: #fff;
  padding: 14px 0;
  border-top: 1px solid #000;
}

.site-footer > .hx-combined-footer .hx-white-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
}

.site-footer > .hx-combined-footer .hx-white-links li {
  margin: 0;
  padding: 0;
}

.site-footer > .hx-combined-footer .hx-white-links a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  font-size: 16px !important;
  line-height: 1.4;
}

.site-footer > .hx-combined-footer .hx-white-links a:hover,
.site-footer > .hx-combined-footer .hx-white-links a:focus {
  text-decoration: underline;
}

/* Blue footer */
.site-footer > .hx-combined-footer .hx-footer-blue {
  background: #123f9a;
}

.site-footer > .hx-combined-footer .hx-footer-blue .hx-inner {
  padding: 64px 24px;
}

.site-footer > .hx-combined-footer .hx-blue-top {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 80px;
  align-items: start;
}

.site-footer > .hx-combined-footer .hx-blue-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  column-gap: 120px;
}

.site-footer > .hx-combined-footer .hx-blue-col {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer > .hx-combined-footer .hx-blue-col li {
  margin: 0 0 14px 0;
}

.site-footer > .hx-combined-footer .hx-blue-top a,
.site-footer > .hx-combined-footer .hx-blue-top button {
  font-size: 16px !important;
  line-height: 1.4;
}

.site-footer > .hx-combined-footer .hx-footer-blue a,
.site-footer > .hx-combined-footer .hx-footer-blue button {
  color: var(--footer-link-color, #fff);
  text-decoration: none;
  font: inherit;
  background: transparent;
  border: 0;
  padding: 0;
}

.site-footer > .hx-combined-footer .hx-footer-blue a:hover,
.site-footer > .hx-combined-footer .hx-footer-blue a:focus,
.site-footer > .hx-combined-footer .hx-footer-blue button:hover,
.site-footer > .hx-combined-footer .hx-footer-blue button:focus {
  text-decoration: underline;
  cursor: pointer;
}

/* Social / lower footer */
.site-footer > .hx-combined-footer .hx-blue-social {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: flex-end;
}

.site-footer > .hx-combined-footer .hx-blue-bottom {
  margin-top: 40px;
}

.site-footer > .hx-combined-footer .hx-blue-logo {
  display: inline-flex;
  align-items: center;
  color: var(--footer-logos-color, #fff);
  text-decoration: none;
  flex-shrink: 0;
}

.site-footer > .hx-combined-footer .hx-footer-blue .hx-blue-logo svg {
  display: block;
  width: auto !important;
  height: 40px !important;
}

.site-footer > .hx-combined-footer .hx-blue-secondary {
  list-style: none;
  margin: 18px 0 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
}

.site-footer > .hx-combined-footer .hx-blue-copy {
  margin: 14px 0 0 0;
  color: var(--footer-text-color, #fff);
}

/* Responsive */
@media (max-width: 1024px) {
  .site-footer > .hx-combined-footer .hx-footer-white .hx-inner,
  .site-footer > .hx-combined-footer .hx-footer-blue .hx-inner {
    padding-left: 24px;
    padding-right: 24px;
  }

  .site-footer > .hx-combined-footer .hx-blue-top {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer > .hx-combined-footer .hx-blue-social {
    justify-content: flex-start;
  }
}

@media (max-width: 600px) {
  .site-footer > .hx-combined-footer .hx-white-links {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .site-footer > .hx-combined-footer .hx-blue-cols {
    grid-template-columns: 1fr;
    row-gap: 14px;
  }

  .site-footer > .hx-combined-footer .hx-blue-secondary {
    gap: 14px;
  }
}
