/*
Theme Name: Joe Stork Ltd
Version: 1.0
Author: Joe Stork
Author URI: http://www.joestork.co.uk
*/


* {
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  color: #566671;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  color: #14384f;
  font-weight: normal;
  line-height: 1.1;
}

p {
  margin-bottom: 20px;
}

.contain {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.fluid {
  padding: 0 20px;
}

.js_blocks h3 {
  color: #13384f;
  font-weight: 500;
  font-size: 22px;
  margin-bottom: 30px;
}

.js_blocks p {
  color: #13384f;
  margin-bottom: 30px;
}

.js_blocks,
.js_blocks * {
  box-sizing: border-box;
}

.js_blocks {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.js_col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.js_pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  min-width: 0;
}

.js_box {
  display: flex;
  min-width: 0;
  gap: 1rem;
}

.js_box_content {
  min-width: 0;
}

.js_box_row {
  flex-direction: row;
  min-height: 12rem;
}

.js_box_row .js_box_content {
  flex: 1 1 58%;
}

.js_box_row .js_box_media {
  flex: 1 1 42%;
}

.js_box_stack {
  flex-direction: column;
}

.js_box_stack .js_box_media {
  flex: 1 1 auto;
  min-height: 8rem;
}

.js_box_tall .js_box_media {
  min-height: 14rem;
}

.js_box_media {
  position: relative;
  min-width: 0;
}

.js_box_img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 769px) {
  .js_blocks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
  }

  .js_col {
    display: grid;
    grid-row: 1 / span 3;
    grid-template-rows: subgrid;
  }

  .js_col_left .js_box_tall {
    grid-row: span 2;
  }
}

@media (max-width: 480px) {
  .js_pair {
    grid-template-columns: 1fr;
  }

  .js_box_row {
    flex-direction: column;
  }
}

@media (max-width: 768px) {
  .js_box_media {
    aspect-ratio: 4 / 3;
  }
}

.wpb_button,
.wpb_content_element,
ul.wpb_thumbnails-fluid > li {
  margin-bottom: 0 !important;
}

.js_box {
  padding: 2rem;
  background: #eee;
  border-radius: 12px;
}

.js_btn {
  display: inline-block;
  padding: .6rem 1.5rem;
  border: 1px solid #333;
  color: inherit;
  text-decoration: none;
}

