/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/********************** Basic text ***************************/
* {
  box-sizing: border-box;
}
body {
  background: #ffffff none repeat scroll 0 0;
  color: #5b5757;
  font-family: "Montserrat", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  box-sizing: border-box;
}
h2, h3, h4, h5 {
  line-height: 1.5;
  margin: 0 0 7px 0;
  font-weight: 700;
  color: #212121;
}
h1 {
  font-size: 22px;
	color: #212121;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 10px 0;
}
h2,
.h2 {
  font-size: 18px;
}
h3,
.h3 {
  font-size: 16px;
}
h4 {
  font-size: 14px;
}
p {
  margin: 0 0 15px;
  line-height: 1.8;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}
a img:hover {
  opacity: 0.9;
}
strong {
  font-weight: 500;
}
ul,
ol {
  margin: 0 0 15px 15px;
  padding: 0;
}
li {
  margin: 0 0 8px 0;
  padding: 0;
}
input {
  border: medium none;
  font-family: "Montserrat", sans-serif;
}
img {
  height: auto;
  max-width: 100%;
}
input[type="text"],
input[type="email"],
textarea,
input[type="password"] {
  background: #f4f5f5 none repeat scroll 0 0;
  font-family: sans-serif;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: #5b5757;
  line-height: 1.3;
  padding: 12px 0;
  text-indent: 12px;
  width: 100%;
  font-size: inherit;
}
textarea {
  padding: 12px;
  text-indent: 0;
}
select {
  color: #5b5757;
  text-indent: 0;
  border-radius: 0;
  border: none;
  background: #f4f5f5;
  padding: 12px 15px 12px 10px;
  font-family: "Montserrat", sans-serif;
  font-size: inherit;
}
label {
  font-weight: normal;
  margin-bottom: 5px;
  display: block;
}
.form-type-managed-file .form-managed-file {
  margin-top: 10px;
}
.form-type-managed-file .description {
  margin-top: 10px;
}
@media (min-width: 768px) {
  input[type="text"],
  input[type="email"],
  textarea,
  input[type="password"] {
    padding: 15px 0;
  }
  select {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  textarea {
    padding: 15px;
  }
}
@media (min-width: 1024px) {
  body {
    font-size: 16px;
  }
  h1, h2, h3, h4, h5 {
    margin: 0 0 15px 0;
  }
  h1 {
    font-size: 30px;
  }
  h2 {
     font-size: 21px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 17px;
  }
  a.conv_phone {
    text-decoration: none;
  }
}

@media (min-width: 1280px) {
  body {
    font-size: 17px;
  }
  h1, h2, h3, h4, h5 {
    margin: 0 0 15px 0;
  }
  h1 {
    font-size: 28px;
  }
  h2 {
     font-size: 24px;
  }
  h3 {
    font-size: 20px;
  }
  h4 {
    font-size: 18px;
  }
  input[type="text"],
  input[type="email"],
  input[type="password"] {
    padding: 20px 0;
  }
  select {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  textarea {
    padding: 20px;
  }
}

/********************* Buttons ********************/
a.button,
button.button,
input.button,
.button a,
.form-submit {
  background-color: #f07d38;
  border: none;
  border-radius: 5px;
  text-decoration: none;
  color: #ffffff;
  font-weight: 700;
  display: inline-block;
  font-size: 13px;
  line-height: 1.2;
  padding: 12px 30px;
  transition: all 200ms linear 0s;
  font-family: 'Montserrat', sans-serif;
  text-align: center;
  -webkit-appearance: none;
}
a.button:hover,
button.button:hover,
.button a:hover,
input.button:hover,
.form-submit:hover {
  background-color: #f06c1c;
  cursor: pointer;
}
.button.button-purple {
    background-color: #594a71;
}
.button.button-purple:hover {
    background-color: #3e334f;
}
.button.button-big {
  font-size: 14px;
  padding: 13px 40px;
}
.inline-buttons .button {
  width: 100%;
}
.inline-buttons .button:nth-of-type(1) {
  margin-bottom: 10px;
}
a.arrow-after {
  font-weight: 700;
  text-decoration: underline;
  color: #f07d38;
}
a.arrow-after::after {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f178";
  margin-left: 12px;
  vertical-align: middle;
  color: inherit;
}

@media (min-width: 768px) {
  .inline-buttons {
    text-align: center;
  }
}
@media (min-width: 1024px) {
  .button.button-big {
    font-size: 15px;
  }
}
@media (min-width: 1280px) {
  a.button,
  button.button,
  input.button,
  .button a,
  .form-submit {
    font-size: 15px;
  }
  
  .button.button-big {
    font-size: 17px;
    padding: 13px 40px;
  }
}

/* Background colours */
.bg-bg-orange, .bg-orange {
  background-color: #f07d38;
}
.button.bg-purple,
.bg-purple {
  background-color: #594a71;
}
a.bg-purple:hover {
  background-color: #523f6f;
}
.button.bg-purple-dark,
.bg-purple-dark {
  background-color: #23192d;
}
a.bg-purple-dark:hover {
  background-color: #7b6304;
}
.button.bg-purple-light,
.bg-purple-light {
  background-color: #f7f4fc;
}
a.bg-purple-light:hover {
  background-color: #eadffb;
}
.button.bg-blue,
.bg-blue {
  background-color: #5f679d;
}
a.bg-blue:hover {
  background-color: #535d9b;
}
.button.bg-black,
.bg-black {
  background-color: #212121;
}
a.bg-black:hover {
  background-color: #000000;
}
.button.bg-white,
.bg-white {
  background-color: #ffffff;
}
a.bg-white:hover {
  background-color: #f7f7f7;
}
.bg-grey-light {
  background-color: #f4f5f5;
}

/***** Font colours ********/
.fc-orange {
  color: #f07d38;
}
.fc-purple {
  color: #594a71;
}
.fc-purple-dark {
  color: #23192d;
}
.fc-purple-light {
  color: #f7f4fc;
}
.fc-blue {
	color: #5f679d;
}
.fc-black {
  color: #212121;
}
.fc-white {
  color: #ffffff;
}
.fc-grey-light {
  background-color: #f4f5f5;
}

/* Text and font custom styles */
.center {
  text-align: center;
}
.inline {
  display: inline;
}
.lowercase {
  text-transform: lowercase;
}
.underline {
	text-decoration: underline;
}
.fw-light {
  font-weight: 300;
}
.fw-normal {
  font-weight: 400;
}
.fw-medium {
  font-weight: 500;
}
.fw-bold {
  font-weight: 700;
}
.fw-black {
  font-weight: 900;
}
.field-label-inline,
.label-inline {
  display: inline;
}


/**** Long formatted text blogs and services ***/

.long-text-formatted h2,
.long-text-formatted h3 {
  margin-bottom: 10px;
  margin-top: 30px;
}
.long-text-formatted h2:first-child {
  margin-top: 0;
}

/* Heading underlines */
.und-orange::after,
.und-purple::after,
.und-purple-dark::after,
.und-black::after,
.und-white:after {
  display: block;
  content: "";
  width: 40px;
  height: 2px;
  margin-top: 15px;
  margin-bottom: 20px;
}
.und-orange::after {
  background-color: #f07d38;
}
.und-purple::after {
  background-color: #594a71;
}
.und-purple-dark::after {
  background-color: #23192d;
}
.und-black::after {
  background-color: #212121;
}
.und-white::after {
  background-color: #ffffff;
}

.und-orange.center::after,
.und-purple.center::after,
.und-purple-dark.center::after,
.und-black.center::after,
.und-white.center:after,
.und-orange.text-align-center::after,
.und-purple.text-align-center::after,
.und-purple-dark.text-align-center::after,
.und-black.text-align-center::after,
.und-white.text-align-center:after {
  margin-left: auto;
  margin-right: auto;
}

/********************** Custom headings and font sections ******************/

blockquote {
    margin: 20px 0;
    position: relative;
    padding-left: 40px;
}
blockquote::before {
    content: "“";
    font-family: georgia;
    font-size: 55px;
    font-weight: 600;
    line-height: 1.1;
    position: absolute;
    left: 0;
    top: 0;
    color: #d5b01b;
    opacity: 0.5;
}
blockquote p {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px;
}
blockquote cite {
    font-size: 12px;
    color: #999;
    font-style: normal;
    text-transform: uppercase;
    margin-top: 10px;
    display: block;
}
blockquote a,
cite a {
  color: #f07d38;
}
h2.heading-large {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}
h3.above-h2 {
	text-transform: uppercase;
	margin-bottom: 7px;
	font-size: 13px;
  font-weight: 500;
}
@media (min-width: 768px) {

}
@media (min-width: 1024px) {

}
@media (min-width: 1280px) {
  blockquote {
    margin: 30px 0 30px 0;
    padding-left: 50px;
  }
  blockquote::before {
    font-size: 70px;
  }
  blockquote p {
    font-size: 17px;
  }
  blockquote cite {
    font-size: 13px;
  }
  h2.heading-large {
    font-size: 27px;
    font-weight: 400;
  }
  h3.above-h2 {
	  font-size: 15px;
    margin-bottom: 12px;
  }
}

/************************ Common main regions and elements ********************************/
.wrap {
  clear: both;
  margin: 0 auto;
  width: 80%;
  max-width: 1200px;
  position: relative;
  box-sizing: border-box;
}
.section-main {
  margin-bottom: 40px;
}
.clear {
  clear: both;
  display: block;
  height: 0;
}
.form-item,
.form-actions {
  margin: 0 0 10px;
}
#edit-actions {
  margin-bottom: 0;
}
.mob-flip .flex-container {
  display: flex;
  flex-direction: column-reverse;
}
.flex-container.cols2 .first {
  margin-bottom: 20px;
}
.mob-flip .flex-container.cols2 .last {
  margin-bottom: 15px;
}
.mob-flip .flex-container.cols2 .first {
  margin-bottom: 0;
}
.mob-hide {
  display: none;
}
.small-mob-hide,
.inline-small-mob-hide {
  display: none;
}
.tab-show {
  display: none;
}
.med-tab-show {
  display: none;
}
.mob-show {
  display: block;
}
iframe {
  max-width: 100%;
}
@media (min-width: 500px) {
  .small-mob-hide {
    display: block;
  }
}
@media (min-width: 768px) {
  .section-main {
    margin-bottom: 50px;
  }
  .mob-hide {
    display: block;
  }
  .mob-show {
    display: none;
  }
  .tab-show {
    display: block;
  }
}
@media (min-width: 900px) {
  .tab-med-show {
    display: none;
  }
  .tab-med-hide {
    display: block;
  }
}
@media (min-width: 1024px) {
  .section-main {
    margin-bottom: 80px;
  }
}
@media (min-width: 1280px) {
  .wrap {
    width: 90%;
  }
  .section-main {
    margin-bottom: 120px;
  }
  .desk-show {
    display: block;
  }
  .desk-hide {
    display: none;
  }
}

/* Margins and padding elements */
.mb-0,
.section-main.mb-0 {
  margin-bottom: 0;
}
.mb-20, .section-main.mb-20 {
  margin-bottom: 10px;
}
.mb-40, .section-main.mb-40 {
  margin-bottom: 20px;
}
.mb-60,
.section-main.mb-60 {
  margin-bottom: 30px;
}
.mb-80,
.section-main.mb-80 {
  margin-bottom: 40px;
}
.mb-100,
.section-main.mb-100 {
  margin-bottom: 50px;
}
.mb-100,
.section-main.mb-120 {
  margin-bottom: 60px;
}
.mb-100,
.section-main.mb-140 {
  margin-bottom: 70px;
}
.mb-160,
.section-main.mb-160 {
  margin-bottom: 80px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-40 {
	margin-top: 20px;
}
.mt-60 {
	margin-top: 30px;
}
.mt-80 {
	margin-top: 40px;
}
.mt-100 {
	margin-top: 50px;
}
.mt-120 {
	margin-top: 60px;
}
.mt-140 {
	margin-top: 70px;
}
.mt-160 {
	margin-top: 80px;
}

.ptb-0 {
  padding-top: 0;
  padding-bottom: 0;
}
.ptb-20 {
  padding-top: 10px;
  padding-bottom: 10px;
}
.ptb-40 {
  padding-top: 20px;
  padding-bottom: 20px;
}
.ptb-60 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.ptb-80 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.ptb-100 {
  padding-top: 50px;
  padding-bottom: 50px;
}
.ptb-120 {
  padding-top: 60px;
  padding-bottom: 60px;
}
.ptb-140 {
  padding-top: 70px;
  padding-bottom: 70px;
}
.ptb-160 {
  padding-top: 80px;
  padding-bottom: 80px;
}
.ptb-180 {
  padding-top: 80px;
  padding-bottom: 80px;
}

@media (min-width: 768px) {
  .mb-20,
  .section-main.mb-20 {
    margin-bottom: 13px;
  }
  .mb-40,
  .section-main.mb-40 {
    margin-bottom: 25px;
  }
  .mb-60,
  .section-main.mb-60 {
    margin-bottom: 35px;
  }
  .mb-80,
  .section-main.mb-80 {
    margin-bottom: 50px;
  }
  .mb-100,
  .section-main.mb-100 {
    margin-bottom: 55px;
  }
  .mb-120,
  .section-main.mb-120 {
    margin-bottom: 70px;
  }
  .mb-140,
  .section-main.mb-140 {
    margin-bottom: 80px;
  }
  .mb-160,
  .section-main.mb-160 {
    margin-bottom: 90px;
  }
	
	.mt-20 {
    margin-top: 13px;
  }
  .mt-40 {
    margin-top: 25px;
  }
  .mt-60 {
    margin-top: 35px;
  }
  .mt-80 {
    margin-top: 50px;
  }
  .mt-100 {
    margin-top: 55px;
  }
  .mt-120 {
    margin-top: 70px;
  }
  .mb-140 {
    margin-bottom: 80px;
  }
  .mt-160 {
    margin-top: 90px;
  }

  .ptb-20 {
    padding-top: 13px;
    padding-bottom: 13px;
  }
  .ptb-40 {
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .ptb-60 {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .ptb-80 {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .ptb-100 {
    padding-top: 55px;
    padding-bottom: 55px;
  }
  .ptb-120 {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .ptb-140 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .ptb-160 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

@media (min-width: 1024px) {
  .mb-20,
  .section-main.mb-20 {
    margin-bottom: 15px;
  }
  .mb-40,
  .section-main.mb-40 {
    margin-bottom: 30px;
  }
  .mb-60,
  .section-main.mb-60 {
    margin-bottom: 40px;
  }
  .mb-80,
  .section-main.mb-80 {
    margin-bottom: 60px;
  }
  .mb-100,
  .section-main.mb-100 {
    margin-bottom: 70px;
  }
  .mb-120,
  .section-main.mb-120 {
    margin-bottom: 80px;
  }
  .mb-140,
  .section-main.mb-140 {
    margin-bottom: 90px;
  }
  .mb-160,
  .section-main.mb-160 {
    margin-bottom: 100px;
  }

  .ptb-20 {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .ptb-40 {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .ptb-60 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .ptb-80 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .ptb-100 {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .ptb-120 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .ptb-140 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .ptb-160 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .ptb-180 {
    padding-top: 110px;
    padding-bottom: 110px;
  }
}
@media (min-width: 1280px) {
  .width-50 {
    width: 50%;
    margin: 0 auto;
  }
  .width-60 {
    width: 60%;
    margin: 0 auto;
  }
  .width-70 {
    width: 70%;
    margin: 0 auto;
  }
  .width-80 {
    width: 80%;
    margin: 0 auto;
  }
  .width-90 {
    width: 90%;
    margin: 0 auto;
  }

  .mb-20,
  .section-main.mb-20 {
    margin-bottom: 20px;
  }
  .mb-40,
  .section-main.mb-40 {
    margin-bottom: 40px;
  }
  .mb-60,
  .section-main.mb-60 {
    margin-bottom: 60px;
  }
  .mb-80,
  .section-main.mb-80 {
    margin-bottom: 80px;
  }
  .mb-100,
  .section-main.mb-100 {
    margin-bottom: 100px;
  }
  .mb-120,
  .section-main.mb-120 {
    margin-bottom: 120px;
  }
  .mb-140,
  .section-main.mb-140 {
    margin-bottom: 140px;
  }
  .mb-160,
  .section-main.mb-160 {
    margin-bottom: 160px;
  }
	
	.mt-40 {
	margin-top: 40px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-100 {
	margin-top: 100px;
}
.mt-120 {
	margin-top: 120px;
}
.mt-140 {
	margin-top: 140px;
}
.mt-160 {
	margin-top: 160px;
}
	
  .ptb-20 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .ptb-40 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .ptb-60 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .ptb-80 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .ptb-100 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .ptb-120 {
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .ptb-140 {
    padding-top: 140px;
    padding-bottom: 140px;
  }
  .ptb-160 {
    padding-top: 160px;
    padding-bottom: 160px;
  }
  .ptb-180 {
    padding-top: 180px;
    padding-bottom: 180px;
  }
}

/* Alignment styles */
.center {
  text-align: center;
}
.inline {
  display: inline;
}
.valign-top {
  vertical-align: top;
}
.valign-middle {
  vertical-align: middle;
}
.valign-bottom {
  vertical-align: bottom;
}

/* Image/video holder elements */
.img-holder {
  overflow: hidden;
  display: block;
}
.img-holder img {
  display: block;
}
.img-holder {
  overflow: hidden;
  display: block;
}
.img-holder img {
  display: block;
}
.hover-zoom img {
  transition: transform 1s;
}
.hover-zoom:hover img {
  transform: scale(1.3);
}

/******************************** Responsive menu ********************************/
#block-custom-horizontalmenu {
  display: none;
}
.off-canvas-wrapper {
  display: block;
}
.no-js .off-canvas-wrapper {
  display: none;
}
body.user-logged-in.toolbar-fixed.mm-wrapper_opening,
body.user-logged-in.toolbar-fixed.mm-wrapper_opened {
  padding-top: 0 !important;
}
.mm-page,
.mm-wrapper_background body {
  background-color: #ffffff;
}
.mm-wrapper_opening .toolbar-tray-open.toolbar-fixed.toolbar-vertical,
.mm-opened .toolbar-tray-open.toolbar-fixed.toolbar-vertical {
  margin-left: 0;
}
.mm-wrapper_opening .toolbar-tray-open.toolbar-fixed.toolbar-vertical .mm-page,
.mm-opened .toolbar-tray-open.toolbar-fixed.toolbar-vertical .mm-page {
  padding-left: 240px;
  padding-left: 15rem;
}
.responsive-menu-toggle {
  display: block;
}
.responsive-menu-toggle-icon {
  display: block;
  width: 50px;
  background: #f4f5f5;
  height: 44px;
  z-index: 4;
  margin-top: 0;
  position: relative;
}
.no-js .responsive-menu-toggle-icon {
  display: none;
}
.responsive-menu-toggle-icon span.label {
  display: none;
}
.responsive-menu-toggle-icon:before,
.responsive-menu-toggle-icon:after,
.responsive-menu-toggle-icon span.icon {
  background: #f07d38;
  content: "";
  display: block;
  width: 30px;
  height: 4px;
  position: absolute;
  top: 10px;
  left: 10px;
  border-radius: 4px;
}
.responsive-menu-toggle-icon:before {
  top: 10px;
}
.responsive-menu-toggle-icon span.icon {
  top: 19px;
}
.responsive-menu-toggle-icon:after {
  top: 29px;
}
.responsive-menu-toggle-icon:before,
.responsive-menu-toggle-icon:after,
.responsive-menu-toggle-icon span.icon {
  transition: none 0.4s ease-out 0.1s;
  transition-property: -webkit-transform, top, bottom, left, opacity;
  transition-property: transform, top, bottom, left, opacity;
}
.mm-wrapper_opening .responsive-menu-toggle-icon:before,
.mm-wrapper_opening .responsive-menu-toggle-icon:after {
  top: 14px;
}
.mm-wrapper_opening .responsive-menu-toggle-icon span.icon {
  left: -25px;
  opacity: 0;
}
.mm-wrapper_opening .responsive-menu-toggle-icon:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mm-wrapper_opening .responsive-menu-toggle-icon:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.mm-menu a,
.mm-menu a:active,
.mm-menu a:hover,
.mm-menu a:link,
.mm-menu a:visited {
  text-decoration: none;
  font-weight: 700;
}
#mm-blocker {
  background: rgba(0, 0, 0, 0);
}
.mm-wrapper_opening #mm-blocker {
  background: rgba(0, 0, 0, 0.2);
  transition: background 1s ease 0.3s;
}
.mm-wrapper_opening #page {
  border-left: 1px solid #ccc;
}
.mm-panel a {
  border-bottom: none;
}
ul.menu.mm-listview a.is-active {
  color: inherit;
}
.mm-panel a:hover {
  border: none;
}
ul.menu.mm-listview {
  padding-left: 0;
  margin-left: 0;
}

/********************************* Header region ***************************/
header {
  background: #ffffff;
}
header .wrap {
  position: relative;
  max-width: 100%;
  width: 1450px;
  height: 70px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
}
header #header-logo {
  flex: 1;
}
header #header-logo img {
  display: block;
  width: 200px;
}
header #header-menu {
  flex: 0 1 auto;
  margin-left: 10px;
  order: 3;
}
header #header-button {
  display: none;
  flex: 0 1 auto;
  order: 2;
}
header #header-button .large-only {
  display: none;
}
@media (min-width: 500px) {
  header #header-button {
    display: inline-block;
  }
  header #header-button .button {
    padding: 10px 20px;
    margin: 0;
  }
  header #header-button i {
    margin-right: 5px;
  }
}

