/*******************************************************************************
*
* Main styles for the front end of the website
*
*******************************************************************************/

/* CSS Reset */
aside, article, section, header, footer, nav {
  display: block;
}

html, body {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  overflow-x: clip;
}


* {
  font-family: "Helvetica Neue", sans-serif;
}

/* Content positioning */
@media only screen and (min-width: 769px) {
  .content_block {
    padding: 0px 12% 0px;
  }
  .top_content_block {
    padding: 120px 12% 60px;
  }
  .middle_content_block {
    padding: 60px 12%;
  }
  .bottom_content_block {
    padding: 60px 12% 120px;
  }
  .tight_top_content_block {
    padding: 60px 12% 40px;
  }
  .tight_middle_content_block {
    padding: 40px 12%;
  }
  .tight_bottom_content_block {
    padding: 40px 12% 60px;
  }
}
@media only screen and (max-width: 768px) {
  .content_block {
    padding: 0px 4% 0px;
  }
  .top_content_block {
    padding: 60px 4% 30px;
  }
  .middle_content_block {
    padding: 30px 4%;
  }
  .bottom_content_block {
    padding: 30px 4% 60px;
  }
  .tight_top_content_block {
    padding: 48px 12% 24px;
  }
  .tight_middle_content_block {
    padding: 24px 12%;
  }
  .tight_bottom_content_block {
    padding: 24px 12% 48px;
  }
}
.content_block {
  position: relative;
  box-sizing: border-box;
  width: 100%;
}
.small_content_block {
  padding: 75px 12%;
}
.left_pad_content {
  box-sizing: border-box;
  padding-left: 8%;
  padding-top: 30px;
}
.middle_content_block h1, .middle_content_block h2, .middle_content_block h3 {
  color: #054280;
}
.middle_content_block p {
  color: #061C33;
}

/* Content ordering */
@media only screen and (max-width: 1200px) {
  .flex_below_1200 {
    display: flex;
    flex-flow: column;
  }
  .flex_row_below_1200 {
    display: flex;
    flex-flow: row;
  }
}
@media only screen and (max-width: 768px) {
  .flex_below_768 {
    display: flex;
    flex-flow: column;
  }
}
@media only screen and (max-width: 425px) {
  .flex_below_425 {
    display: flex;
    flex-flow: column;
  }
}
.flex_element_1 {
  order: 1;
}
.flex_element_2 {
  order: 2;
}
.flex_element_3 {
  order: 3;
}
.flex_element_4 {
  order: 4;
}


/*  Relative positioning  */
.relative {
  position: relative;
}


/* Header styles.
   These may be used as mid sections in pages as well as the top of the page */