.js_box_one   { background-color: #ffecc7; }
.js_box_three { background-color: #e9e9e9; }
.js_box_two   { background-color: #cdf6ff; }
.js_box_four  { background-color: #ffdde5; }
.js_box_five  { background-color: #e9e0f3; }

.js_box_one h3,
.js_box_two h3,
.js_box_four h3,
.js_box_five h3,
.js_box_six h3 {
  max-width: 100px;
  line-height: 1.2;
}

.js_box_three h3 {
  max-width: 200px;
  line-height: 1.2;
}

.js_btn {
  padding: 10px 20px;
  background-color: #13384f;
  color: #fff;
  border-radius: 7px;
  border: none;
}

.js_btn:hover {
  background-color: #fff;
  color: #13384f;
}

.js_box .js_btn:hover {
  background-color: #fff !important;
  color: #13384f !important;
}

.js_box_one .js_btn {
  background-color: #ffc44e;
  color: #13384f;
}

.js_box_two,
.js_box_three,
.js_box_four {
  padding-bottom: 0;
}

.js_box_three .js_btn,
.js_box_four .js_btn {
  margin-bottom: 0;
}

.js_box_three img,
.js_box_four img {
  margin-top: -0px;
}

.js_blocks {
  padding: 60px 0;
}

.js_intro_heading {
  padding: 60px 0 0 0;
  text-align: center;
}

.js_intro_heading h2 {
  color: #13384f;
  font-weight: normal;
  font-size: 36px;
  line-height: 1.2;
  max-width: 500px;
  margin: 0 auto;
}

.website_design_customer_logos {
  display: flex;
  gap: 10px;
  width: 100%;
  padding: 10px;
  overflow: hidden;
}

.website_design_customer_logos span {
  flex: 0 0 auto;
  min-width: 100px;
  padding: 20px;
  text-align: center;
}

.website_design_customer_logos img {
  width: 100%;
  height: auto;
  max-width: 120px;
}

.js_company_logos h3 {
  text-align: center;
  font-size: 19px;
  font-weight: 500;
  padding-bottom: 30px;
}

.js_company_logos .buttons_wrap {
  text-align: center;
  padding-bottom: 60px;
}

.buttons_wrap .js_btn {
  margin: 0 20px;
  border: #13384f 1px solid;
}

.js_btn_border {
  color: #13384f;
  border: #13384f 1px solid;
  background-color: #fff;
}

.buttons_wrap .js_btn:hover {
  margin: 0 20px;
  border: #13384f 1px solid;
  color: #13384f;
}

.buttons_wrap .js_btn_border:hover {
  margin: 0 20px;
  border: #13384f 1px solid;
  color: #fff;
  background-color: #13384f;
}

.js_project_stages {
  background-color: #13384f;
  padding: 90px 0;
}

.js_project_stages {
  text-align: center;
  position: relative;
  overflow: hidden;
}

.js_project_stages > * {
  position: relative;
  z-index: 1;
}

.js_project_stages::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: -60px;
  width: 50px;
  height: 50px;
  background: url("images/icon-fish-white.png") no-repeat center / contain;
  transform-origin: 50% 90%;
  animation:
    sail 20s linear infinite,
    rock 3s ease-in-out infinite;
}

.js_project_stages h3 {
  color: #fff;
  text-align: center;
  padding-bottom: 60px;
  font-size: 29px;
}

.js_project_stages_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.js_project_stages_grid_col {
  display: flex;
}

.js_project_stages_grid_col a {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  font-size: 19px;
  color: #13384f;
}

.js_project_stages_grid_col img {
  display: block;
  width: 100%;
  border-radius: 7px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.js_project_stages_grid_col:nth-of-type(1) span {
  border-top: #ffc44e 5px solid;
}

.js_project_stages_grid_col:nth-of-type(2) span {
  border-top: #88c4d2 5px solid;
}

.js_project_stages_grid_col:nth-of-type(3) span {
  border-top: #f63f68 5px solid;
}

.js_project_stages_grid_col span {
  display: block;
  border-top: 5px solid transparent;
  background-image: linear-gradient(var(--stage-colour), var(--stage-colour));
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100% 0;
  transition: background-size 0.4s ease, border-color 0.4s ease, color 0.4s ease;
}

.js_project_stages_grid_col:nth-of-type(1) { --stage-colour: #ffc44e; }
.js_project_stages_grid_col:nth-of-type(2) { --stage-colour: #88c4d2; }
.js_project_stages_grid_col:nth-of-type(3) { --stage-colour: #f63f68; }

.js_project_stages_grid_col:hover span {
  border-top-color: var(--stage-colour);
  background-size: 100% 100%;
}

.js_project_stages_grid_col:nth-of-type(2):hover span,
.js_project_stages_grid_col:nth-of-type(3):hover span {
  color: #fff;
}

.js_project_stages_grid_col span {
  padding: 15px 30px;
  background-color: #fff;
  display: block;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}

.js_project_stages .buttons_wrap {
  text-align: center;
  padding-top: 60px;
}

.js_project_stages .buttons_wrap .js_btn {
  border: #fff 1px solid;
  color: #13384f;
  background-color: #fff;
}

.js_project_stages .buttons_wrap .js_btn:hover {
  border: #fff 1px solid;
  color: #fff;
  background-color: #13384f;
}

@media (max-width: 768px) {
  .js_project_stages_grid {
    grid-template-columns: 1fr;
  }
}

.js_scroll_box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}

.js_scroll_box_left {
  padding-right: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.js_scroll_box_item {
  padding-left: 160px;
  padding-bottom: 60px;
}

.js_scroll_box h2 {
  font-size: 29px;
  font-weight: 500;
  margin-bottom: 30px;
}

.js_scroll_box h2 {
  margin-bottom: 20px;
  font-size: 19px;
}

.js_scroll_box {
  padding: 90px 0 30px 0;
}

@media (max-width: 760px) {
  .js_scroll_box {
    grid-template-columns: 1fr;
  }

  .js_scroll_box_left {
    display: block;
  }
}

.js_scroll_box_left p {
  padding-bottom: 60px;
  background-image: url("images/icon-waves-light-blue.png");
  background-size: auto 40px;
  background-repeat: no-repeat;
  background-position: right 20% bottom;
}

.js_scroll_box_left .js_btn {
  margin-left: 0 !important;
}

.js_scroll_box_item_one {
  background-image: url("images/icon-web-development-stage-1.png");
  background-size: auto 80px;
  background-repeat: no-repeat;
  background-position: left 30px top;
}

.js_scroll_box_item_two {
  background-image: url("images/icon-web-development-stage-2.png");
  background-size: auto 100px;
  background-repeat: no-repeat;
  background-position: left 30px top;
}

.js_scroll_box_item_three {
  background-image: url("images/icon-web-development-stage-3.png");
  background-size: auto 100px;
  background-repeat: no-repeat;
  background-position: left 30px top;
}

.js_scroll_box_item_four {
  background-image: url("images/icon-web-development-stage-4.png");
  background-size: auto 100px;
  background-repeat: no-repeat;
  background-position: left 30px top;
}

.js_reviews {
  background-color: #13384f;
  padding: 90px 0;
  margin-bottom: 60px;
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.js_reviews > * {
  position: relative;
  z-index: 1;
}

.js_reviews::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: -60px;
  width: 50px;
  height: 50px;
  background: url("images/icon-boat.png") no-repeat center / contain;
  transform-origin: 50% 90%;
  animation:
    sail 20s linear infinite,
    rock 3s ease-in-out infinite;
}

@keyframes sail {
  from { left: -60px; }
  to   { left: 100%; }
}

@keyframes rock {
  0%, 100% { transform: rotate(-6deg) translateY(0); }
  50%      { transform: rotate(6deg) translateY(-4px); }
}

.js_reviews h3 {
  color: #fff;
  margin-bottom: 30px;
  font-size: 29px;
}

.js_reviews .js_reviews_inner_intro {
  color: #fff;
  font-size: 19px;
  max-width: 600px;
  margin: 0 auto 60px auto;
}

.js_reviews_inner_review {
  max-width: 600px;
  margin: 0 auto;
  padding-top: 40px;
  background-image: url("images/icon-5-stars.png");
  background-repeat: no-repeat;
  background-size: auto 20px;
  background-position: top center;
}

.js_reviews_inner_review p {
  font-style: italic;
}

.js_reviews_inner_review span {
  font-weight: 500;
}

.js_project_stages_top {
  height: 100px;
  background-image:
    url("images/icon-flag-blue.png"),
    url("images/icon-wave-blue.png"),
    url("images/icon-fossil.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: auto 80px, auto 120px, auto 80px;
  background-position:
    bottom right 60px,
    bottom -70px center,
    bottom -10px left 60px;
}

.js_scroll_box h3 {
  margin-bottom: 60px;
  padding-top: 10px;
}

.js_scroll_box .js_btn {
  margin: 0;
}

.js_platform_logos {
  width: 100%;
  text-align: center;
}

.js_platform_logos_grid {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin: 0 auto;
  padding: 0 0 60px 0;
}

.js_platform_logos_grid_col {
  flex: 0 1 auto;
}

.js_platform_logos_grid_col img {
  max-width: 120px;
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 600px) {
  .js_platform_logos_grid {
    flex-wrap: wrap;
  }
}

.js_masonry_grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: clamp(300px, 32vw, 400px);
  gap: 30px;
  padding-bottom: 30px;
}

.js_masonry_card {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.js_masonry_link {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.js_masonry_link:hover .js_masonry_title,
.js_masonry_link:focus-visible .js_masonry_title {
  text-decoration: underline;
}

.js_masonry_link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
  border-radius: 7px;
}

.js_masonry_card img {
  flex: 1;
  min-height: 0;
  width: 100%;
  object-fit: cover;
  border-radius: 7px;
  display: block;
}

.js_masonry_card figcaption {
  padding-top: 12px;
}

.js_masonry_title {
  margin: 0 0 2px;
  font-weight: 600;
}

.js_masonry_text {
  margin: 0;
}

.js_masonry_a { grid-column: 1; grid-row: 1 / span 2; }
.js_masonry_b { grid-column: 1; grid-row: 3; }
.js_masonry_c { grid-column: 2; grid-row: 1; }
.js_masonry_d { grid-column: 2; grid-row: 2; }
.js_masonry_e { grid-column: 2; grid-row: 3; }

@media (max-width: 720px) {
  .js_masonry_grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 24px;
  }

  .js_masonry_a,
  .js_masonry_b,
  .js_masonry_c,
  .js_masonry_d,
  .js_masonry_e {
    grid-column: auto;
    grid-row: auto;
  }

  .js_masonry_link {
    flex: none;
  }

  .js_masonry_card img {
    flex: none;
    aspect-ratio: 4 / 3;
  }

  .js_masonry_a img {
    aspect-ratio: 3 / 4;
  }
}

.js_masonry h3 {
  text-align: center;
  font-size: 29px;
  padding-bottom: 90px;
  background-image: url("images/icon-fish.png");
  background-size: 45px auto;
  background-position: center bottom 50px;
  background-repeat: no-repeat;
}

.js_website_design_split:first-of-type {
  padding-top: 60px;
}

.js_website_design_split h4 {
  font-size: 29px;
  margin-bottom: 30px;
}

.js_website_design_split {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: stretch;
  min-height: 330px;
}

.js_website_design_split + .js_website_design_split {
  margin-top: 60px;
}

.js_website_design_split_text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.js_website_design_split_title {
}

.js_website_design_split_copy {
  margin: 0;
}

.js_website_design_split_media {
  display: flex;
  min-height: 330px;
}

.js_website_design_split_media img {
  flex: 1;
  width: 100%;
  min-height: 330px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

@media (min-width: 721px) {
  .js_website_design_split_reverse .js_website_design_split_media {
    order: -1;
  }
}

@media (max-width: 720px) {
  .js_website_design_split {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

footer {
  background-color: #13384f;
  margin-top: 90px;
}

footer,
.js_page_single {
  scroll-snap-align: end;
}

.footer_logo {
  padding: 60px 0 20px;
  text-align: center;
}

.footer_logo img {
  width: 100%;
  height: auto;
  max-width: 80px;
}

.footer_social_media {
  text-align: center;
}

.footer_social_media a {
  text-decoration: none;
}

.footer_social_media img {
  display: inline-block;
  width: 100%;
  max-width: 34px;
  height: auto;
  margin: 20px;
}

.footer_terms {
  padding: 20px 0 60px;
  color: #fff;
  font-size: 11px;
  text-align: center;
}

.footer_terms a {
  color: #fff;
  text-decoration: none;
}

.page_home_brand_wrap {
  width: 100%;
  min-height: 100vh;
}

.page_home_brand {
  width: 100%;
  min-height: 100vh;
  background-color: #14384f;
  color: #fff;
  position: relative;
  overflow: hidden;
  padding: 190px 0 120px 0;
}

.page_home_brand_video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 1;
}

.page_home_brand_overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  z-index: 2;
}

.page_home_brand .contain,
.page_home_brand .fluid {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
}

.page_home_brand_content {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.page_home_brand_content .heading {
  width: 100%;
  text-align: center;
  display: block;
  font-size: clamp(3rem, 20vw, 20rem);
  line-height: 1;
  white-space: nowrap;
}

.page_home_brand_content h1 {
  font-weight: 500;
  color: #fff;
  font-size: 82px;
  max-width: 70%;
  margin: 0 auto;
  padding: 60px;
  line-height: 1;
  text-align: center;
}

.header_bar {
  background: linear-gradient(
    120deg,
    #87c5d2,
    #ffc54f,
    #f64069,
    #87c5d2,
    #ffc54f,
    #f64069
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  animation: moveGradient 8s linear infinite;
  height: 5px;
  z-index: 99;
}

.page_home_brand_content h1 span {
  background: linear-gradient(
    120deg,
    #87c5d2,
    #ffc54f,
    #f64069,
    #87c5d2,
    #ffc54f,
    #f64069
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  display: inline-block;
  animation: moveGradient 8s linear infinite;
}

@keyframes moveGradient {
  from { background-position: 0% 50%; }
  to   { background-position: 300% 50%; }
}

.header {
  position: relative;
}

.header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(
    120deg,
    #87c5d2,
    #ffc54f,
    #f64069,
    #87c5d2,
    #ffc54f,
    #f64069
  );
  background-size: 300% 100%;
  animation: moveGradient 8s linear infinite;
}

@keyframes moveGradient {
  0%   { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

.page_home_brand_radio {
  color: #fff;
  padding: 60px 0 60px 0;
  font-size: 19px;
}

.button {
  padding: 7px 20px;
  border-radius: 7px;
  border: #fff 1px solid;
  display: inline-block;
  color: #fff;
  text-decoration: none;
}

.header_row .logo img {
  width: 100%;
  height: auto;
  max-width: 60px;
}

.header {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 99;
  padding: 20px 0 10px 0;
  border-bottom: rgba(255, 255, 255, 0.20) 1px solid;
}

.navigation_burger img {
  width: 100%;
  height: auto;
  max-width: 36px;
}

.header_row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.logo {
  display: flex;
  align-items: center;
}

.navigation {
  display: flex;
  align-items: center;
  gap: 20px;
}

.navigation_start {
  margin-left: 60px;
  padding-bottom: 10px;
  background-image: url("images/icon-blue-underline.png");
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: auto 3px;
}

.navigation_start:hover {
  background-position: bottom 10px left;
}

.navigation_start a {
  text-decoration: none;
  color: #fff;
  font-weight: 500;
  padding-right: 40px;
  background-image: url("images/icon-wave.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 30px auto;
}

.page_home_brand_radio_buttons .button {
  background-image: url("images/icon-wave.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 30px auto;
  padding: 7px 30px;
}

.page_home_brand_radio_buttons .button:hover {
  background-position: center bottom;
}

.page_home_brand_radio_buttons a {
  text-decoration: none;
  color: #fff;
}

.page_home_brand_radio_buttons a:nth-of-type(1) {
  padding-right: 60px;
}

.page_home_brand_radio {
  font-size: 14px;
}

.page_home_brand_radio span {
  font-weight: 600;
}

.js_accordion_wrapper {
  margin: 0 auto;
  max-width: 768px;
  padding-top: 120px;
}

.js_accordion_wrapper h4 {
  font-size: 26px;
  text-align: center;
  padding-bottom: 30px;
}

.js_accordion_wrapper p a {
  color: #14384f;
}

.js_accordion_wrapper .js_accordion_heading {
  font-size: 19px;
  text-align: left;
  margin: 0px 0;
  padding: 20px 0;
  border-bottom: #ddd 1px solid;
}

.js_accordion_wrapper p {
  margin: 30px 0;
}

svg.js_accordion_arrow {
  float: right;
  height: 10px;
  margin-top: 8px;
}

.header {
  background-color: #14384f;
}

.home .header {
  background-color: transparent;
}

.js_page_single_header {
  padding-top: 160px;
  text-align: center;
}

.js_page_single_header h1,
.js_page_single_intro p {
  max-width: 760px;
  margin: 0 auto;
}

.js_page_single .buttons_wrap .js_btn {
  margin: 30px 0 0 0;
}

.js_page_single_intro {
  text-align: center;
  color: #14384f;
  margin: 30px 0 0px 0;
  padding-bottom: 40px;
  background-image: url("images/icon-waves-light-blue.png");
  background-size: auto 30px;
  background-position: center bottom;
  background-repeat: no-repeat;
}

.js_page_single_intro p {
  font-size: 19px;
}

.js_page_single .js_btn {
  margin: 30px 0 0 0 !important;
}

.js_page_single .js_accordion_wrapper {
  padding-top: 90px;
}

.js_contact_page {
  min-height: 100vh;
  box-sizing: border-box;
  background: linear-gradient(120deg, #87c5d2, #ffc54f, #f64069, #87c5d2, #ffc54f, #f64069);
  background-size: 300% 100%;
  animation: moveGradient 8s linear infinite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 60px;
}

.js_contact_main {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 72px 48px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 64px;
  align-items: start;
}

.js_contact_title {
  margin: 12px 0 20px;
  font-size: 39px;
  line-height: 1.02;
  font-weight: 500;
  color: #fff;
}

.js_contact_lead {
  margin: 0 0 40px;
  font-size: 19px;
  max-width: 440px;
  color: #fff;
}

.js_contact_details {
  display: flex;
  flex-direction: column;
}

.js_contact_row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.30);
}

.js_contact_row:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.30);
}

.js_contact_label {
  font-size: 14px;
  color: #fff;
}

.js_contact_value,
.js_contact_link {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}

.js_contact_link {
  color: #fff;
  text-decoration: none;
}

.js_contact_link:hover {
  text-decoration: underline;
}

.js_contact_form {
  background: #FFFFFF;
  border: 0;
  border-radius: 4px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.js_contact_form_title {
  font-size: 19px;
  font-weight: 500;
  color: #14384f;
}

.js_contact_field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.js_contact_field_label {
  font-size: 14px;
  font-weight: 600;
  color: #14384f;
  margin: 10px 0;
  display: block;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner.js_contact_button {
    height: auto;
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
	margin-top: 20px;
}

.js_contact_input,
.js_contact_select,
.js_contact_textarea {
  box-sizing: border-box;
  padding: 10px 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  font-family: inherit;
  color: #14201B;
  background: #FFFFFF;
	width: 100%;
}

.js_contact_textarea {
  min-height: 140px;
  resize: vertical;
}

.js_contact_input:focus,
.js_contact_select:focus,
.js_contact_textarea:focus {
  outline-offset: 1px;
}

.js_contact_button {
  border: 0;
  border-radius: 4px;
  background: #14384f;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
}

@media (max-width: 600px) {
  .js_contact_main {
    padding: 40px 20px;
    gap: 40px;
  }

  .js_contact_title {
    font-size: 29px;
	padding-top:30px
	text-align:center;
  }

  .js_contact_form {
    padding: 24px;
  }
}

.js_page_single_contact footer {
  margin-top: 0;
}

.js_contact_row:nth-of-type(1) span {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgOTAgOTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTIiIHhtbDpzcGFjZT0icHJlc2VydmUiIGNsYXNzPSIiPjxnPjxwYXRoIGQ9Ik0zNy4xNDcgNTAuMzI2YzUuODQgMy40NjIgMTIuMDQ5IDQuNTM3IDE4LjEzMi44MzggNS4xMzQgNS43MjQgMTAuMTQyIDExLjkzMiAxNi45NCAxNS42My0xMC4wMTcgMi4zODYtMjAuOTk4LjU5Ny0zMS4yNTcuOTU2LTYuOTIzLS4xMjQtMTQuMDgyIDEuNDMtMjAuOTk3IDAgNi4yLTUuODQ4IDExLjY4Ny0xMS4wOTcgMTcuMTgyLTE3LjQyNG0tMjQuMzQtMTYuNThjNi41NjEgNS4zNyAxMy42MDIgMTAuMDE4IDIwLjg3OCAxNC40MzYtNS40ODYgNi4zMi0xMS4zMzQgMTEuNjg5LTE3LjMgMTcuNzc5LTUuMTMzLTUuMzctMy44MjItMjQuNTgzLTMuNTc5LTMyLjIxNG02NC4xODQtMi4wM2MxLjMxOCA2LjU2MSAyLjk4MiAyOC4xNTUtMS42NjQgMzIuOTI3LTUuMjUyLTUuNDg2LTExLjU3OC05LjktMTYuNTg2LTE1LjYyOCA3LjA0LTQuNjU0IDEzLjk1Ni0xMC4wMjMgMTguMjUtMTcuM20tMjIuOTA1LTkuNjYzYzUuOTY2IDAgMTIuNzYzLS4xMiAxOC4yNTggMi4wMjUgMS4zMS43MiAyLjAyNSAxLjY3MiAyLjg1NyAzLjEwNi02LjY4IDguMTEtMTYuOTM5IDE4LjYxMS0yNy4xOTggMjEuNDc2LTYuMjEgMS4wNy0yNy44MDMtMTUuMDM3LTM0LjYtMTguOTcyLjU5Ni0zLjU3OSAzLjgxNC01LjYxIDcuMTU4LTYuMzI1IDEwLjk3NC0xLjc5IDIyLjMwOC0xLjA3NSAzMy41MjUtMS4zMW0tMTYuMzQyLTUuNzNjLTMxLjg2MS0uNzE1LTMyLjM0IDguNDc1LTMwLjE5IDM3LjIyOCAxLjA3NiAxMi44ODIgNS4zNyAxOS44MDUgMTkuMDkgMjAuMTY1IDE0LjItLjU5NyAyOC43NTMtLjI0MiA0Mi45NTItMS40MzUgMTguMDE1LTEuOTA4IDEyLjg5LTI1LjE3MyAxMy4wMDctMzcuODItLjQwNC00LjY0Ny0xLjgwMi0xMC4xNzgtNS4xOS0xMy43Mi0xLjM0OC0xLjQxLTIuOTUtMi4wMjYtNC42MzUtMi41MTgtMTEuMDc0LTMuMjI0LTIzLjUyLS45LTM1LjAzNC0xLjkiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiPjwvcGF0aD48L2c+PC9zdmc+);
  background-size: auto 20px;
  padding-left: 30px;
  background-repeat: no-repeat;
  background-position: left center;
}

.js_contact_row:nth-of-type(2) span {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDY1LjcyMSA0NjUuNzIxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNNzguMDg4IDQzNy4yMDhjLTEuNzA3IDcuNTgxIDIuNTE2IDE3LjMxMSAxMi42NTcgMTguMzIxIDk1LjcxNSA5LjQ5NiAxOTIuMzY0IDE5LjIgMjg2LjczMi01LjAzMiA2LjQ0NC0xLjY1NSA5LjQwNS02LjQ0OSA5LjY4NS0xMS41MjcgMjcuMzc1LTEzNi43NyAxNC40ODItMjc0Ljk4Mi4zMy00MTIuMDgzLS4wNDEtLjQxMS0uMTYzLS43NjctLjIzMy0xLjE1OC4xMDItNS40MDgtMi44MDQtMTAuNTcyLTkuNzgxLTExLjk5OUMyODMuNzc0LTUuNDM5IDE3OC4yNjQtNC40MDMgODQuODQ0IDE2Yy03LjQyNyAxLjYyNS0xMC4yNjYgNy40NTUtOS43MzUgMTMuMjU0QzU0LjYgMTY0LjMxMyA2MS42MSAzMDIuMDg4IDc4LjA4OCA0MzcuMjA4bTIyLjc3NC0zOTYuNjg2YzgyLjg5My0xNi45MDkgMTc3LjQxMi0xNy45MSAyNjAuNTU5LTIuMTU4IDEzLjU5NCAxMjguNzQ3IDI0Ljg4MiAyNTkuMzM4LjQzNyAzODcuNzctODQuNzI3IDE5Ljg2LTE3MS41MzcgMTEuOTk0LTI1Ny4zOCAzLjQ2OS0xNS4zNjEtMTI4LjYzNy0yMi41NjktMjYwLjQ5Ni0zLjYxNi0zODkuMDgxIiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L3BhdGg+PHBhdGggZD0iTTEyMi4zMTcgMzcyLjM3M2MyLjU0NCAzLjU3IDYuNSA1Ljc1OSAxMS4xNDggNi4xODFsLjY0LjA1NmMzNS4zNiAzLjIwOSA3MS45MTkgNi41MjUgMTA3LjkyNyA2LjUyNSAzNS40NDkgMCA2Ni41MzctMy4yNTYgOTUuMDM0LTkuOTQ4IDYuMTQ5LTEuNDQyIDEwLjI0OC01LjkxNiAxMC43ODYtMTEuNzI1IDE4Ljk4MS04Ny4xMTMgMTAuNzgtMTk0LjI0My4yNDgtMjg3LjU4NmExMSAxMSAwIDAgMC0uMTM3LS43ODdjLS4yMDMtNi4yMS00LjQ5OS0xMC45NTgtMTEuMTI2LTEyLjIwMy0zMS42ODctNS45MjYtNjUuMjIyLTguOTMyLTk5LjY4Ni04LjkzMi0zNy4zNTEgMC03My44MTggMy40OTktMTA4LjM5NyAxMC40MS04LjA0MyAxLjYxLTExLjMwNCA3Ljc0NC0xMS4wNiAxMy4zNzUtMTcuNzQ4IDEwNy42MTctNC41ODggMjMzLjUyNSAyLjA1OSAyODMuNjU1LS42MTggMy43ODguMzA5IDcuODIgMi41NjQgMTAuOTc5TTE0NS42MyA4OS43MTdjMjguODk0LTUuMTQ0IDYwLjQ5OS03Ljg2IDkxLjY2LTcuODYgMjguNjA0IDAgNTYuMzYxIDIuMTg4IDgyLjU2MyA2LjQ4OSA4LjM4OSA3My42MzYgMTcuMDgyIDE3OC43MjUuNjE0IDI2MS43MDktMjMuODcyIDQuODUtNDkuOCA3LjIwNi03OS4xMiA3LjIwNi0zMC4wNDQgMC02MC4wNjItMi40MDctOTMuMTEyLTUuMzgzLTYuMjcyLTQ5LjQ2OS0xNy41OTgtMTY0LjYzOC0yLjYwNS0yNjIuMTYxTTIzNC4wMzMgMzk2Ljc0OGMtMTkuODg2IDAtMTkuODg2IDMwLjgzMyAwIDMwLjgzMyAxOS44ODMgMCAxOS44ODMtMzAuODMzIDAtMzAuODMzIiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L3BhdGg+PC9nPjwvc3ZnPg==);
  background-size: auto 20px;
  padding-left: 30px;
  background-repeat: no-repeat;
  background-position: left center;
}

.js_contact_row:nth-of-type(3) span:first-of-type {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNDU2LjQ0OSA0NTYuNDQ5IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBjbGFzcz0iIj48Zz48cGF0aCBkPSJNMjMxLjAxNCAwYy02LjU1MyAwLTEzLjM4NS4yMTgtMTkuOTk0LjYzNWgtOC4wNjJjLTIuMTg0IDAtNC4zMjYuNDY3LTYuMzc4IDEuNDA0LTUwLjUyOCAxLjAwOC05My43MjQgMjguNTc5LTExMi45MTYgNzIuMTU4LTE4LjgyOSA0Mi43NDctOS43OTYgOTEuMzA1LTEuMzY2IDEyNC4xMTEgMTkuMzc3IDc1LjQyNiA2My40NTIgMTU2LjQ2IDEyMi4xNjQgMjI1LjYzMi03LjU4Mi0uMTkzLTE1LjE0OC0uMzkxLTIyLjYzNS0uNTk0LTEyLjM3LS4zMy0yNC43NC0uNjU1LTM3LjExNS0uOTVoLS41NzRjLTExLjEwMSAwLTE3LjAwNCA3LjYwNy0xNy4wOSAxNS4xMjItLjA5NCA3Ljc5IDUuODYgMTUuODEzIDE3LjQxNyAxNi4wNzcgMTIuMzYyLjI5IDI0LjcxNy42MiAzNy4wNzcuOTUgMzUuMjg5LjkzNCA3MS43NzkgMS45MDQgMTA3LjcxNyAxLjkwNCAxMC4zMjggMCAyMC42NTctLjA3MSAzMC45OTUtLjI1NCAxMS41NDgtLjIwMyAxNy41MjQtOC4xODcgMTcuNDQ4LTE1Ljk1NS0uMDY1LTcuNTc2LTUuOTkyLTE1LjI0NC0xNy42MjYtMTUuMjQ0aC0uMDFjLTEwLjI2OC4xODMtMjAuNTQ1LjI1NC0zMC44MTMuMjU0LTguMzMzIDAtMTYuNjk2LS4wNjItMjUuMDc0LS4xNTIgNjIuNjcyLTY2Ljc1IDEwNy40NDktMTYyLjYzOCAxMTguMTM5LTI1NC42MDUgNC4wMDctMzQuNDA4IDIuMjYtODMuNzc2LTI4Ljc3Ni0xMjMuNTQ5QzMyOS4yNDcgMTUuNzk3IDI4OC4wMiAwIDIzMS4wMTQgMG0xMTguMDAyIDE4MC41MDdjLTEyLjQxNSA4Mi45OTktNTYuMTQ2IDE3MC40MTEtMTE0LjU2MyAyMjkuNDE4LTQ2LjI2MS01My4xMTYtODQuMjc3LTExNi45MzctMTEwLjA5My0xODQuODktMTcuMjM3LTQ1LjM3Ny0yMy4xMzUtODMuMjItMTguMDI0LTExNS43MDkgNy00NC40NDggNDUuNDk5LTc1LjQ5NyA5My42My03NS40OTcuOTUyIDAgMS45MDEuMDEgMy4yOTUuMDQzIDIuMjU3IDAgNC40LS40NTQgNi4zOC0xLjM1M2g1LjQwOGMxLjAyMyAwIDIuMDY5LS4xMTQgMy4xNzEtLjM0OCA0LjI4MS0uMTgzIDguNTg2LS4yODEgMTIuODktLjI4MSA0NS43NjggMCA3OC4yMDEgMTIuMDM3IDk5LjE2OCAzNi44MSAxOS45OTMgMjMuNjIyIDI2LjI5OSA2MS4yMzggMTguNzM4IDExMS44MDciIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiPjwvcGF0aD48cGF0aCBkPSJNMjI4LjU1NCA1MC4zMDdjLS45ODggMC0xLjk3My4wMS0yLjYyMy4wNDMtNDcuMTMxLTEuODg5LTgxLjQ3MSAyOC4xMTktODQuNTQ4IDczLjI2NS0zLjUzMiA1MS42OTEgNDMuMTU4IDkwLjAzNSA4OC45ODEgOTMuNDA5IDIuMDIxLjE1MiA0LjA2Mi4yMjQgNi4wOTQuMjI0aC4wMDVjNDUuMjA5IDAgODguMjE1LTM1LjAzIDkzLjkxNy03Ni41IDIuODU4LTIwLjgwNC0yLjc3Ny00MC4wMDEtMTYuMzA2LTU1LjUxOC0xOC40OTQtMjEuMjE1LTUyLjA2NC0zNC45MjMtODUuNTItMzQuOTIzbTY3LjgzNCA4Ny40OTRjLTMuODE4IDI3Ljc2Ny0zNi44ODYgNDQuOTU4LTY1LjYxMiA0NC45NTgtMzMuNDA1LS4xNDUtNTMuMzAxLTI4LjI2Mi01My4yNDMtNTUuMzYzLjA0MS0yMC42OSAxMS45NDktNDIuOCA0NS4yMzctNDIuOC42MjkgMCAxLjI1OS4wMDUgMi4wMDMuMDI1LjE3NS4wMS4zNTMuMDE1LjUyMS4wMWExMDUgMTA1IDAgMCAxIDIuODE4LS4wNDFjMTguNTMzIDAgNDUuMjM4IDUuODAyIDU5LjUwMSAyMi4xNjEgNy40NzUgOC41NjkgMTAuNDIgMTkuMDIyIDguNzc1IDMxLjA1IiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L3BhdGg+PC9nPjwvc3ZnPg==);
  background-size: auto 20px;
  padding-left: 30px;
  background-repeat: no-repeat;
  background-position: left center;
}

.js_contact_row:nth-of-type(4) span:first-of-type {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTkyLjY4OCAxOTIuNjg4IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNOTAuNDcyIDEuMDI5QzM5LjU2NyA5LjE0OS0yLjMyNiA1MC40MzkgMy43NzQgMTAzLjk4IDguMSAxNDEuOTU0IDQyLjg2IDE5Ny41MDggODYuMTcgMTkxLjY4MmM0OS40NjEgOC42NzUgOTkuODQyLTQwLjMwNCAxMDMuMTA4LTg4LjM1OEMxOTMuMDY3IDQ3LjU2OCAxNDkuMDYtOC4zMTUgOTAuNDcyIDEuMDI5bTE0Ljg2NiAxNzAuNDAxYy0uNjEtLjI3Ny0xLjI4NS0uNDM4LTIuMDEtLjMzNC01NC4wMzggNy43MDctOTEuNC00OS42MzQtNzUuNzUtOTguMTI3IDExLjQxOS0zNS4zODYgNDkuNzk3LTU4LjM1NCA4NS45NjgtNTIuODIyIDM0LjA0NyA1LjIwNiA1NC4xMjkgMzUuNTU3IDU2Ljk2OCA2Ny45MTQgMy41MDQgMzkuOTIxLTI4LjMgNzQuMzQyLTY1LjE3NiA4My4zNjkiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiPjwvcGF0aD48cGF0aCBkPSJNOTcuODAzIDg4LjQ1NmMxLjIwOC02LjU1NiAxLjcxOS0xMy4yMjQgMi4zOTYtMTkuODQ5LjU4My01LjcwOCAyLjc2Ni0xMi42OTQgMS43NzQtMTguMzgtLjY3NC0zLjg2Ny01LjUxOC0zLjM4MS03LjM2My0uOTYyLTIuODIxIDMuNjk2LTEuODM3IDExLjQwOC0yLjA0OSAxNS43NTMtLjM3NSA3LjY3Ni0uNzc0IDE1LjM1LTEuMTM4IDIzLjAyNS0uODM1LjE4OC0xLjYyMy40MzQtMi4yNTIuODEtMS4xNzMuNy0xLjc4NyAxLjczNC0yLjAyNSAyLjgzOC0xOS40NTUgMS4wODItMzguOTY4IDEuNTMyLTU4LjQwNSAyLjc4NGwuMDAxLjAwNmMtMy40NTEtLjI1OS00LjUyMiA2LjAxNi0uMDAxIDYuMzM4IDE3Ljc5NiAxLjI2OSAzOC4zNzEgMy4xMTUgNTYuNTYtLjA5Ni4xNDIuNDA4LjMyNC44MDUuNTk0IDEuMTc4IDIuNzI3IDMuNzU2IDcuMzI0IDIuOTk2IDEwLjcxNi42NDUgMy4yOTgtMi4yODUgNS45MzUtNS4zOTIgNS4zNC05LjYyOC0uMzE1LTIuMjU3LTIuMDI4LTMuNjg1LTQuMTQ4LTQuNDYyTTU4Ljk2NSA2Ny40MjFjLTIuMDI1LTIuNDgxLTUuODgtMi45My04LjY4NC00LjEzLTIuNjc1LTEuMTQ0LTUuMDQ5IDIuNTUtMi4zNDYgNC4wMTUgMi44MDQgMS41MiA2LjI5OSAzLjYyOCA5LjU1OSAzLjY2OCAxLjk2MS4wMjMgMi41NTgtMi4yMjEgMS40NzEtMy41NTNNNzQuNjUzIDQ5LjY4M2EzOC42IDM4LjYgMCAwIDAtNi4zMTMtNC41MTVjLTIuMzk3LTEuMzY1LTUuMjk1IDIuMDk1LTMuMDMxIDMuOTI5IDEuODE4IDEuNDc0IDMuNTA5IDMuMTEyIDUuMTk0IDQuNzM1IDEuNTk1IDEuNTM3IDMuMjg3IDMuNTg4IDUuNTU5IDQuMDYgMS43MzguMzU5IDMuMTM5LTEuMDM5IDIuNzc3LTIuNzc4LS40NzItMi4yNjYtMi41MjQtMy45NzktNC4xODYtNS40MzFNOTguNTIxIDI2LjkzMmMtMS42NzYgMi45MzgtMS4zMzQgNi4zNi0xLjA0MyA5LjYxMy4yMjQgMi41MTEgMy42NjggMi41MDggMy44OTYgMCAuMjQxLTIuNjYyLjczNi01LjIwMiAxLjU5OC03LjczOC45LTIuNjUzLTMuMTA0LTQuMjQtNC40NTEtMS44NzVNMTMzLjY1NSA0Ny44NjdjLTMuNjA1IDEuNDQtNC44MDUgNS4xNjgtNi4xMTUgOC41MzgtLjgxMSAyLjA4MyAyLjM4MSAzLjIyNyAzLjQ3OSAxLjQ2NyAxLjU5OS0yLjU1OSAzLjk5Ni00Ljc4NiA1LjAwNi03LjYzOC40Ni0xLjI5OS0xLjAyOS0yLjkwMy0yLjM3LTIuMzY3TTE0OC4yMTMgNjMuNGMtMS4yNzUgMS40NzEtMi4xMjMgMi4xOTYtNC4wNjkgMi41NjgtMS4zMS4yNTEtMi4yMjYgMS42NTYtMi4yMjYgMi45MjQgMCAxLjc5MiAxLjM5IDIuODQ4IDMuMDMyIDMuMDMzIDMuMzQ2LjM3NCA3LjA1LTEuMzQ2IDguNjYxLTQuMzYgMS43NzUtMy4zMjMtMi43NDktNy4yMjMtNS4zOTgtNC4xNjVNMTYyLjQzNCA5Ny40NTljLTMuOTM1LS45NzctOC4wMDQtLjMxOS0xMS45NTctMS4yODMtMy41MTgtLjg1Ny00Ljc3IDQuMTA4LTEuNDcxIDUuMzM2IDQuMTQ0IDEuNTQyIDkuMTIgMi4xNzggMTMuNDI4IDEuMTEyIDIuNTY0LS42MzQgMi41NjEtNC41MyAwLTUuMTY1TTE0MC42MzUgMTIxLjA3NWMtMS45MTItLjQ4OC0zLjI3MSAyLjM4Mi0xLjM4MiAzLjI3NyAxLjY2Mi43ODkgMy4wNTYgMS43OSA0LjM3MiAzLjA3MiAxLjQyMSAxLjM4NCAyLjM5NiAyLjcyMiA0LjQyNSAzLjE2MiAxLjQyMS4zMDkgMi41OTktLjg2NSAyLjI4Ny0yLjI4Ni0uODY1LTMuOTUxLTYuMTMxLTYuMzE0LTkuNzAyLTcuMjI1TTEzNi4zNjUgMTQ1LjY3MmMtLjc4MS0yLjc4My0zLjg2NC00LjY5LTUuNTE5LTYuOTU2LTEuMDUzLTEuNDQzLTMuODM3LS42MzYtMy4xMTUgMS4zMTMuOTcgMi42MTkgMi42NDYgNS4yMTIgNC4yNTQgNy40OTEgMS41MTEgMi4xMzkgNS4xNTMuOTAyIDQuMzgtMS44NDhNOTcuMDc5IDE1My42ODZjLS42NzEtMi40MjMtNC4yMjEtMi40MjMtNC44OTIgMC0uNTM4IDEuOTM5LS4wNzUgNC4xODUuMDYzIDYuMTY0LjE1MSAyLjE3NC4xMyA0LjQ0Ni41NjggNi41ODQuMzcgMS44MDIgMy4yNTkgMS44MDIgMy42MjggMCAuNDM5LTIuMTM5LjQxNy00LjQxLjU2OS02LjU4NC4xMzgtMS45ODEuNjAxLTQuMjI1LjA2NC02LjE2NE03MS4wMDQgMTQxLjk2M2MtMi4xOTUgMy4zNTQtMy42MDIgNy4xMDUtMi45MTcgMTEuMTc0LjIzNyAxLjQwOSAyLjQ4OSAxLjM0OCAyLjc3NSAwIC41NjYtMi42NjQgMS4wNDEtNi4xMjcgMy40MTMtNy45MDIgMy4xODQtMi4zODMtMS4xOTktNi40MzktMy4yNzEtMy4yNzJNNTAuNDE3IDEyNS4zMTFjLTIuMTgyIDIuNTgyLTMuODI3IDUuNTI1LTUuODY1IDguMjExLTEuODQ1IDIuNDMxIDEuOTA4IDQuNjg2IDMuOTI4IDMuMDMxIDIuNDIyLTEuOTgzIDQuMTk3LTQuNTY4IDYuNTA3LTYuNjcxIDMuMTE0LTIuODM2LTEuODkzLTcuNzM5LTQuNTctNC41NzEiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiPjwvcGF0aD48L2c+PC9zdmc+);
  background-size: auto 20px;
  padding-left: 30px;
  background-repeat: no-repeat;
  background-position: left center;
}

.page_home_brand_radio {
  padding-top: 200px;
  background-image: url("images/lyme-regis-business-awards-winner.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 160px auto;
}

.footer_award {
  text-align: center;
}

.footer_award img {
  display: inline-block;
  max-width: 90px;
  height: auto;
  width: 100%;
}

.js_page_single_content h2 {
  font-size: 26px;
  margin-bottom: 60px;
  line-height: 1.2;
}

.js_page_single_content h3 {
  font-size: 26px;
  margin-bottom: 30px;
}

.js_service_area {
  text-align: center;
  padding: 60px;
  border-top: #ddd 1px solid;
  margin-top: 60px;
}

ul.js_clients_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

ul.js_clients_list li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
}

ul.js_clients_list li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

ul.js_clients_list li img {
  display: block;
  width: 100%;
  max-width: 120px;
  height: auto;
}

.js_page_single_mace ul.js_clients_list li img,
.js_page_single_website_design ul.js_clients_list li img {
  width: 100%;
  max-width: none;
}

.js_page_single_website_design ul.js_clients_list li p {
  font-size: 15px;
  color: #566671;
  font-weight: normal;
}

.js_btn_services {
  text-align: center;
  margin-top: 60px !important;
  display: block;
  border: 1px solid #13384f !important;
  color: #fff !important;
}

.js_btn_services:hover {
  border: 1px solid #13384f !important;
  color: #13384f !important;
}

.js_page_single_website_design ul.js_clients_list li h4 {
  font-size: 16px;
  font-weight: 600;
}

.js_page_single_mace .js_page_single_header h1,
.js_page_single_mace .js_page_single_intro p {
  max-width: 800px;
}

.page-template-page-website-designer ul.js_clients_list li img {
  max-width: none;
}

ul.js_clients_list li span {
  margin-top: 8px;
}

.js_clients_list {
  text-align: center;
}

.js_clients_list ul li a {
  color: #13384f;
  font-weight: 600;
}

@media (max-width: 900px) {
  ul.js_clients_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  ul.js_clients_list {
    grid-template-columns: 1fr;
  }
}

.navigation_burger button {
  all: unset;
}

.navigation_menu {
  bottom: 0;
  width: 100%;
  background: linear-gradient(120deg, #87c5d2, #ffc54f, #f64069, #87c5d2, #ffc54f, #f64069);
  background-size: 300% 100%;
  animation: moveGradient 8s linear infinite;
  z-index: 999;
}

.navigation_menu {
  position: absolute;
  top: 94px;
  left: 0;
  right: 0;
  height: calc(100vh - 94px);
  height: calc(100dvh - 94px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.home .navigation_menu {
  top: 0;
  bottom: 0;
  height: calc(100vh - 0px);
  height: calc(100dvh - 0px);
}

.navigation_menu nav {
  min-height: 100%;
  display: flex;
  overflow: hidden;
  padding-bottom: 80px;
  box-sizing: border-box;
}

.navigation_menu .contain {
  margin: auto;
  width: 100%;
  max-width: 600px;
  padding: 1.5rem 1rem;
  box-sizing: border-box;
}

.navigation_menu .fluid {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.navigation_menu a {
  display: block;
  width: 100%;
  padding: 20px 40px 20px;
  font-size: 16px;
  color: #fff;
  text-decoration: none;
  border-bottom: rgba(255, 255, 255, 0.30) 1px solid;
}

.navigation_menu a:last-of-type {
  background-image: url("images/icon-wave.png");
  background-repeat: no-repeat;
  background-size: auto 10px;
  background-position: left center;
}

.navigation_menu {
  display: none;
}

.navigation_menu.active {
  display: block;
}

.js_page_single_mace .js_clients_list h3 {
  padding-top: 60px;
  margin-top: 60px;
  border-top: #ddd 1px solid;
}

.js_page_single_content_terms_inner {
  padding: 160px 0 60px 0;
}

.js_page_single_content_terms_inner h1 {
  margin-bottom: 30px;
}

.js_page_single_content_terms_inner h2 {
  margin-bottom: 20px;
}

ul {
  line-height: 29px;
  margin: 0 0 20px 20px;
}

.js_page_single_content_terms_inner table {
  border: #ddd 1px solid;
  margin-bottom: 40px;
}

.js_page_single_content_terms_inner table th {
  background-color: #14384f;
  color: #fff;
  padding: 10px 10px;
  font-weight: 500;
}

.js_page_single_content_terms_inner table td {
  padding: 10px 10px;
}

.js_page_single_content_terms_inner table tr:nth-of-type(odd) td {
  background-color: #f6f6f6;
}

.js_page_single_content_terms_inner a {
  color: #14384f;
}

button#cc-accept {
  border: #1f2933 1px solid !important;
}

button#cc-reject {
  background-color: transparent !important;
  border: none !important;
}

.js_scroll_box_left h2 {
  font-size: 29px;
  line-height: 1.2;
}

.js_website_design_split_text a {
  color: #14384f;
}

.cc-inner {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTUwNy40NCAyMDguNjRhMTUuOTggMTUuOTggMCAwIDAtMTMuODI0LTEyLjkyOCAxNS45NiAxNS45NiAwIDAgMC0xNi40OCA5LjMxMmMtNS4wNzIgMTEuMi0xNi4yMDggMTguOTkyLTI5LjEyIDE4Ljk3Ni0xNC4zMi4wMzItMjYuNDE2LTkuNjMyLTMwLjQ0OC0yMi44OTYtMi40MzItOC4wOTYtMTAuNzUyLTEyLjg5Ni0xOC45NzYtMTAuOTc2LTUuMDU2IDEuMTg0LTkuODQgMS44NzItMTQuNTkyIDEuODcyLTM1LjI0OC0uMDY0LTYzLjkzNi0yOC43NTItNjQtNjQgMC00Ljc1Mi42ODgtOS41MzYgMS44NzItMTQuNTc2IDEuOTM2LTguMjI0LTIuODgtMTYuNTYtMTAuOTc2LTE4Ljk5MkMyOTcuNjMyIDkwLjQxNiAyODcuOTY4IDc4LjMyIDI4OCA2NGMtLjAxNi0xMi45MjggNy43NzYtMjQuMDQ4IDE4Ljk3Ni0yOS4xMmExNS45NyAxNS45NyAwIDAgMCA5LjMxMi0xNi40OEExNS45OCAxNS45OCAwIDAgMCAzMDMuMzYgNC41NkMyODguMDk2IDEuNjk2IDI3Mi4yODggMCAyNTYgMCAxMTQuNzg0LjAzMi4wMzIgMTE0Ljc4NCAwIDI1NmMuMDMyIDE0MS4yMTYgMTE0Ljc4NCAyNTUuOTY4IDI1NiAyNTYgMTQxLjIxNi0uMDMyIDI1NS45NjgtMTE0Ljc4NCAyNTYtMjU2IDAtMTYuMjg4LTEuNjk2LTMyLjA5Ni00LjU2LTQ3LjM2bS05My4xMiAyMDUuNjhDMzczLjY5NiA0NTQuOTEyIDMxNy43OTIgNDgwIDI1NiA0ODBzLTExNy42OTYtMjUuMDg4LTE1OC4zMi02NS42OEM1Ny4wODggMzczLjY5NiAzMiAzMTcuNzkyIDMyIDI1NlM1Ny4wODggMTM4LjMwNCA5Ny42OCA5Ny42OEMxMzguMzA0IDU3LjA4OCAxOTQuMjA4IDMyIDI1NiAzMmMyLjg4IDAgNS42OTYuMzA0IDguNTYuNDMyLTUuMzQ0IDkuMzEyLTguNTQ0IDIwLjAzMi04LjU2IDMxLjU2OC4wMzIgMjMuODg4IDEzLjI4IDQ0LjM2OCAzMi41OTIgNTUuMjk2LS4zMDQgMi44NDgtLjU5MiA1LjY5Ni0uNTkyIDguNzA0LjAzMiA1Mi45NzYgNDMuMDI0IDk1Ljk2OCA5NiA5NiAzLjAwOCAwIDUuODU2LS4yODggOC43MDQtLjU5MkM0MDMuNjMyIDI0Mi43MDQgNDI0LjA5NiAyNTUuOTY4IDQ0OCAyNTZjMTEuNTM2LS4wMTYgMjIuMjU2LTMuMjE2IDMxLjU2OC04LjU2LjEyOCAyLjg0OC40MzIgNS42OC40MzIgOC41NiAwIDYxLjc5Mi0yNS4wODggMTE3LjY5Ni02NS42OCAxNTguMzIiIGZpbGw9IiMxYTJlNGYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiPjwvcGF0aD48Y2lyY2xlIGN4PSIxOTIiIGN5PSIxMjgiIHI9IjMyIiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxMjgiIGN5PSIyNTYiIHI9IjMyIiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIyODgiIGN5PSIzODQiIHI9IjMyIiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIyNzIiIGN5PSIyNzIiIHI9IjE2IiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48Y2lyY2xlIGN4PSI0MDAiIGN5PSIzMzYiIHI9IjE2IiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48Y2lyY2xlIGN4PSIxNzYiIGN5PSIzNjgiIHI9IjE2IiBmaWxsPSIjMWEyZTRmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L2NpcmNsZT48L2c+PC9zdmc+);
  padding-left: 30px;
  background-size: 15px auto;
  background-position: left center;
  background-repeat: no-repeat;
}

@media (max-width: 780px) {
  .cc-inner {
    background-position: top 3px left;
  }
}

.page-template-page-contact footer {
  margin-top: 0;
}


@media (max-width: 767px) {

.page_home_brand_content h1 {
    font-size: 32px;
    line-height: 40px;
}
	
.page_home_brand_content .heading {
    font-size: 52px;
}
	
}

@media (max-width: 760px) {
.js_scroll_box_item.js_scroll_box_item_one {
    margin-top: 60px;
}

}