@media (min-width: 768px) {
  header .wrap {
    padding-left: 15px;
    padding-right: 15px;
    height: 80px;
  }
  header #header-button .large-only {
    display: inline-block;
  }
  header #header-button .small-only {
    display: none;
  }
}
@media (min-width: 1024px) {
  header #header-logo {
    flex: 0 1 auto;
  }
  header #header-menu {
    order: 2;
    margin-left: 0;
    flex: 1;
    text-align: center;
  }
  header #header-button {
    order: 3;
  }
  header #header-button .button {
    padding: 13px 20px;

  }
}
@media (min-width: 1280px) {
  header .wrap {
    height: 115px;
  }
  header #header-logo img {
    width: 280px;
  }
  header #header-button {
    top: 18px;
  }
   header #header-menu {
    right: 200px;
  }
  header #header-button .button {
    padding: 15px 20px;
  }
}
/**************************** Main horizontal menu ***************************/
@media (min-width: 1024px) {
  .responsive-menu-toggle-wrapper.responsive-menu-toggle {
    display: none;
  }
  #block-custom-horizontalmenu {
    display: block;
  }
  .horizontal-menu {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 1;
  }
  .horizontal-menu > li {
    position: relative;
    list-style: none;
    margin: 0;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
  }
  .horizontal-menu > li ul ul {
    left: 13.75em;
    top: 0;
  }
  .horizontal-menu ul .fly-left ul {
    left: -13.75em;
  }
  .horizontal-menu > li > a {
    color: #2f2f2e;
    background-color: transparent;
    padding: 0;
    margin: 0;
    font-size: 16px;
    display: block;
    text-decoration: none;
    font-weight: 600;
    margin-right: 20px;
    line-height: 1;
  }
  .horizontal-menu > li:last-child > a {
    margin-right: 0;
  }
  .horizontal-menu > li.menu-item--expanded > a {
    margin-right: 20px;
  }
  .horizontal-menu > li.menu-item--expanded > a::after {
    position: absolute;
    top: 0;
    right:7px;
    font-size: 11px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
  }
  .horizontal-menu > li > a:hover {
    color: #f07d38;
  }
  .horizontal-menu > li ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99;
    padding-top: 30px;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
    margin-left: -20px;
    box-sizing: border-box;
    width: 340px;
    list-style: none;
    background: #1d1d1d;
    text-align: left;
    margin-top: 0;
  }
  .horizontal-menu li.sfHover > ul,
  .horizontal-menu li:hover > ul {
    display: block;
  }
  .horizontal-menu li li {
    margin: 0;
  }
  .horizontal-menu > li > li:hover > ul,
  .horizontal-menu > li > li.sfHover > ul {
    display: block;
  }
  .horizontal-menu > li li > a {
    display: block;
    position: relative;
    padding: 10px 0px 10px 20px;
    text-transform: none;
    text-decoration: none;
    box-sizing: border-box;
    width: 100%;
    font-size: 16px;
    font-weight: 400;
  }
  .horizontal-menu > li li > a:hover {
    background-color: #a70d09;
    color: #fff;
  }
}