@media only screen and (min-width: 1901px) {
  .background_bubble {
    right: -500px;
  }
  .header_section_blue .right_image {
    right: -150px;
  }
  .header_section_blue .overlapping_image {
    right: 0px;
  }
}
@media only screen and (min-width: 1501px) and (max-width: 1900px) {
  .background_bubble {
    right: calc(100% - 2400px);
  }
  .header_section_blue .right_image {
    right: calc(100% - 2050px);
  }
  .header_section_blue .overlapping_image {
    right: calc(100% - 1900px);
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1500px) {
  .background_bubble {
    right: -900px;
  }
  .header_section_blue .right_image {
    right: -550px;
  }
  .header_section_blue .overlapping_image {
    right: -400px;
  }
}
@media only screen and (min-width: 1601px) {
  .left_side_with_padding_1600 {
    padding-right: 6% !important;
    width: 50%;
    display: inline-block;
  }
  .right_side_1600 {
    width: 50%;
    display: inline-block;
    padding: 71px 0px 60px 0px;
  }
}
@media only screen and (max-width: 1600px) {
  .left_side_with_padding_1600 {
    text-align: center;
    width: 100%;
  }
  .right_side_1600 {
    text-align: center;
    width: 100%;
    padding-bottom: 60px;
  }
}
@media only screen and (min-width: 1201px) {
  .left_side_58 {
    width: 58%;
  }
  .left_side_50 {
    width: 50%;
  }
  .right_side {
    padding: 71px 0px 60px 0px;
  }
  .header_section_blue .right_image {
    position: absolute;
    top: 71px;
  }
  .header_section_blue .overlapping_image {
    position: absolute;
    top: 0px;
  }
  .right_image .play_overlay, .overlapping_image .play_overlay {
    position: absolute;
    color: white;
    left: 132px;
    top: 600px;
    text-shadow: -2px 2px black;
  }
  .right_image .logo_overlay {
    position: absolute;
    left: 100px;
    top: 100px;
  }
  .right_image .logo_overlay img {
    max-width: 100px;
  }
  .header_section h2 {
    font-size: 54px;
    line-height: 60px;
  }
}
@media only screen and (max-width: 1200px) {
  .left_side_58 {
    width: 100%;
    text-align: center;
  }
  .left_side_50 {
    width: 100%;
    text-align: center;
  }
  .header_section_blue .centered_right_image img {
    width: 100%;
    display: block;
  }
  .centered_right_image {
    display: block;
    position: absolute;
    right: 0;
    top: 0px;
  }
  .right_aligned_image {
    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    max-width: 90%;
  }
  .right_image .play_overlay {
    position: absolute;
    color: white;
    left: 15%;
    bottom: 20%;
  }
  .right_image .play_overlay span {
    text-shadow: -2px 2px black;
  }
  .right_image .logo_overlay {
    position: absolute;
    left: 10%;
    top: 12%;
    max-width: 10%;
  }
  .right_image_spacer {
    position: relative;
    width: 100%;
    padding-top: 50%;
  }
  .right_image_bottom_spacer_small {
    width: 100%;
    padding-top: 15%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .header_section h2 {
    font-size: 44px;
    line-height: 50px;
  }
  .right_image_bottom_spacer {
    width: 100%;
    padding-top: 20%;
  }
}
@media only screen and (min-width: 769px) {
  .header_section {
    padding: 0px 12%;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .header_section h2 {
    font-size: 40px;
    line-height: 40px;
  }
}
@media only screen and (max-width: 768px) {
  .header_section {
    padding: 0px 4%;
  }
  .right_image_bottom_spacer {
    width: 100%;
    padding-top: 25%;
  }
}
@media only screen and (min-width: 426px) {
  .left_side, .left_side_with_padding_1600 {
    padding: 61px 0px 60px 0px;
  }
  .large_button_gap {
    margin-right: 40px !important;
  }
  .button_gap {
    margin-right: 20px;
  }
  .header_section .image_band {
    height: 32px;
  }
  .header_section .image_band img {
    height: 32px;
    margin-right: 40px;
  }
  .transparent_box {
    height: 42px;
  }
  .text_only_header_section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 425px) {
  .header_section h2 {
    font-size: 30px;
    line-height: 30px;
  }
  .left_side, .left_side_with_padding_1600 {
    padding: 40px 0px 30px 0px;
  }
  .large_button_gap {
    margin-right: 20px !important;
  }
  .button_gap {
    margin-right: 10px;
  }
  .header_section .image_band {
    height: 16px;
  }
  .header_section .image_band img {
    margin-right: 20px;
    height: 16px;
  }
  .transparent_box {
    height: 40px;
  }
  .transparent_box img {
    height: 16px;
  }
  .text_only_header_section {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
@media only screen and (min-width: 1601px) {
  .white_header_section .right_image {
    right: 0px;
  }
  .indented_right_image {
    top: 71px;
    right: 100px;
  }
}
@media only screen and (max-width: 1600px) {
  .white_header_section .right_image {
    top: 71px;
    right: calc(100% - 1600px);
  }
}
@media only screen and (min-width: 1201px) and (max-width: 1600px) {
  .indented_right_image {
    top: 71px;
    right: calc(100% - 1500px);
  }
}
.header_section {
  position: relative;
  box-sizing: border-box;
  width: 100%;
}
.header_section > * {
  z-index: 3;
}
.header_section_blue {
  position: relative;
  background-color: #054280;
  color: white;
  margin-top: -2px;
  z-index: 1;
}
.header_section_grey {
  position: relative;
  background-color: #2b2b2b;
  color: #ffffff;
  margin-top: -2px;
  z-index: 1;
}
.header_light_blue {
  position: relative;
  background-color: #EFF6FF;
  margin-top: -2px;
  z-index: 1;
}
.header_light_blue h1{
  color: #054280;
}
.header_section_blue a {
  color: white;
}
.header_section_dark_blue {
  position: relative;
  background-color: #061C33;
  color: white;
  margin-top: -2px;
  z-index: 1;
}
.header_section_dark_blue iframe {
  background-color: white;
}
.white_header_section {
  overflow: hidden;
}
.left_side, .left_side_with_padding_1600 {
  position: relative;
  box-sizing: border-box;
  z-index: 3;
  vertical-align: top;
}
.right_side_1600 {
  box-sizing: border-box;
}
.header_section h2 {
  margin: 0px 0px 20px;
  font-weight: bold;
  letter-spacing: -1.5px;
}
.header_section .transparent_box {
  display: inline-block;
  border-radius: 6px;
  background-color: rgba(255, 255, 255, 0.1);
  box-sizing: border-box;
  padding: 10px 20px;
}
.header_section .transparent_box * {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
}
.indented_right_image {
  position: absolute;
}
.white_header_section .right_image {
  position: absolute;
  bottom: -100px;
}
.right_image .play_overlay * {
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}
.right_image, .overlapping_image {
  z-index: 2;
}
.background_bubble {
  position: absolute;
  top: -500px;
  height: 1600px;
  width: 1600px;
  border-radius: 2000px;
  background-color: #1B538B;
  z-index: 2;
}
.header_quote {
  position: relative;
}
@media only screen and (min-width: 769px) {
  .header_quote_background {
    left: -90px;
  }
}
@media only screen and (max-width: 768px) {
  .header_quote_background {
    left: 0px;
  }
}
.header_quote_background {
  position: absolute;
  top: 0px;
  z-index: -1;
  max-width: 30%;
  opacity: 0.1;
}


/* Vertical Centering */
.vertical_center_container {
  position: relative;
  display: block;
}
.vertical_center {
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* Large buttons */
@media only screen and (min-width: 1201px) {
  .flexi_button {
    padding: 24px 45px;
    border-radius: 37.5px;
  }
  .flexi_button span {
    height: 28px;
    line-height: 28px;
    font-size: 20px;
    letter-spacing: -0.5px;
  }
}
@media only screen and (max-width: 1200px) and (min-width: 426px) {
  .flexi_button {
    padding: 16px 32px;
    border-radius: 37.5px;
  }
  .flexi_button span {
    height: 20px;
    line-height: 20px;
    font-size: 16px;
    letter-spacing: -0.5px;
  }
}
@media only screen and (max-width: 425px) {
  .flexi_button {
    padding: 10px 20px;
    border-radius: 37.5px;
  }
  .flexi_button span {
    height: 15px;
    line-height: 15px;
    font-size: 12px;
    letter-spacing: -0.5px;
  }
}

@media only screen and (min-width: 769px) {
  .round_button {
    padding: 24px;
  }
  .button_group p {
    height: 28px;
    line-height: 28px;
    font-size: 20px;
  }
  .round_button img {
    height: 28px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .round_button {
    padding: 16px;
  }
  .button_group p {
    height: 20px;
    line-height: 20px;
    font-size: 20px;
  }
  .round_button img {
    height: 20px;
  }
}
@media only screen and (max-width: 425px) {
  .round_button {
    padding: 10px;
  }
  .button_group p {
    height: 14px;
    line-height: 14px;
    font-size: 14px;
  }
  .round_button img {
    height: 14px;
  }
}

.flexi_button {
  display: inline-block;
  text-decoration: none;
}
.flexi_button span {
  font-weight: bold;
  white-space: nowrap;
}
.round_button {
  display: inline-block;
  text-decoration: none;
}
.round_button {
  border-radius: 37.5px;
}
.flexi_button:hover, .round_button:hover {
  cursor: pointer;
}
.blue_button,
.orange_button,
.white_button {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  z-index: 0;
}
.orange_button {
  background-color: #FFAB5A;
  color: white;
}
.blue_button {
  color: #0051CC;
  border: 3px solid #0051CC;
}
.white_button {
  color: white;
  border: 3px solid white;
}
/*  Button Pseudo Selectors */
.blue_button:before,
.orange_button:before,
.white_button:before {
  content: '';
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 120%;
  height: 0;
  transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  z-index: -1;
}
.blue_button:before {
  background: #0051CC;
}
.orange_button:before {
  background: #0051CC;
}
.white_button:before {
  background: #FFAB5A;
}

/*  Button Hover  */
.blue_button:hover {
  color: white;
}
.white_button:hover {
  border-color: #FFAB5A;
}

.blue_button:hover:before,
.orange_button:hover:before,
.white_button:hover:before {
  bottom: auto;
  top: 0;
  width: 100%;
  height: 100%; 
}
.dark_button {
  color: white;
  background-color: #061C33;
}
.button_group * {
  vertical-align: middle;
}


/* Heading styles */
h1, h2, h3 {
  margin-top: 0px;
}
.text_heading {
  font-size: 48px;
  line-height: 52px;
  color: #2b2b2b;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.text_heading_2 {
  font-size: 28px;
  line-height: 34px;
  color: #054280;
  font-weight: 700;
}
.text_heading_3 {
  font-size: 21px;
  line-height: 26px;
  color: #054280;
  font-weight: 700;
}
.text_heading_4 {
  font-size: 17px;
  line-height: 22px;
  color: #054280;
  font-weight: 700;
}
h3 {
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .text_heading {
    font-size: 28px;
    line-height: 32px;
  }
  .text_heading_2 {
    font-size: 22px;
    line-height: 29px;
  }
  .text_heading_3 {
    font-size: 17px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 425px) {
  .text_heading {
    font-size: 22px;
    line-height: 29px;
  }
  .text_heading_2 {
    font-size: 18px;
    line-height: 26px;
  }
  .text_heading_3, .text_heading_4 {
    font-size: 15px;
    line-height: 24px;
  }
}

/* Text styles */
.content_block h1 {
  font-weight: bold;
  letter-spacing: -1.5px;
  margin: 10px 0px 10px;
}
.content_block h3 {
  margin: 15px 0px;
  font-weight: bold;
  letter-spacing: -0.7px;
}
@media only screen and (min-width: 1201px) {
  .text_72 {
    font-size: 72px;
    line-height: 72px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .text_72 {
    font-size: 64px;
    line-height: 64px;
  }
}
@media only screen and (min-width: 769px) {
  .content_block h1 {
    font-size: 54px;
    line-height: 60px;
  }
  .content_block h3 {
    font-size: 24px;
    line-height: 28px;
  }
  .text_68 {
    font-size: 68px;
    line-height: 60px;
  }
  .text_42 {
    font-size: 42px;
    line-height: 52px;
  }
  .text_38 {
    font-size: 38px;
    line-height: 58px;
    letter-spacing: -1.2px;
  }
  .text_30 {
    font-size: 30px;
    line-height: 37px;
  }
  .text_24 {
    font-size: 24px;
    line-height: 34px;
  }
  .text_20 {
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.3px;
  }
  .text_18 {
    font-size: 18px;
    line-height: 28px;
    letter-spacing: 0px;
  }
  .text_18 img {
    max-height: 18px;
  }
  .text_17 {
    font-size: 17px;
    line-height: 28px;
    letter-spacing: -0.3px;
  }
  .text_14 {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.3px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .content_block h1 {
    font-size: 40px;
    line-height: 40px;
  }
  .content_block h3 {
    font-size: 18px;
    line-height: 20px;
  }
  .text_72 {
    font-size: 50px;
    line-height: 50px;
  }
  .text_68 {
    font-size: 50px;
    line-height: 50px;
  }
  .text_42 {
    font-size: 36px;
    line-height: 42px;
  }
  .text_38 {
    font-size: 32px;
    line-height: 42px;
    letter-spacing: -1.2px;
  }
  .text_30 {
    font-size: 24px;
    line-height: 28px;
  }
  .text_24 {
    font-size: 20px;
    line-height: 29px;
  }
  .text_20 {
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.3px;
  }
  .text_18 {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: -0.5px;
  }
  .text_18 img {
    max-height: 16px;
  }
  .text_17 {
    font-size: 15px;
    line-height: 24px;
    letter-spacing: -0.3px;
  }
  .text_14 {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: -0.2px;
  }
}
@media only screen and (max-width: 425px) {
  .content_block h1 {
    font-size: 32px;
    line-height: 32px;
  }
  .content_block h3 {
    font-size: 14px;
    line-height: 20px;
  }
  .text_72 {
    font-size: 50px;
    line-height: 50px;
  }
  .text_68 {
    font-size: 45px;
    line-height: 45px;
  }
  .text_42 {
    font-size: 24px;
    line-height: 30px;
  }
  .text_38 {
    font-size: 22px;
    line-height: 27px;
  }
  .text_30 {
    font-size: 20px;
    line-height: 24px;
  }
  .text_24 {
    font-size: 18px;
    line-height: 22px;
  }
  .text_20 {
    font-size: 16px;
    line-height: 20px;
    letter-spacing: -0.3px;
  }
  .text_18 {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.5px;
  }
  .text_18 img {
    max-height: 14px;
  }
  .text_17 {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: -0.3px;
  }
  .text_14 {
    font-size: 10px;
    line-height: 14px;
    letter-spacing: -0.2px;
  }
}
.text_14, .text_17, .text_18, .text_20, .text_30, .text_38, .text_42, .text_68, .text_72 {
  margin: 0px;
}
.text_17 {
  font-weight: 400;
}
.text_16 {
  margin: 0px;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: -0.3px;
}
.text_14_small {
  margin: 0px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.2px;
}
.center_div {
  display: inline-block;
  margin: auto;
}
.small_title {
  margin-bottom: 20px;
}
ul {
  margin: 10px 0px;
}
a {
  text-decoration: none;
}
.link:hover {
  cursor: pointer;
}

/* Text gaps */
.small_header_gap {
  padding-bottom: 20px;
}
.header_gap {
  padding-bottom: 30px;
}
.small_paragraph_gap {
  padding-bottom: 10px;
}
.paragraph_gap {
  padding-bottom: 20px;
}
.end_paragraph_gap {
  padding-bottom: 40px;
}

/* Text alignment */
@media only screen and (max-width: 425px) {
  .left_text_below_425 {
    text-align: left;
  }
}
.center_text {
  text-align: center;
}
.left_text {
  text-align: left;
}
@media only screen and (min-width: 1601px) {
  .right_above_1600 {
    text-align: right;
  }
}
@media only screen and (max-width: 1600px) {
  .center_below_1600 {
    text-align: center;
  }
}

/* Colours */
.purple_colour {
  color: #76ACFF;
}
.orange_colour {
  color: #FFAF5C;
}
.blue_colour {
  color: #0051CC;
}
.blue_colour_2 {
  color: #59AEFF;
}
.blue_colour_3 {
  color: #00C5FF;
}
.blue_colour_4 {
  color: #00589C;
}
.blue_colour_5 {
  color: #0065A9;
}
.blue_colour_6 {
  color: #0073B5;
}
.blue_colour_7 {
  color: #A0E9FF;
}
.blue_colour_8 {
  color: #054280;
}
.blue_colour_9 {
  color: #D0E7FF;
}
.grey_colour {
  color: #787878;
}
.grey_colour_2 {
  color: #BEBEBE;
}
.grey_colour_3 {
  color: #999999;
}
.grey_colour_4 {
  color: #F9F9FD;
}
.black_colour {
  color: black;
}
.orange_background {
  background-image: linear-gradient(to right, #e05c04, #ffab5a);
}
.light_orange_background {
  background-color: #FFEBD8;
}
.light_blue_background {
  background-color: #DCEDFF;
  color: #0076E9;
}
.light_blue_background_2 {
  background-color: #EFF6FF;
}
.light_grey_background {
  background-color: #F5F5F9;
}
.light_grey_background_2 {
  background-color: #F9F9FD;
}
.light_grey_background_3 {
  background-color: #F0F0F0;
}
.transparent {
  opacity: 0;
}

/* Gaps */
.gap_10, .gap_20, .gap_30, .gap_40, .gap_60, .gap_80, .gap_100, .gap_120 {
  clear: both;
}
@media only screen and (min-width: 769px) {
  .gap_10 {
    height: 10px;
  }
  .gap_20 {
    height: 20px;
  }
  .gap_30 {
    height: 30px;
  }
  .gap_40 {
    height: 40px;
  }
  .gap_60 {
    height: 60px;
  }
  .gap_80 {
    height: 80px;
  }
  .gap_100 {
    height: 100px;
  }
  .gap_120 {
    height: 120px;
  }
}
@media only screen and (max-width: 768px) {
  .gap_10 {
    height: 10px;
  }
  .gap_20 {
    height: 15px;
  }
  .gap_30 {
    height: 25px;
  }
  .gap_40 {
    height: 30px;
  }
  .gap_60 {
    height: 45px;
  }
  .gap_80 {
    height: 60px;
  }
  .gap_100 {
    height: 80px;
  }
  .gap_120 {
    height: 100px;
  }
}

/* Margin */
.margin_0 {
  margin: 0;
}
.margin_1pc {
  margin: 1%;
}
.margin_10v {
  margin-top: 10px;
  margin-bottom: 10px;
}
.margin_20v {
  margin-top: 20px;
  margin-bottom: 20px;
}
.margin_bottom_20v {
  margin: 0px 0px 20px;
}
.child_right_margin_40 > * {
  margin-right: 40px !important;
}
.margin_blog_text {
  margin-top: 10px;
  margin-bottom: 30px;
}

/* Heights */
.height_80 {
  height: 80px;
}
.height_40 {
  height: 40px;
}

/* Padding */
.padding_bottom_0 {
  padding-bottom: 0px;
}


/* Flexible columns */
.flexi_col_25_425, .flexi_col_33_425, .flexi_col_33_50, .flexi_multi_col_33, .flexi_col_33,
.flexi_col_33_1200, .flexi_col_42_768, .flexi_col_42_1200, .flexi_col_45_768,
.flexi_col_47_425, .flexi_col_50, .flexi_col_50_1200, .flexi_col_58_1200 {
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  min-height: 1px;
}
@media only screen and (min-width: 1201px) {
  .flexi_col_58_1200 {
    width: 58%;
  }
  .flexi_col_50_1200 {
    width: 50%;
  }
  .flexi_col_42_1200 {
    width: 42%
  }
  .flexi_col_33_1200 {
    width: 33%;
  }
}
@media only screen and (max-width: 1200px) {
  .flexi_col_50_1200 {
    width: 100%;
  }
  .flexi_col_42_1200 {
    width: 100%
  }
  .flexi_col_33_1200 {
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .flexi_multi_col_33 {
    width: 33%;
  }
  .flexi_col_33_50 {
    width: 33%;
  }
  .flexi_col_42_768 {
    width: 42%;
  }
  .flexi_col_45_768 {
    width: 45%;
  }
}
@media only screen and (max-width: 768px) {
  .flexi_col_33_50 {
    width: 50%;
  }
  .flexi_col_42_768 {
    width: 100%;
  }
  .flexi_col_45_768 {
    width: 100%;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .flexi_multi_col_33 {
    width: 50%;
  }
}
@media only screen and (min-width: 426px) {
  .flexi_col_25_425 {
    width: 25%;
  }
  .flexi_col_33_425 {
    width: 33%
  }
  .flexi_col_47_425 {
    width: 47%;
  }
  .flexi_col_33 {
    width: 33%;
  }
  .flexi_col_50 {
    width: 50%;
  }
}
@media only screen and (max-width: 425px) {
  .flexi_col_25_425 {
    width: 50%;
  }
  .flexi_multi_col_33 {
    width: 100%;
  }
  .flexi_col_33 {
    width: 100%;
  }
  .flexi_col_50 {
    width: 100%;
  }
}

/* Optional columns */
.col_40_over_425, .col_40_over_768, .col_40_over_1200, .col_45_over_768,
.col_50_over_425, .col_50_768_1200, .col_50_over_768, .col_50_over_1200,
.col_60_over_1200, .col_75_under_768, .col_80_over_1200, .col_80_under_1200,
.col_100_under_768 {
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  min-height: 1px;
}
@media only screen and (min-width: 1201px) {
  .col_40_over_1200 {
    width: 40%;
  }
  .col_50_over_1200 {
    width: 50%;
  }
  .col_60_over_1200 {
    width: 60%;
  }
  .col_80_over_1200 {
    width: 80%;
  }
}
@media only screen and (max-width: 1200px) {
  .col_60_over_1200 {
    width: 100%;
  }
  .col_80_under_1200 {
    width: 60%;
  }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
  .col_50_768_1200 {
    width: 50%;
  }
}
@media only screen and (min-width: 769px) {
  .col_50_over_768 {
    width: 50%;
  }
  .col_45_over_768 {
    width: 45%;
  }
  .col_40_over_768 {
    width: 40%;
  }
}
@media only screen and (max-width: 768px) {
  .col_100_under_768 {
    width: 100%;
  }
  .col_75_under_768 {
    width: 100%;
    padding: 0px 12.5%;
  }
}
@media only screen and (min-width: 426px) {
  .col_40_over_425 {
    width: 40%;
  }
  .col_50_over_425 {
    width: 50%;
  }
}


/* Screen size changes */
@media only screen and (max-width: 1300px) {
  .only_over_1300 {
    display: none;
  }
}
@media only screen and (min-width: 1301px) {
  .only_under_1300 {
    display: none;
  }
}
@media only screen and (max-width: 1200px) {
  .only_over_1200 {
    display: none;
  }
}
@media only screen and (min-width: 1201px) {
  .only_under_1200 {
    display: none;
  }
}
@media only screen and (max-width: 1100px) {
  .only_over_1100 {
    display: none;
  }
}
@media only screen and (min-width: 1101px) {
  .only_under_1100 {
    display: none;
  }
}
@media only screen and (max-width: 1000px) {
  .only_over_1000 {
    display: none;
  }
}
@media only screen and (min-width: 1001px) {
  .only_under_1000 {
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .only_over_768 {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  .only_under_768 {
    display: none;
  }
}
@media only screen and (min-width: 426px) {
  .only_under_425 {
    display: none;
  }
}
@media only screen and (max-width: 425px) {
  .only_over_425 {
    display: none;
  }
}


/* Slimming */
.flexi_slimmer_50, .flexi_slimmer_50_425, .flexi_slimmer_70, .flexi_slimmer_84,
.flexi_slimmer_84_1200 {
  box-sizing: border-box;
  width: 100%;
}
@media only screen and (min-width: 1201px) {
  .flexi_slimmer_84_1200 {
    padding-left: 8%;
    padding-right: 8%;
  }
}
@media only screen and (min-width: 769px) {
  .flexi_slimmer_50 {
    padding-left: 25%;
    padding-right: 25%;
  }
  .flexi_slimmer_70 {
    padding-left: 15%;
    padding-right: 15%;
  }
  .flexi_slimmer_84 {
    padding-left: 8%;
    padding-right: 8%;
  }
}
@media only screen and (min-width: 426px) {
  .flexi_slimmer_50_425 {
    padding-left: 25%;
    padding-right: 25%;
  }
}
.slimmer_40, .slimmer_60, .slimmer_70, .slimmer_80, .slimmer_84 {
  box-sizing: border-box;
  width: 100%;
}
.slimmer_40 {
  padding-left: 30%;
  padding-right: 30%;
}
.slimmer_60 {
  padding-left: 20%;
  padding-right: 20%;
}
.slimmer_70 {
  padding-left: 15%;
  padding-right: 15%;
}
.slimmer_80 {
  padding-left: 10%;
  padding-right: 10%;
}
.slimmer_84 {
  padding-left: 8%;
  padding-right: 8%;
}

/* Alignment */
@media only screen and (min-width: 426px) {
  .inline_elements > * {
    margin-right: 10px;
  }
}
@media only screen and (max-width: 425px) {
  .inline_elements > * {
    margin-right: 5px;
  }
}
.vertical_align_top > * {
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}
.vertical_align_center * {
  vertical-align: middle;
}
.inline_elements > * {
  display: inline-block;
  vertical-align: middle;
}
.deep_inline_elements * {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

/* Rounding */
.round_10 {
  border-radius: 10px;
}

/* Question boxes */
@media only screen and (min-width: 426px) {
  .question_box {
    padding: 32px 40px;
  }
}
@media only screen and (max-width: 425px) {
  .question_box {
    padding: 20px 25px;
  }
}
.question_box {
  position: relative;
  box-sizing: border-box;
  margin: 20px 0px;
  border: 1px solid #D3D9E3;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.02)
}
.question_box.open {
  border: 1px solid #0051CC;
  background-color: #F3F8FF;
}
.question_box .question {
  font-weight: bold;
  box-sizing: border-box;
  width: 100%;
  padding-right: 60px;
}
.question_box .toggle {
  position: absolute;
  top: 38px;
  right: 40px;
}
.closed .answer {
  display: none;
}
.open .toggle {
  transform: rotate(180deg);
}

/* Pricing box */
@media only screen and (min-width: 769px) {
  .pricing_box_parent {
    width: 45%;
  }
  .pricing_box {
    padding: 40px;
  }
  .dark_round_box {
    padding: 20px 80px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .pricing_box_parent {
    width: 100%;
    padding: 0px 16%;
  }
  .pricing_box {
    padding: 40px 20px;
  }
  .dark_round_box {
    padding: 20px 40px;
  }
}
@media only screen and (max-width: 425px) {
  .pricing_box_parent {
    width: 100%;
    padding: 0px;
  }
  .pricing_box {
    padding: 40px 10px;
  }
  .dark_round_box {
    padding: 20px;
  }
}
.pricing_box_parent {
  display: inline-block;
  box-sizing: border-box;
}
.pricing_box {
  position: relative;
  box-sizing: border-box;
  color: white;
  background-color: #061C33;
  border-radius: 20px;
  box-shadow: 0 0 40px 0 rgba(24, 25, 43, 0.2);
  text-align: center;
}
.selected_pricing {
  box-shadow: 0 0 30px 0 #00C5FF;
}
.dark_round_box {
  display: inline-block;
  background-color: #061C33;
  border-radius: 10px;
}
.pricing_tag {
  position: absolute;
  top: 20px;
  right: 0px;
  background-color: orange;
  padding: 5px 10px;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}

/* Price table */
@media only screen and (min-width: 1201px) {
  .price_table_1200 .price_col {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    min-height: 1px;
    width: 140px;
  }
  .price_table_1200 .wide_price_col {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    min-height: 1px;
    width: 200px;
  }
}
@media only screen and (max-width: 1200px) {
  .price_table_1200 .price_col {
    box-sizing: border-box;
    width: 100%;
  }
  .price_table_1200 .price_col p {
    display: inline-block;
    box-sizing: border-box;
  }
  .four_col_table .price_col p {
    width: 25%;
  }
  .two_col_table .price_col p {
    width: 50%;
  }
}
.price_table_1200 .price_col {
  text-align: center;
}
.price_table_1200 .price_col p {
  padding: 5px;
}


/* Feature table */
@media only screen and (min-width: 1201px) {
  .feature_table .feature_col {
    width: 150px;
  }
}
@media only screen and (max-width: 1200px) {
  .feature_table .feature_col {
    width: 100px;
  }
}
@media only screen and (max-width: 768px) {
  .feature_table .title_feature_col {
    width: 250px;
  }
}
@media only screen and (max-width: 767px) {
  .feature_table .title_feature_col {
    width: 150px;
  }
}
.feature_table .feature_col, .feature_table .title_feature_col {
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  min-height: 1px;
}
.feature_col p, .title_feature_col p {
  padding: 10px;
}


/* Lines */
.line_35 {
  height: 1px;
  width: 35%;
  background-color: white;
}


/* Grouping elements on a line */
.no_wrap {
  white-space: nowrap;
}

/* Footer Grid Layout */
.footer_3x_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  align-items: start;
}
@media only screen and (max-width: 1024px) {
  .footer_3x_grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 768px) {
  .footer_3x_grid {
    grid-template-columns: 1fr;
  }
  .footer_image {
    justify-content: center !important;
  }
}

/* Footer Images Section */
.footer_images {
  display: flex;
  flex-direction: row;
  margin-bottom: 5px;
}
.footer_image {
  display: flex;
  justify-content: center;
  align-items: center;  
  background-color: #ffffff;
  margin: 5px;
  border-radius: 10px;
}
.footer_image img {
  max-width: min(100%, 250px);
  height: auto;
}
@media only screen and (max-width: 1024px) {
  .footer_image_grid {
    display:flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
}

/* Footer */
@media only screen and (min-width: 426px) {
  footer {
    padding: 25px 12% 50px;
  }
}
@media only screen and (max-width: 425px) {
  footer {
    padding: 40px 4% 60px;
  }
  footer .logo {
    width: 150px;
  }
  .contact_address {
    padding-left: 1rem !important;
  }
}
footer {
  width: 100%;
  box-sizing: border-box;
  background-color: #2b2b2b;
  color: white;
}
footer a {
  color: white;
  display: block;
  text-decoration: none;
}
footer a:hover {
  color: #0496FF; 
  text-decoration: underline; 
}
.dark_line_divider {
  width: 100%;
  height: 1px;
  background-color: #ffffff;
}


/* Blog */
.blog_section {
  padding: 5px;
}
.blog_section_insides {
  padding: 20px;
  background-color: rgba(5,66,128,0.1);
  border-radius: 10px;
}
.blog_post {
  max-width: 800px;
  margin: auto;
}

/* Bread crumbs */
.breadcrumbs {
  position: absolute;
  top: 20px;
  left: 40px;
}

/* Pagination */
.pagination * {
  display: inline-block;
  vertical-align: middle;
}
.pagination .page {
  padding: 0px 15px;
  font-size: 20px;
  line-height: 20px;
  font-weight: bold;
  color: black;
}
.pagination .arrow {
  background-color: #FFAB5A;
  border-radius: 20px;
  font-weight: bold;
  color: black;
  font-size: 17px;
  line-height: 10px;
  padding: 7px;
}
.pagination .arrow p {
  margin: 0px;
}


/* Image band */
@media only screen and (min-width: 1201px) {
  .content_block .image_band img {
    height: 50px;
    margin-right: 80px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 1200px) {
  .content_block .image_band img {
    height: 30px;
    margin-right: 50px;
  }
}
@media only screen and (max-width: 425px) {
  .content_block .image_band img {
    height: 20px;
    margin-right: 20px;
    margin-bottom: 20px;
  }
}


/* Tabs on pricing tables */
.orange_tab {
  background-color: rgb(255, 171, 90);
  border-radius: 5px;
}
.orange_table_background {
  background-color: rgb(251, 191, 131);
  border-radius: 5px;
}

/* Search form */
@media only screen and (min-width: 769px) {
  .search_icon {
    top: 15px;
    left: 17px;
    height: 28px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  .search_icon {
    top: 15px;
    left: 17px;
    height: 24px;
  }
}
@media only screen and (min-width: 426px) {
  .search_box {
    padding: 12px 20px 12px 50px;
  }
}
@media only screen and (max-width: 425px) {
  .search_box {
    padding: 8px 10px 8px 40px;
  }
  .search_icon {
    top: 11px;
    left: 17px;
    height: 20px;
  }
}
.search_box {
  border-radius: 30px;
  box-sizing: border-box;
  width: 100%;
  border: 3px solid #054280;
}
.search_box:focus {
  outline: none;
}
.search_form {
  position: relative;
}
.search_icon {
  position: absolute;
}

/* Forms */
@media only screen and (min-width: 769px) {
  form p {
    font-size: 17px;
    line-height: 28px;
    letter-spacing: -0.3px;
  }
}
@media only screen and (min-width: 426px) and (max-width: 768px) {
  form p {
    font-size: 15px;
    line-height: 24px;
    letter-spacing: -0.3px;
  }
}
@media only screen and (max-width: 425px) {
  form p {
    font-size: 13px;
    line-height: 24px;
    letter-spacing: -0.3px;
  }
}
form p {
  color: #787878;
  margin: 0px;
}
form h3 {
  margin-top: 30px !important;
}

/* Hidden */
.hidden {
  display: none;
}


/* Floating window */
.floating_bottom_bar {
  width: 100%;
  padding: 10px 20px;
  position: fixed;
  bottom: 0px;
  left: 0px;
  background-color: #007EA7;
  color: white;
  z-index: 999;
}
.floating_bottom_bar a {
  color: white;
  text-decoration: underline;
}
.floating_bottom_bar_gap {
  height: 60px;
  display: block;
}
@media only screen and (max-width: 768px) and (min-width: 426px) {
  .big_round_button {
    font-size: 1.1em;
  }
}
@media only screen and (max-width: 425px) {
  .big_round_button {
    font-size: 1em;
  }
}
.big_round_button {
  display: inline-block;
  padding: 10px 20px;
  border: 0px;
  margin: 10px 20px;
}
.yellow_button {
  color: black;
}
.yellow_button a {
  color: black;
}
.yellow_button {
  background-color: #FFC70C;
}

/*  Floating Share to social bar  */
.share-bar {
  position: fixed;
  display: block;
  top: 50%;
  left: .5rem;
  transform: translateY(-50%)
}
.share-bar .share-icon {
  position: relative;
  display: block;
  width: 55px;
  height: 55px;
}
.share-bar .share-icon a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.share-bar .share-icon a img {
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 425px) {
  .share-bar .share-icon {
    width: 35px;
    height: 35px;
  }
}

/* Features and Case Studies page */
.selected_bar {
  font-weight: bold;
}
@media only screen and (max-width: 768px) {
  .features_list_container {
    padding: 10px;
  }
  .features_list_item {
    flex: 0 0 auto;
    padding: 10px 1em;
    position: relative;
    cursor: pointer;
  }
  .selected_bar::before {
    content: " ";
    background-color: #054280;
    font-weight: 900;
    position: absolute;
    bottom: 0px;
    width: 10px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
  }
  .feature_list {
    padding: 0px;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
  }
  .feature_list::-webkit-scrollbar {
    display: none;
  }
  .feature_section {
    padding-top: 40px !important;
    padding-bottom: 30px !important;
  }
}
@media only screen and (min-width: 769px) {
  .features_section_container {
    display: inline-flex;
    flex-flow: nowrap;
  }
  .features_list_container {
    padding: 100px 60px 2em;
    flex: none;
    width: 300px;
    box-sizing: border-box;         
  }
  .feature_section {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    width: calc(100vw - 300px) !important;
  }
  .feature_list {
    list-style: none;
    padding: 0;
  }
  .features_list_item {
    padding: 0.25em;
    position: relative;
    cursor: pointer;
  }
  .selected_bar::before {
    content: "| ";
    color: #054280;
    font-weight: 900;
    position: absolute;
    left: -10px;
    top: calc(0.25em - 1px);
  }
  .featured_image_overlay_tab {
    position: absolute;
    top: 0;
    right: 0;
    padding: 5px;
    margin-top: 75px;
  }

}


/* Icons */
.large_service_icon {
  width: 120px;
  height: 120px;
}
.service_icon {
  width: 60px;
  height: 60px;
}
@media only screen and (max-width: 768px) {
  .large_service_icon {
    width: 90px;
    height: 90px;
  }
  .service_icon {
    width: 50px;
    height: 50px;
  }
}

/* Custom bullet point section */
.small_bullet_icon {
  width: 20px;
  height: 20px;
  align-self: top;
  padding-right: 1em;
}
.bullet_heading {
  margin: 0;
  line-height: 20px;
}

/* Client logo scroller */
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-2116px)}
}
.auto_horizontal_scroll {
  animation: scroll 40s linear infinite;
  display: flex;
  animation-play-state: running;
  transition: animation-duration 0.3s ease;
}
.auto_horizontal_scroll img{
  padding-bottom: 0 !important;
}
.auto_horizontal_scroll_reverse {
  animation: scroll 40s linear infinite reverse;
  display: flex;
  animation-play-state: running;
  transition: animation-duration 0.3s ease;
}
.auto_horizontal_scroll_reverse img{
  max-width:180px !important;
  max-height:80px !important;
  object-fit: cover;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.scroll_pause_on_hover:hover {
  animation-play-state: paused;
}

.client_logo {
  max-height: 100px;
  vertical-align: top;
  padding: 35px 20px;
}
@media only screen and (max-width: 768px) {
  .client_logo {
    max-height: 60px;
    padding: 15px 20px;
  }
}



/* Images */
.features_images_rounded {
  border-radius: 20px;
  object-fit: cover;
}
.watermarked_images_rounded {
  border-radius: 10px;
  object-fit: cover;
}


/* Video header section background */
.video_header_container {
  position: relative;
  padding-top: 43.7%;
}
.video_header_container iframe, .large_video_header_container iframe, .mobile_video_header_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.video_header_container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
} 
.video_header_container div, .large_video_header_container div, .mobile_video_header_container div, .image_header_container .text_contents {
  padding-left: 12%;
  padding-right: 12%;
  margin: 0 auto;
  position: absolute;
  left: 0px !important;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.video_header_container h1, .large_video_header_container h1, .mobile_video_header_container h1, .image_header_container h1 {
  color: white;
  font-size: 48px;
  line-height: 57px;
}
.video_header_container p, .large_video_header_container p, .mobile_video_header_container p, .image_header_container p {
  color: white;
  max-width: 500px;
  font-size: 20px;
  line-height: 30px;
}
@media only screen and (max-width: 768px) {
  .video_header_container div, .large_video_header_container div, .mobile_video_header_container div {
    padding-left: 4%;
    padding-right: 4%;
  }
  .video_header_container p, .large_video_header_container p, .image_header_container p {
    font-size: 16px;
    line-height: 22px;
  }
}
@media only screen and (max-width: 450px) {
  .mobile_video_header_container {
    height: 400px;
    overflow-y: hidden;
    padding-top: 0;
  }
  .mobile_video_header_container iframe {
    width: calc(100vw);
  }
  .video_header_container h1, .large_video_header_container h1, .mobile_video_header_container h1, .image_header_container h1 {
    font-size: 22px;
    line-height: 23px;
  }
  .video_header_container p, .large_video_header_container p, .mobile_video_header_container p, .image_header_container p {
    font-size: 14px;
    line-height: 20px;
  }
}
@media only screen and (max-width: 375px) {
  .video_header_container h1 {
    font-size: 20px;
    line-height: 20px;
  }
  .video_header_container p {
    font-size: 12px;
    line-height: 17px;
    margin-bottom: 0;
  }
}


/* Image header section background */
.image_header_container {
  position: relative;
  padding-top: 43.7%;
}
.image_header_container .text_contents {
  width: 40%;
}
.image_header_container .grid_container {
  width: 25%;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 5%;
}
.image_header_container .grid_2x {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  max-width: 100%;
}
.full_text_contents {
  width: auto !important;
}
.full_text_contents p {
  max-width: 100% !important;
}
.small_image_header_container {
  height: 200px !important;
}
@media only screen and (max-width: 1300px) {
  .image_header_container .full_text_contents {
    width: 100% !important;
  }
  .image_header_container .text_contents {
    max-width: 82%;
    font-size: 35px;
  }
  .image_header_container p {
    max-width: 100%;
  }
  .image_header_container .grid_container {
    width: 60%;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 2%;
  }
  .image_header_container .grid_2x {
    display: flex;
    flex-direction: row;
    position: absolute;
    bottom: 0;
  }
  .small_image_header_container {
    height: auto !important;
  }
}

@media only screen and (max-width: 920px) {
  .image_header_container h1 {
    font-size: 32px;
    line-height: 32px;
  }
  .image_header_container .text_contents {
    top: 40%;
    max-width: 82%;
  }
}

@media only screen and (max-width: 768px) {
  .image_header_container h1 {
    font-size: 24px;
    line-height: 24px;
  }
  .image_header_container .text_contents {
    top: 40%;
    max-width: 82%;
  }
}
@media only screen and (max-width: 425px) {
  .image_header_container .text_contents {
    max-width: 90%;
  }
}

@media only screen and (max-width: 320px) {
  .image_header_container h1 {
    font-size: 15px;
    line-height: 15px;
  }
}


/* Containers */
.light_grey_container {
  position: relative;
  display: inline-block;
  background: #F8F8F8;
  border-radius: 10px;
  padding: 2rem 3rem;
  box-sizing: border-box;
  margin-bottom: 2.5rem;
  vertical-align: top;
}

/* Testimonials */
.testimonial {
  box-sizing: border-box;
  background: #F8F8F8;
  padding: 2rem 3rem;
  margin-bottom: 2.5rem;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .testimonial {
    padding: 10px;
  }
  .testimonial .logo {
    height: 50px;
  }
}
.testimonial .logo {
  max-height: 100px;
  margin-bottom: 20px;
}
.testimonial .review {
  max-width: 100%;
}

/* Buttons bar */
.buttons_bar {
  position: sticky;
  bottom: 0;
  z-index: 1000;
  max-width: 100%;
  background: #ff345f;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 3px;
  text-align: center;
  height: 65px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.bar_button {
  width: 100%;
  padding: 8px;
  background-color: #000000;
  color: #ffffff;
  margin: 0px 10px;
  border-radius: 6px;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.3s ease;
}

.bar_button:hover {
  background-color: #2b2b2b; /* gradient hover */
  color: #ffffff;
  transform: translateY(-3px) scale(1.03); /* lift + subtle zoom */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); /* glowing shadow */
}

.buttons_bar>div {
  min-width: 400px;
  width: 40%;
}
.invert_button {
  background-color: white;
  color: #061C33;
  padding: 5px 10px;
  margin: 0px 30px;
  border: 2px solid #061C33;
}
.bar_button > img {
  width: 40px;
  margin: 0;
  box-sizing: border-box;
}
.bar_button > p {
  margin: 0;
  padding: 5px 10px;
}
.invert_button > p {
  margin: 0;
  padding: 5px 10px;
  font-weight: 600;
}


@media only screen and (max-width: 650px) {
  .buttons_bar>div {
    width: 80%;
  }
}

@media only screen and (max-width: 450px) {
  .buttons_bar>div {
    min-width: 200px;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  .bar_button > img {
    display: none !important;
  }
  .bar_button > p {
    margin: 0;
    padding: 5px 10px;
  }
}

/* Blue banner section */
.blue_banner {
  background-color: #054280;
  color: white;
}
.blue_banner > h1 {
  font-size: 36px;
}
.blue_banner > h2 {
  font-size: 28px;
  line-height: 34px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .blue_banner > h1 {
    font-size: 24px;
  }
  .blue_banner > h2 {
    font-size: 22px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 425px) {
  .buttons_bar>div {
    width: 100%;
  }
  .blue_banner > h1 {
    font-size: 20px;
  }
  .blue_banner > h2 {
    font-size: 17px;
    line-height: 18px;
  }
}
.shadow_text {
  text-shadow: 0px 2px 7px black;
}
.shadow_box {
  box-shadow: 0px 0px 30px rgba(87, 87, 87, 0.466);
}

.icon-container {
  display: inline-block; /* Display as inline block */
}

.icon-container img {
  display: block; /* Ensure the image behaves like block element */
  width: 100%; /* Make the image take up 100% width of its parent container */
  height: auto; /* Maintain aspect ratio */
}

/* FOOTER */
.footer_space_between {
	justify-content: space-between;
  flex-direction: row;
}
@media (max-width: 768px) {
  .footer_space_between {
    justify-content: center;
    flex-direction: column;
  }
}
.centre_on_mobile {
  text-align: left;
}
@media (max-width: 768px) {
  .centre_on_mobile {
    text-align: center;
  }
}
.collapse_on_mobile {
  display: block;
}
@media (max-width: 768px) {
  .collapse_on_mobile {
    display: none;
    margin:20px;
  }
}

.footer_section_max_width { 
  max-width: 200px;
  height: 350px;
}
@media (max-width: 768px) {
  .footer_section_max_width {
    max-width: none;
    height: auto;
    border-bottom: 1px solid #4b4b4b;
  }
  .footer_section_max_width:last-child {
    border-bottom: none;
  }
}

/* Add arrow on smaller screens for dropdown */
.footer_toggle {
  position: relative;
  display: flex;
  justify-content: space-between;
}
.footer_toggle::after {
  content: " ▷";
  display: none;
  transform: rotate(0deg);
  transition: transform 0.5s ease;
}

.footer_toggle.open::after {
  transform: rotate(90deg); 
}
@media (max-width: 768px) {
  .footer_toggle::after {
    display: inline;
  }
}
.flex_gap_mobile {
    gap: 3rem;
}
@media (max-width: 768px) {
  .flex_gap_mobile {
    gap: 1rem;
  }
}