@media (min-width: 1280px) {
  .horizontal-menu > li > a {
    font-size: 20px;
    margin-right: 30px;
  }
  .horizontal-menu > li.menu-item--expanded > a {
    margin-right: 35px;
  }
  .horizontal-menu > li li > a {
    padding: 15px 0px 15px 20px;
  }
  .horizontal-menu > li.menu-item--expanded > a::after {
    right: 20px;
  }
}

/***************** Banner (top no wrap) ***************************/
#top-no-wrap {
  background: rgb(95,103,157);
  background: linear-gradient(90deg, rgba(95,103,157,1) 0%, rgba(89,74,113,1) 51%, rgba(240,125,56,1) 100%);
  margin-bottom: 40px;
}
#top-no-wrap .region-top-no-wrap {
  background-size: cover;
}
#top-no-wrap .banner-inner {
  padding: 40px 0;
  max-width: 100%;
  text-align: center;
}
#top-no-wrap h1,
#top-no-wrap h2 {
  font-size: 24px;
  color: #ffffff;
  margin: 0;
  font-weight: 700;
}
#top-no-wrap h4 {
  color: #ffffff;
}
#top-no-wrap h4 a {
  text-decoration: underline;
}
#top-no-wrap p {
  color: #ffffff;
  font-weight: 500;
  line-height: 1.7;
  font-size: 15px;
  margin-bottom: 0;
  margin-top: 15px;
}
#top-no-wrap .button {
  font-size: 14px;
  padding: 10px 30px;
  font-weight: 500;
}
@media (min-width: 768px) {
  #top-no-wrap .banner-inner {
    padding: 50px 0;
  }
  #top-no-wrap h1,
  #top-no-wrap h2 {
    font-size: 28px;
  }
  #top-no-wrap p {
    font-size: 16px;
  }
  #top-no-wrap .button {
    font-size: 15px;
    padding: 12px 30px;
  }
}
@media (min-width: 1024px) {
  #top-no-wrap {
    margin-bottom: 60px;
  }
  #top-no-wrap .banner-inner {
    padding: 80px 00;
  }
  #top-no-wrap h1,
  #top-no-wrap h2 {
    font-size: 30px;
  }
  #top-no-wrap p {
    font-size: 17px;
    line-height: 2;
  }
  #top-no-wrap .button {
    font-size: 16px;
    padding: 14px 40px;
  }
}
@media (min-width: 1280px) {
   #top-no-wrap {
    margin-bottom: 80px;
  }
  #top-no-wrap .banner-inner {
    padding: 100px 0;
  }
  #top-no-wrap h1,
  #top-no-wrap h2 {
    font-size: 34px;
  }
  #top-no-wrap p {
    font-size: 18px;
  }
   #top-no-wrap .button {
    font-size: 18px;
    padding: 17px 60px;
  }
}
/******************** Breadcrumbs ***********************/
#breadcrumbs {
  line-height: 1.4;
  font-style: italic;
  font-size: 13px;
  text-align: center;
  margin-top: -30px;
}
#breadcrumbs .wrap {
  border-bottom: 2px solid #efefef;
  padding: 20px 0;
  margin-bottom: 30px;
}
#breadcrumbs a {
  color: #5f679d;
}
#breadcrumbs a:hover {
  color: #4a549a;
}
#breadcrumbs .bread\=sep::after {
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font: var(--fa-font-solid);
  content: "\f054";
  font-size: 9px;
  vertical-align: middle;
  color: inherit;
  margin: 0 7px;
}

@media (min-width: 1024px) {
  #breadcrumbs {
    font-size: 14px;
    margin-top: -40px;
  }
}
@media (min-width: 1280px) {
  #breadcrumbs {
    font-size: 16px;
    margin-top: -60px;
  }
  #breadcrumbs .wrap {
    padding: 30px 0;
    margin-bottom: 60px;
  }
}
/************************* Footer ******************************/

#footer {
    background: #5f679d;
    padding: 70px 0;
}
#footer .footer-one,#footer .footer-two,#footer .footer-three {
  margin-bottom: 30px;
}
#footer .f-heading {
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 1.5;
}
#footer .footer-top a,
#footer .footer-bottom a {
  color: #ffffff;
}
#footer .f-text {
  color: #ffffff;
  line-height: 1.8;
}
#footer a:hover {
    text-decoration: underline;
}
#footer ul {
    margin: 0;
    padding: 0;
}
#footer .footer-two ul li,
#footer .footer-three ul li {
  list-style: none;
  line-height: 1.5;
  position: relative;
  padding-left: 12px;
}
#footer .footer-two ul li::before,
#footer .footer-three ul li::before {
  content: "-";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  color: #fff;
  font-weight: 700;
}
#footer .footer-four form {
  margin-top: 12px;
}
#footer .newsletter-flex {
  display: flex;
  justify-content: stretch;
}
#footer .newsletter-flex .newsletter-email {
  flex: 1;
}
#footer .newsletter-subscribe {
  flex: 0 1 50px;
  background-color: #f07d38;
  position: relative;
  color: #fff;
  border: none;
  -webkit-appearance: none;
}
#footer .newsletter-subscribe:hover {
  cursor: pointer;
  background-color: #23192d;
}
#footer .footer-bottom {
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid #42476c;
}
#footer .fb-one img {
  margin-bottom: 15px;
  max-width: 250px;
}
#footer .fb-two {
  margin-bottom: 20px;
}
#footer .fb-two .f-text {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
}
#footer .fb-two i {
  position: absolute;
  left: 0;
  top: 6px;
  width: 20px;
  display: block;
}
#footer .fb-two .f-inline {
  display: block;
  margin-bottom: 10px;
}
#footer .fb-three a {
  display: inline-block;
  margin-right: 7px;
}
#footer .fb-three a:last-child {
  margin-right: 0;
}
#footer .fb-three i {
  font-size: 18px;
}
#footer .footer-copyright {
  margin-top: 30px;
}
#footer .footer-copyright .f-text {
  font-size: 13px;
}
@media (min-width: 450px) and (max-width: 767px) {
  #footer .footer-two ul li,
  #footer .footer-three ul li {
    display: inline-block;
    width: 48%;
    margin-right: 2%;
    vertical-align: top;
  }
  #footer .footer-two ul li:nth-of-type(2n),
  #footer .footer-three ul li:nth-of-type(2n) {
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  #footer .footer-top {
    display: flex;
    flex-wrap: wrap;
  }
  #footer .footer-one {
    flex-direction: column;
    margin-bottom: 40px;
  }
  #footer .footer-two {
    flex: 0 0 30%;
    padding-right: 15px;
    margin-bottom: 0;
  }
  #footer .footer-three {
    flex: 0 1 34%;
    padding-right: 15px;
    margin-bottom: 0;
  }
  #footer .footer-four {
    flex: 0 1 33%;
  }
  #footer .newsletter-email {
    height: 40px;
  }
  #footer .footer-bottom {
    display: flex;
    flex-wrap: wrap;
  }
  #footer .fb-one {
    flex: 0 1 240px;
    padding-right: 30px;
  }
  #footer .fb-one img {
    max-width: none;
    width: 100%;
  }
  #footer .fb-two {
    flex: 1;
    padding-right: 30px;
  }
  #footer .fb-two .f-text.f-address {
  }
  #footer .fb-two .f-inline {
    display: inline-block;
    margin-right: 20px;
  }
  #footer .fb-three {
    flex: 0 1 70px;
    text-align: right;
  }
  #footer .footer-copyright {
    text-align: center;
  }
}

@media (min-width: 1024px) {
  #footer .footer-one {
    flex: 0 1 32%;
    padding-right: 30px;
    margin-bottom: 0;
  }
  #footer .footer-two {
    flex: 0 0 17%;
    padding-right: 20px;
  }
  #footer .footer-three {
    flex: 0 1 26%;
    padding-right: 20px;
  }
  #footer .footer-four {
    flex: 0 1 25%;
  }
  #footer .f-heading {
    margin-bottom: 30px;
  }
   #footer .f-text {
    font-size: 15px;
  }
  #footer .footer-two ul li,
  #footer .footer-three ul li {
    margin-bottom: 12px;
   font-size: 15px;
  }
  #footer .fb-one {
    flex: 0 1 32%;
    padding-right: 50px;
  }
  #footer .footer-copyright {
    margin-top: 50px;
  }
}
@media (min-width: 1280px) {
  #footer {
    padding: 120px 0 90px 0;
  }
  #footer .footer-one {
    flex: 0 1 33%;
    padding-right: 60px;
    margin-bottom: 0;
  }
  #footer .footer-two {
    flex: 0 0 20%;
    padding-right: 30px;
  }
  #footer .footer-three {
    flex: 0 1 22%;
    padding-right: 50px;
  }
  #footer .footer-four {
    flex: 0 1 25%;
  }
  #footer .f-heading {
    font-size: 18px;
    margin-bottom: 28px;
  }
  #footer .f-text {
    font-size: 16px;
  }
  #footer ul li {
    font-size: 16px;
  }
  #footer .newsletter-email {
    height: 50px;
  }
  #footer .footer-bottom {
    margin-top: 60px;
    padding-top: 60px;
  }
   #footer .fb-one {
    flex: 0 1 33%;
    padding-right: 90px;
  }
  #footer .fb-two .f-text {
    font-size: 17px;
  }
  #footer .footer-copyright .f-text {
    font-size: 14px;
  }
   #footer .footer-copyright {
    margin-top: 80px;
  }
}

/****************************** Slick slideshows ***********************************/
.slick {
  position: relative;
}
nav.slick__arrow button {
  position: absolute;
  top: calc(50% - 17px);
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  opacity: 0.5;
}
nav.slick__arrow button:hover {
  opacity: 1;
}
nav.slick__arrow button::before {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  color: #bbbbbb;
  font-size: 25px;
}
nav.slick__arrow button.slick-prev {
  left: -25px;
}
nav.slick__arrow button.slick-next {
  right: -25px;
}
nav.slick__arrow button.slick-prev::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f053";
}
nav.slick__arrow button.slick-next::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
}
.slick-nav-dots {
  text-align: center;
  list-style: none;
  margin-top: 50px;
}
.slick-nav-dots li {
  display: inline;
  margin: 0 3px;
}
.slick-nav-dots li button {
  background: #eee;
  border: none;
  border-radius: 17px;
  width: 17px;
  height: 17px;
  font-size: 0;
}
.slick-nav-dots li.slick-active button {
  background-color: #ddd;
}
@media (min-width: 500px) {
  nav.slick__arrow button.slick-prev {
    left: -40px;
  }
  nav.slick__arrow button.slick-next {
    right: -40px;
  }
}
@media (min-width: 768px) {
  nav.slick__arrow button.slick-prev {
    left: -50px;
  }
  nav.slick__arrow button.slick-next {
    right: -50px;
  }
}
@media (min-width: 1280px) {
  nav.slick__arrow button::before {
    font-size: 30px;
  }
  nav.slick__arrow button.slick-prev {
    left: -40px;
  }
  nav.slick__arrow button.slick-next {
    right: -40px;
  }
}
@media (min-width: 1450px){
  nav.slick__arrow button.slick-prev {
    left: -70px;
  }
  nav.slick__arrow button.slick-next {
    right: -70px;
  }
}


/******************** Flex containers in wrap **********************/
@media (min-width: 768px) {
  .flex-container {
    display: flex;
  }
  .flex-item {
    box-sizing: border-box;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .mob-flip .flex-container {
    flex-direction: initial;
    flex-wrap: nowrap;
  }
  .cols2 .flex-item {
    flex: 0 1 50%;
  }
  .flex-container.cols3 {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: self-start;
  }
  .cols3 .flex-item {
    flex: 0 1 32%;
  }
  .cols4 .flex-item {
    flex: 0 1 23%;
  }
  .cols5 .flex-item {
    flex: 0 1 20%;
  }
  .cols6 .flex-item {
    flex: 0 1 16.666%;
  }
  .cols2-20-80 .first,
  .cols2-80-20 .last {
    flex: 0 1 20%;
  }
  .cols2-25-75 .first,
  .cols2-75-25 .last {
    flex: 0 1 25%;
  }
  .cols2-30-70 .first,
  .cols2-70-30 .last {
    flex: 0 1 30%;
  }
  .cols2-35-65 .first,
  .cols2-65-35 .last {
    flex: 0 1 35%;
  }
  .cols2-40-60 .first,
  .cols2-60-40 .last {
    flex: 0 1 40%;
  }
  .cols2-45-65 .first,
  .cols2-65-45 .last {
    flex: 0 1 45%;
  }
  .cols2-50-50 .flex-item {
    flex: 0 1 50%;
  }
  .cols2-55-65 .first,
  .cols2-655-55 .last {
    flex: 0 1 55%;
  }
  .cols2-60-40 .first,
  .cols2-40-60 .last {
    flex: 0 1 60%;
  }
  .cols2-65-35 .first,
  .cols2-35-65 .last {
    flex: 0 1 65%;
  }
  .cols2-70-30 .first,
  .cols2-30-70 .last {
    flex: 0 1 70%;
  }
  .cols2-75-25 .first,
  .cols2-25-75 .last {
    flex: 0 1 75%;
  }
  .cols2-80-20 .first,
  .cols2-20-80 .last {
    flex: 0 1 80%;
  }
  .gutter-0 .flex-item {
    margin-right: 0!important;
  }
  .gutter-2 .flex-item {
    margin-right: 2%;
  }
  .gutter-5 .flex-item {
    margin-right: 5%;
  }
  .gutter-7 .flex-item {
    margin-right: 7%;
  }
  .gutter-10 .flex-item {
    margin-right: 10%;
  }
  .cols4 .last,
  .cols3 .last,
  .cols2 .last {
    margin-right: 0;
  }
  .flex-container.cols2 .first,
  .mob-flip .flex-container.cols2 .last {
    margin-bottom: 0;
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .flex-container.cols4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: self-start;
  }
  .cols4 .flex-item {
    flex: 0 1 48%;
  }
}
@media (min-width: 1024px) {
  .flex-container.cols2 .block-layout-builder p:last-child {
    margin-bottom: 0;
  }
}

@media (min-width: 1280px) {
  .valign-top .flex-item {
    align-self: top;
  }
  .valign-middle .flex-item {
    align-self: center;
  }
  .valign-bottom .flex-item {
    align-self: bottom;
  }
  .flex-item.flex-align-top {
    align-self: top;
  }
  .flex-item.flex-align-middle {
    align-self: center;
  }
  .flex-item.flex-align-bottom {
    align-self: bottom;
  }
  .flex-container.flex-align-top,
  .flex-align-top .flex-container {
    align-items: top;
  }
  .flex-container.flex-align-middle,
  .flex-align-middle .flex-container {
    align-items: center;
  }
  .flex-container.flex-align-bottom,
  .flex-align-bottom .flex-container {
    align-items: bottom;
  }
}

/************************** No wrap flex-containers ****************************/

.text-in-box .flex-container.cols2 .first,
.text-in-box.mob-flip .flex-container.cols2 .last {
  margin-bottom: 0;
}
.cols2-no-wrap.img-right .first,
.cols2-no-wrap.img-left .last {
  padding-left: 10%;
  padding-right: 10%;
}

.cols2-no-wrap.img-right.text-in-box .first,
.cols2-no-wrap.img-left.text-in-box .last {
  padding-top: 40px;
  padding-bottom: 40px;
}

@media (min-width: 900px) {
  .cols2-no-wrap.flex-align-middle .flex-container {
    display: flex;
    width: 100%;
  }
  .cols2-no-wrap.img-right .last,
  .cols2-no-wrap.img-left .first {
    flex: 1;
    position: relative;
  }
  .cols2-no-wrap.img-right .last img,
  .cols2-no-wrap.img-left .first img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .cols2-no-wrap.img-right .first,
  .cols2-no-wrap.img-right.text-in-box .first {
    padding: 80px 50px 80px 10%;
  }
  .cols2-no-wrap.img-left .last,
  .cols2-no-wrap.img-left.text-in-box .last {
    padding: 80px 10% 80px 50px;
  }
}
@media (min-width: 1024px) {
  .cols2-no-wrap.img-left .last,
  .cols2-no-wrap.img-left.text-in-box .last {
    padding: 120px 10% 120px 60px;
  }
  .cols2-no-wrap.img-right .first,
  .cols2-no-wrap.img-right.text-in-box .first {
    padding: 120px 60px 120px 10%;
  }
}
@media (min-width: 1400px) {
  .cols2-no-wrap.img-left .last,
  .cols2-no-wrap.img-left.text-in-box .last {
    padding: 180px 10% 180px 60px;
  }
  .cols2-no-wrap.img-right .first,
  .cols2-no-wrap.img-right.text-in-box .first {
    padding: 180px 60px 180px 10%;
  }
}
@media (min-width: 1980px) {
  .cols2-no-wrap.img-right .last,
  .cols2-no-wrap.img-left .first {
    flex-basis: 50%;
    width: 50%;
    flex-grow: 0;
  }
  .cols2-no-wrap.img-right .flex-container {
    justify-content: right;
  }
  .cols2-no-wrap.img-left .last,
  .cols2-no-wrap.img-left.text-in-box .last {
    padding: 230px 0 230px 80px;
    max-width: 775px;
  }
  .cols2-no-wrap.img-right .first,
  .cols2-no-wrap.img-right.text-in-box .first {
    padding: 230px 80px 230px 0;
    max-width: 775px;
  }
}

/*************************** Grid items ************************************/

.grid {
  display: grid;
  gap: 20px;
}
@media (min-width: 600px) {
  .grid.grid-cols2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.grid-cols3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.grid-cols4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid.grid-cols5 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 900px) {
  .grid.grid-cols3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid.grid-cols4 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid.grid-cols5 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {

  .grid.grid-cols4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid.grid-cols5 {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1280px) {

  .grid.grid-cols5 {
    grid-template-columns: repeat(5, 1fr);
  }
}

/************* Boxes - long 1 column *********/

.box-long {
  background: #ffffff;
  box-shadow: 0 0 20px #ddd;
  margin-bottom: 40px;
}
.box-long .left img {
  max-width: none;
  width: 100%;
}
.box-long .right {
  padding: 25px;
}
.box-long p:last-child {
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .box-long {
    display: flex;
  }
  .box-long .left {
    flex: 0 1 200px;
    position: relative;
    overflow: visible;
    padding: 25px 0 25px 25px;
    align-content: center;
    text-align: center;
  }
  .box-long .right {
    align-content: center;
    flex: 1;
  }
}
@media (min-width: 993px) {
  .box-long .left {
    flex: 0 1 250px;
  }
  .box-long .right {
    padding: 30px;
  }
}
@media (min-width: 1280px) {
  .box-long .right {
    padding: 40px;
  }
}

/*********** Videos *************/
.block-inline-blockvideo .video-embed-field-lazy-play {
  height: 72px;
  width: 72px;
  left: 50%;
  top: 50%;
  margin-left: -36px;
  margin-top: -36px;
  position: absolute;
  border: none;
  background-color: #5f679d;
  border-radius: 72px;
  cursor: pointer;
  background-size: 72px 72px;
}

/**** Accordians /  FAQs ****/
.accordian-container h2 {
  margin-bottom: 15px;
}
.accordian-holder {
  margin-bottom: 10px;
}
.accordian-holder .accordion {
  background: #f4f5f5;
  border: medium none;
  font-family: 'Montserrat', sans-serif;
  position: relative;
  color: #3e3d3d;
  cursor: pointer;
  font-size: 15px;
  font-weight: 500;
  outline: medium none;
  padding: 18px 45px 18px 20px;
  text-align: left;
  transition: all 0.4s ease 0s;
  width: 100%;
  line-height: 1.6;
}
.accordian-holder .accordion:hover {
    background: #eee;
}
.accordian-holder .accordion::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 18px;
}
.accordian-holder .accordion.active::after {
    content: "-";
    top: 10px;
    font-size: 30px;
}
.accordian-holder button.accordion.active:nth-of-type(1) {
    margin-top: 0;
}
.accordian-holder .panel.show {
    display: block;
    margin-bottom: 20px;
    margin-top: -5px;
    padding: 18px;
    border: 1px solid #f4f5f5;
}
.accordian-holder .panel {
    display: none;
    padding: 10px 0 15px 0;
}
.accordian-holder .panel p {
    margin-bottom: 10px;
    font-size: 14px;
}

@media (min-width: 1280px) {
  .accordian-container h2 {
    margin-bottom: 25px;
  }
  .accordian-holder .accordion {
    font-size: 17px;
    padding-top: 25px;
    padding-bottom: 25px;
  }
  .accordian-holder .accordion::after {
    font-size: 24px;
    top: 12px;    
  }
}

/************** Hover boxes ***************/
.hover-box-grid-3cols {
  text-align: center;
}
.hover-box-grid-3cols .hover-boxes {
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}
.hover-boxes {
	position: relative;
	background: #111;
}
.hover-boxes a:hover img {
  opacity: 0.3;
}
.hover-boxes img {
	display: block;
	width: 100%;
	height: 100%;
}
.hover-boxes .hb-inner {
  position: absolute;
  top: 0;
  left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
  flex-direction: column;
	height: 100%;
	width: 100%;
	line-height: 1.5;
  padding: 0 15px;
  text-align: center;
}
.hover-boxes .hb-inner .hb-title {
  color: #ffffff;
  display: block;
  font-weight: 700;
  margin-bottom: 10px;
  font-size: 18px;
  text-transform: capitalize;
}
.hover-boxes .hb-inner .hb-title::after {
  content:"";
  display: block;
  width: 20px;
  height: 2px;
  background-color: #fff;
  margin: 7px auto 0 auto;
}
.hover-boxes .hb-inner .hb-text {
  color: #ffffff;
  display: block;
  font-size: 14px;
  line-height: 1.7;
}
@media (min-width: 650px) {
  .hover-box-grid-3cols .views-view-responsive-grid--horizontal {
    grid-template-columns: repeat(2,1fr)
  }
  .hover-box-grid-3cols .hover-boxes {
   max-width: 100%;
    margin: 0;
  }
}
@media (min-width: 1024px) {
  .hover-box-grid-3cols .views-view-responsive-grid--horizontal {
    grid-template-columns: repeat(3,1fr);
    gap: 5px;
  }
}
@media (min-width: 1280px) {
  .hover-boxes .hb-inner {
    padding: 25px;
  }
  .hover-boxes .hb-inner .hb-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .hover-boxes.hover-boxes-6cols .hb-inner .hb-title {
    font-size: 20px;
    margin-bottom: 0;
  }
  .hover-boxes .hb-inner .hb-title::after {
    margin: 10px auto 0 auto;
    width: 30px;
  }
  .hover-boxes .hb-inner .hb-text {
    font-size: 17px;
  }
}

/****** Call to actions ***************/

.cta-inline-container {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}
.cta-inline-container h2 {
  color: #23192d;
  margin-bottom: 20px;
  font-weight: 500;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .cta-inline-container {
    display: flex;
    max-width: 600px;
    align-items: center;
  }
  .cta-inline-container .right {
    flex: 0 1 auto;
  }
  .cta-inline-container .left {
    flex: 1;
    padding-right: 30px;
  }
  .cta-inline-container h2 {
    margin-bottom: 0;
  }
}
@media (min-width: 1024px) {
  .cta-inline-container {
    max-width: 800px;
  }
  .cta-inline-container .left {
    flex: 1;
    padding-right: 30px;
  }
  .cta-inline-container h2 {
    margin-bottom: 0;
  }
}

@media (min-width: 1280px) {
  .cta-inline-container {
    max-width: 930px;
  }
  .cta-inline-container h2 {
    font-size: 27px;
  }
  .cta-inline-container .button {
    font-size: 19px;
  }
}

/**** Program long boxes ******************/

.programs-boxes-long {
  box-shadow: 0 0 25px #ddd;
  margin-bottom: 40px;
}
.programs-boxes-long .right {
  padding: 25px;
}
.programs-boxes-long .right p {
  margin: 0;
}
.programs-boxes-long .button-holder {
  margin-top: 15px;
}
@media (min-width: 600px) {
  .programs-boxes-long-container .view-content {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 30px;
  }
  .programs-boxes-long {
    margin-bottom: 0;
  }
}
@media (min-width: 900px) {
  .programs-boxes-long-container .view-content {
    display: block;
  }
  .programs-boxes-long {
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .programs-boxes-long .left {
    flex: 0 1 200px;
  }
  .programs-boxes-long .left img {
    display: block;
  }
  .programs-boxes-long .right {
    flex: 1;
    padding: 0 30px;
  }
}
@media (min-width: 1024px) {
  .programs-boxes-long .left {
    flex: 0 1 230px;
  }
}
@media (min-width: 1280px) {
  .programs-boxes-long .left {
    flex: 0 1 280px;
  }
  .programs-boxes-long .right {
    padding: 0 50px;
  }
}


/**** Latest events TCS feed slide ********/
.tcs-events-slide-container {
  max-width: 390px;
  margin-left: auto;
  margin-right: auto;
}
.tcs-events-slide-container .slick-track {
  display: flex !important;
}
.tcs-events-slide-container .slick__slide {
  background: #ffffff;
  height: inherit !important;
  display: flex;
  padding: 20px;
}
.tcs-events-slide-container .tcs-rss-box {
  height: inherit !important;
  box-shadow: 0 0 20px #ddd;
  background-color: #fff;

}
.tcs-rss-box .rss-top {
  position: relative;
}
.tcs-rss-box .rss-date {
  color: #23192d;
  margin-bottom: 10px;
  font-size: 12px;
  text-transform: uppercase;
}
.tcs-rss-box .rss-top-cat {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #5f679d;
  color: #fff;
  padding: 2px 10px;
  font-size: 13px;
}
.tcs-rss-box .rss-bottom {
  padding: 25px;
}
.tcs-rss-box h3 {
  font-weight: 500;
  margin-bottom: 8px;
}
.tcs-rss-box .button {
  background-color: #594a71;
  font-size: 13px;
  padding: 7px 15px;
}
.tcs-rss-box .rss-bottom p {
  font-size: 14px;
}

@media (min-width: 768px) {
  .tcs-events-slide-container {
    max-width: 750px;
  }
}

@media (min-width: 1280px) {
  .tcs-events-slide-container {
   max-width: none;
  }
  .tcs-events-slide-container .view-header {
    margin-bottom: 40px;
  }
  .tcs-rss-box .rss-date {
    font-size: 13px;
  }
  .tcs-rss-box .rss-bottom p {
    font-size: 15px;
    margin-bottom: 20px;
  }
}


/************* Program pages ***************************/
#program-pages-bullets .bullet-item {
  padding-left: 15px;
  position: relative;
}
#program-pages-bullets .bullet-item::before {
  background: #fff;
  display: inline-block;
  border-radius: 10px;
  width: 8px;
  height: 8px;
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
}

@media (min-width: 1280px) {
  #program-pages-bullets .bullet-item {
    font-size: 19px;
    padding-left: 20px;
  }
  #program-pages-bullets .bullet-item::before {
    top: 11px;
    
  }
}

/*************** Digital badge instruction pages *******************/
/* Page top section */
.badge-inst-page-top {
  margin-bottom: 40px;
}
.badge-inst-page-top .left {
  margin-bottom: 40px;
  text-align: center;
}
.badge-inst-page-top .main-img {
  max-width: 350px;
  margin: 0 auto 15px auto;
}
.badge-inst-page-top .first {
  text-align: center;
  margin-bottom: 40px;
}
.badge-inst-page-link-copy #l1 {
  background: #faf9f9;
  padding: 20px;
  line-height: 1.5;
  color: #594a71;
  font-weight: 500;
  font-style: italic;
  text-align: center;
  word-wrap: break-word;
  font-size: 15px;
}
.badge-inst-page-link-copy .button {
  border-radius: 0;
  width: 100%;
  background-color: #594a71;
}
.badge-inst-page-link-copy .button::after {
  display: none;
}

/* Page instructions table */

.badge-inst-page-table .copy-hide {
  display: none !important;
}
.badge-inst-page-table .table-head {
  display: none;
}
.badge-inst-page-table .table-row {
  margin-bottom: 20px;
}
.badge-inst-page-table .table-row .cell {
  background: #f7f4fc;
  padding: 10px;
  text-align: center;
}
.badge-inst-page-table .table-row.even .cell {
  background-color: #f7f4fc;
}
.badge-inst-page-table .table-row .button {
  padding: 10px 0;
  width: 250px;
  max-width: 100%;
  text-align: center;
}
.badge-inst-page-table .table-row .one {
  padding: 20px 10px 0 10px;
  line-height: 1.5;
  font-weight: 700;
  color: #594a71;
  font-size: 16px;
  text-align: center;
}
.badge-inst-page-table .table-row .two {
  color: #594a71;
  text-align: center;
  line-height: 1.6;
}
.badge-inst-page-table .table-row .three,
.badge-inst-page-table .table-row .four,
.badge-inst-page-table .table-row .five {
  padding: 2px 10px;
}
.badge-inst-page-table .table-row .five {
  padding-bottom: 20px;
}


@media (min-width: 550px) {
  .badge-inst-page-table .table-row .cell {
    padding-left: 20px;
    padding-right: 40px;
  }
}
@media (min-width: 769px) {
  .badge-inst-page-top {
    margin-bottom: 40px;
  }
  .badge-inst-page-top .left {
    margin-bottom: 0;
  }
  .badge-inst-page-top .main-img {
    width: 100%;
  }
  .badge-inst-page-table .table-head {
    display: flex;
    margin-bottom: 2px;
  }
  .badge-inst-page-table .table-head .cell {
    background: #594a71;
    color: #ffffff;
    margin-right: 2px;
    padding: 10px;
  }
  .badge-inst-page-table .table-head .cell.five {
    margin-right: 0;
  }
  .badge-inst-page-table .table-head label {
    color: #ffffff;
    line-height: 1.3;
    margin: 0;
  }
  .badge-inst-page-table .table-row {
    display: flex;
    max-width: 100%;
    margin-bottom: 2px;
    justify-content: stretch;
  }
  .badge-inst-page-table .table-row .cell {
    padding: 10px;
  }
  .badge-inst-page-table .table-head .one,
  .badge-inst-page-table .table-row .one {
    flex-basis: 15%;
    margin-right: 2px;
  }
  .badge-inst-page-table .table-head .two,
  .badge-inst-page-table .table-row .two {
    flex-basis: 30%;
    margin-right: 2px;
  }
  .badge-inst-page-table .table-head .three,
  .badge-inst-page-table .table-row .three {
    flex-basis: 20%;
    margin-right: 2px;
  }
  .badge-inst-page-table .table-head .four,
  .badge-inst-page-table .table-row .four {
    flex-basis: 20%;
    margin-right: 2px;
  }
  .badge-inst-page-table .table-head .five,
  .badge-inst-page-table .table-row .five {
    flex-basis: 20%;
  }
  .badge-inst-page-table .table-row .one {
    font-size: 15px;
    line-height: 1.2;
    text-align: left;
  }
  .badge-inst-page-table .table-row .two {
    text-align: left;
    font-size: 13px;
  }
  .badge-inst-page-table .table-row .button {
    width: 100%;
    font-size: 10px;
  }
  .badge-inst-page-table .table-row .button::after {
    display: none;
  }
}

@media (min-width: 993px) {
  .badge-inst-page-link-copy #l1 {
    font-size: 17px;
  }
  .badge-inst-page-link-copy .button {
    border-radius: 0;
    width: 100%;
  }
  .badge-inst-page-table .table-row .one {
    font-size: 16px;
  }
  .badge-inst-page-table .table-row .two {
    text-align: left;
    font-size: 14px;
  }
}
@media (min-width: 1091px) {
  .badge-inst-page-top {
    margin-bottom: 60px;
  }
}
@media (min-width: 1280px) {
  .badge-inst-page-top {
    margin-bottom: 100px;
  }
  .badge-inst-page-link-copy #l1 {
    font-size: 20px;
  }
  .badge-inst-page-table .table-head label {
    font-size: 18px;
    font-weight: 500;
  }
  .badge-inst-page-table .table-row .cell {
    padding: 20px;
    align-self: stretch;
  }
  .badge-inst-page-table .table-row .one .cell.one {
  }
  .badge-inst-page-table .table-row .one {
    font-size: 18px;
  }
  .badge-inst-page-table .table-head .cell {
    padding: 30px;
  }
  .badge-inst-page-table .table-row .two {
    font-size: 16px;
  }
  .badge-inst-page-table .table-row .button {
    font-size: 13px;
    width: 160px;
    padding: 13px 0;
  }
  .badge-inst-page-table .table-row .button::after {
    display: inline-block;
  }
}


/********************************** Individual pages ***********************************************/

/********************************** Homepage **********************************/
.path-frontpage #top-no-wrap .region {
  background-position: center;
}
.path-frontpage #top-no-wrap .banner-inner {
  padding: 120px 0 90px;
  width: auto;
}
.path-frontpage #top-no-wrap h1 {
  font-size: 28px;
}
.path-frontpage #top-no-wrap p {
  font-size: 16px;
  margin-left: auto;
  margin-right: auto;
}
#home-top-cols .block-inline-blockvideo {
  box-shadow: 0 9px 38px #ddd;
  margin-bottom: 30px;
}
#home-top-cols .block-inline-blockvideo img {
  display: block;
}
#home-healthy {
  background: transparent url('/sites/default/files/images/template/home-healthy-background.jpg') no-repeat 0 0 / cover;
}
#home-healthy .block-inline-blockbasic {
    max-width: 450px;
  margin-right: auto;
  margin-left: auto;
  }
#home-healthy h2 {
  margin-bottom: 10px;
  font-size: 20px;
}
#home-healthy p {
  font-weight: 500;
}
#home-healthy .button {
  font-size: 15px;
}

@media (min-width: 768px) {
   .path-frontpage #top-no-wrap .banner-inner {
    padding: 140px 0 120px 0;
  }
  .path-frontpage #top-no-wrap h1 {
    font-size: 32px;
  }
.path-frontpage #top-no-wrap p {
    font-size: 17px;
    max-width: 700px;
  }
  #home-top-cols .block-inline-blockvideo {
    margin-bottom: 0;
  }
  #home-heading .width-80 {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  #home-healthy .block-inline-blockbasic {
    max-width: 450px;
  }
  #home-healthy h2 {
    font-size: 22px;
  }
  #home-healthy p {
    font-size: 16px;
  }
}

@media (min-width: 1024px) {
  .path-frontpage #top-no-wrap .banner-inner {
    padding: 140px 0 120px 0;
  }
  .path-frontpage #top-no-wrap h1 {
    font-size: 36px;
  }
  .path-frontpage #top-no-wrap p {
    font-size: 18px;
    max-width: 700px;
  }
  #home-healthy .block-inline-blockbasic {
    max-width: 900px;
  }
  #home-healthy h2 {
    font-size: 24px;
  }
  #home-healthy p {
    font-size: 17px;
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
  }
}

@media (min-width: 1280px) {
  .path-frontpage #top-no-wrap .banner-inner {
    padding: 200px 0 170px 0;
  }
  .path-frontpage #top-no-wrap h1 {
    font-size: 44px;
  }
.path-frontpage #top-no-wrap p {
    font-size: 20px;
    max-width: 800px;
  }
  #home-healthy .block-inline-blockbasic {
    max-width: 1100px;
  }
  #home-healthy h2 {
    font-size: 30px;
    margin-bottom: 15px;
  }
  #home-healthy p {
    font-size: 20px;
    max-width: 900px;
  }
  #home-healthy .button {
    font-size: 17px;
  }
}

@media (min-width: 1500px) {
  .path-frontpage #top-no-wrap .banner-inner {
    padding: 220px 0 190px 0;
  }
  .path-frontpage #top-no-wrap h1 {
    font-size: 56px;
  }
.path-frontpage #top-no-wrap p {
    font-size: 24px;
    max-width: 900px;
  }
}


/********* ChangeFit main page *********/
.culture-me-we-us .item {
  margin-bottom: 10px;
  color: #ffffff;
  display: flex;
  padding: 20px;
  align-items: center;
}
.culture-me-we-us .item .left {
  flex: 0 1 80px;
}
.culture-me-we-us .item .right {
  flex: 1;
  padding-left: 20px;
}
.culture-me-we-us .item h3 {
  color: #ffffff;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 5px;
}
.culture-me-we-us .item p {
  margin-bottom: 0;
  line-height: 1.7;
}
#changefit-about-culture-points .item h3 {
  font-weight: 500;
  text-align: center;
}

@media (min-width: 1280px) {
  .culture-me-we-us .item {
    padding: 25px;
  }
}

/********* Contact page ******************/
#contact-page-top .block-inline-blockbasic a {
  font-weight: 700;
  color: #f07d38;
}
#contact-page-top .block-webform {
  margin-top: 40px;
  box-shadow: 0 0 20px #ddd;
  padding: 25px;
}
#contact-page-top h2 {
  width: 940px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.contact-page-dets {
  margin-top: 60px;
}
.contact-page-dets .contact-page-dets-intro {
  margin-bottom: 20px;
  margin-top: 10px;
}
.contact-page-dets img {
  max-width: 250px;
}
.contact-page-dets p {
  position: relative;
  padding-left: 25px;
  color: #333333;
  font-size: 16px;
}
.contact-page-dets p i {
  position: absolute;
  top: 7px;
  left: 0;
}
.contact-page-dets-socials {
  margin-top: 10px;
  margin-bottom: 30px;
}
.contact-page-dets .socials-label {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  line-height: 1;
}
.contact-page-dets .socials-icons {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.contact-page-dets .socials-icons a {
  display: inline-block;
  margin-right: 10px;
  font-size: 30px;
}
.contact-page-dets .socials-icons i {
  font-size: 20px;
}

@media (min-width: 1280px) {
  #contact-page-top .block-webform {
    padding: 60px;
    margin-top: 70px;
  }
}

/*** Front end user stuff ***/
.user-login-form {
  width: 1200px;
  max-width: 80%;
  margin: 0 auto;
}

/* Admin stuff */
.layout-builder-form #edit-actions {
  margin-bottom: 20px;
}
.layout-builder-form #edit-actions input {
  display: inline;
}
.layout-builder-form #edit-preview-toggle {
  margin-top: 30px;
}
.layout-builder-form .form-type-vertical-tabs {
  margin-bottom: 30px;
}
.tabs ul.primary {
  border-bottom: 1px solid #bbb;
  border-collapse: collapse;
  height: auto;
  line-height: normal;
  list-style: outside none none;
  margin: 5px 5px 40px 0px;
  padding: 0;
  white-space: nowrap;
  font-size: 15px;
}
#drupal-off-canvas-wrapper {
  width: 1200px !important;
}
.region-system-blocks {
	margin-top: 40px;
}
nav.tabs,
article.profile,
.path-user .block-system-main-block,
.layout-builder-form,
.layout-builder-discard-changes,
#layout-builder-revert-overrides {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto 0 auto;
}
.path-user .block-system-main-block,
.layout-builder-discard-changes {
  margin-bottom: 100px;
}
.page-node-type-article nav.tabs {
  width: 900px;
  margin-top: 50px;
}
.layout-builder-discard-changes #edit-actions,
#layout-builder-revert-overrides #edit-actions {
  margin-top: 30px;
}
.layout-builder .mob-show {
  display: block;
}
.layout-builder .mob-hide {
  display: block;
}
.layout-builder .small-mob-hide,
.layout-builder .inline-small-mob-hide {
  display: block;
}
.layout-builder .tab-show {
  display: block;
}
.layout-builder .med-tab-show {
  display: block;
}
@media (min-width: 900px) {
  .layout-builder .tab-med-show {
    display: none;
  }
}
@media (min-width: 1280px) {
  .layout-builder .desk-hide {
    display: block;
  }
}

/*********** Webform Organisational Change Asessment *****************/

#surveyresults-top .flex-container.cols2 {
  flex-direction:column;
}

#surveyresults-top .last .block-webform {
  box-shadow: 0 9px 38px #ddd;
  padding: 40px;
  position: sticky;
  top: 40px;
}
#surveyresults-top .last .block-webform h2 {
  font-size: 20px;
  margin-bottom: 15px;
}
#webform-submission-org-change-form-node-136-add-form .form-type-processed-text p {
  color: #333;
  font-weight: 500;
  margin-bottom: 5px;
}
#webform-submission-org-change-form-node-136-add-form label {
  color: #333;
  margin-bottom: 3px;
}
.block-views-blockwebform-submissions-custom-block-2 {
  margin-top: 40px;
}
.webform-orgchange-results-table {
  margin-top: 40px;
  box-shadow: 0 9px 38px #ddd;
  padding: 25px
}
.webform-orgchange-results-table .header {
  background: #594a71;
  color: #fff;
  font-weight: 700;
  display: none;
}
.webform-orgchange-results-table .results {
  color: #111;
  margin-bottom: 20px;
}
.webform-orgchange-results-table .data,
.webform-orgchange-results-table .name {
  padding: 5px 10px;
}
.webform-orgchange-results-table .results .cell1 {
  font-weight: 700;
  background: #594a71;
  color: #ffffff;
}
.webform-orgchange-results-table .results .cell2 {
  padding-bottom: 0;
  font-weight: 700;
}
@media (min-width: 600px) {
  .webform-orgchange-results-table .header,
  .webform-orgchange-results-table .results {
    display: flex;
    flex-wrap: wrap;
  }
  .webform-orgchange-results-table .cell1 {
    flex: 0 0 140px;
  }
  .webform-orgchange-results-table .cell2 {
    flex: 0 0 180px;
  }
  .webform-orgchange-results-table .cell3 {
    flex: 1;
  }
  .webform-orgchange-results-table .cell1,
  .webform-orgchange-results-table .cell2 {
    border-right: 3px solid #fff;
  }
  .webform-orgchange-results-table .results.even {
    background: #f7f4fc;
  }
  .webform-orgchange-results-table .results .cell2 {
    padding-bottom: 10px;
    font-weight: 400;
  }
  .webform-orgchange-results-table .data,
  .webform-orgchange-results-table .name {
    padding: 10px;
  }
  .webform-orgchange-results-table .results .cell1 {
    background: none;
    color: #5b5757;
  }
}

@media (min-width:1280px) {
  #surveyresults-top .flex-container.cols2 {
    flex-direction:row;
  }
  .webform-orgchange-results-table {
    font-size: 15px;
  }
  .webform-orgchange-results-table .results {
    margin: 0;
  }
  #surveyresults-top .last .block-webform h2 {
    font-size: 22px;
  }
  #webform-submission-org-change-form-node-136-add-form .webform-flexbox {
    flex-direction: column;
    margin: 0;
  }
  #webform-submission-org-change-form-node-136-add-form .webform-flex--container {
    margin: 0;
  }
  #webform-submission-org-change-form-node-136-add-form .webform-flex--container > .form-item {
    margin-bottom: 10px;
  }
  #webform-submission-org-change-form-node-136-add-form .form-type-processed-text p,
  #webform-submission-org-change-form-node-136-add-form label {
    font-size: 14px;
  }
  #webform-submission-org-change-form-node-136-add-form input[type="text"],
  #webform-submission-org-change-form-node-136-add-form input[type="email"] {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  #webform-submission-org-change-form-node-136-add-form .form-submit {
    width: 100%;
    margin-top: 10px;
  }
}

/************** Feature boxes for half-page column areas *******************/
#fb-book-tcs .flex-container {
  align-items: stretch;
}
.fb-outer {
  border-radius: 10px;
  overflow: hidden;
}
.fb-outer .fb-hero {
  position: relative;
  padding: 40px 40px 0 40px;
}
.fb-outer .fb-inner {
  position: relative;
  padding: 30px 40px 40px 40px;
}
.fb-outer .button {
  width: 100%;
}
#featurebox-book {
  background: url("/sites/default/files/images/noncms-images/bg-blue-grad.jpg") center bottom / cover no-repeat;
  position: relative;
}
#featurebox-book h3 {
  color: #fff;
  font-size: 20px;
  margin-bottom: 30px;
}
#featurebox-book .fb-hero img {
  width: 200px;
  max-width: 100%;
  margin-bottom: -30px; 
  z-index: 99;
  position: relative;
}
#featurebox-book .fb-hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 60px;
  background: url("/sites/default/files/images/noncms-images/bg-wave-bluepale.svg") center bottom / cover no-repeat;
}
#featurebox-book .fb-inner {
  background: #ebedfa;
}
#featurebox-book .fb-inner p {
  color: #393f76;
  font-weight: 500;
}
#featurebox-book .fb-inner p strong {
  font-weight: 700;
}
#featurebox-book .fb-inner .button {
  background: #393f76;
}
#featurebox-tcs {
  background: url("/sites/default/files/images/noncms-images/bg-purple-grad.jpg") center bottom / cover no-repeat;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1;
}
#featurebox-tcs h3 {
  color: #fff;
  font-size: 20px;
}
#featurebox-tcs .fb-yellow {
  color: #ffee9c;
}
#featurebox-tcs p {
  font-weight: 500;
}
#featurebox-tcs strong {
  font-weight: 700;
}
#featurebox-tcs .button {
 background: #feb03b;
}

/******* Webform bar graph *********/

@media (max-width: 640px) {

  /* Stack everything */
  .cf-chart {
    flex-direction: column;
    gap: 16px;
  }

  /* Hide vertical Y-axis label on mobile */
  .cf-y-axis-label {
    display: none;
  }

  /* Remove chart axes */
  .cf-vchart {
    height: auto;
    border-left: none;
    border-bottom: none;
    padding: 0;
    flex-direction: column;
    gap: 12px;
  }

  /* Each column becomes a row */
  .cf-col {
    flex-direction: row;
    align-items: center;
    height: auto;
    gap: 10px;
  }

  /* Dimension label on the left */
  .cf-xlab {
    width: 40%;
    text-align: left;
    font-size: 13px;
  }

  /* Horizontal bar track */
  .cf-vbar {
    width: 60%;
    height: 14px;
  }

  /* Bar fill grows horizontally instead of vertically */
  .cf-vbar::before {
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
    height: 100%;
    width: 0;
  }

  /* Score → width (1–5) */
  .score-1::before { width: 20%; }
  .score-2::before { width: 40%; }
  .score-3::before { width: 60%; }
  .score-4::before { width: 80%; }
  .score-5::before { width: 100%; }

  /* Hide bottom axis label on mobile */
  .cf-x-axis-label {
    display: none;
  }
}
.cf-vchart-container {
  box-shadow: 0 9px 38px #ddd;
  padding: 25px 25px 15px 10px;
}
.cf-chart {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.cf-y-axis-label {
  width: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 13px;
  color: #111;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  line-height: 1;
}

.cf-plot {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cf-vchart {
  height: 340px;
  padding:0 0 10px 12px;
  border-left: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;

  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.cf-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  height: 100%;
}

.cf-vbar {
  position: relative;
  height: 100%;
  background: #e9eef2;
  border-radius: 0;
  overflow: hidden;
}

.cf-vbar::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  border-radius: 0;
}

.cf-xlab {
  text-align: center;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  color: #111;
}

.cf-x-axis-label {
  text-align: center;
  font-weight: 600;
  font-size: 13px;
  color: #111;
}

.score-1::before { height: 20%; }
.score-2::before { height: 40%; }
.score-3::before { height: 60%; }
.score-4::before { height: 80%; }
.score-5::before { height: 100%; }

.cf-bg1::before { background: #5E6B9A; }
.cf-bg2::before { background: #6A6F93; }
.cf-bg3::before { background: #7A6E8A; }
.cf-bg4::before { background: #8A6C7A; }
.cf-bg5::before { background: #9B6A63; }
.cf-bg6::before { background: #B46A45; }
.cf-bg7::before { background: #D07A3C; }

@media print {
  .cf-chart,
  .cf-vchart,
  .cf-col {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}
