/*
Theme Name: Maragidyne
Theme URI: http://www.burningred.co.uk
Version: 1.0
Author: burningred
Author URI: http://www.burningred.co.uk
Description: Base theme used by burningred to create websites for its clients, using Bootstrap 4.0 as its base.
Text Domain: maragidyne
*/
.search-slider .container, .mobile-nav-content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.home-page-hero-section .hero-intro {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
}

button {
  border: none;
  cursor: pointer;
  font-family: "Utily", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  padding: 10px 15px;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
  margin: 0 30px 20px 0;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 0.5px;
  z-index: 2;
  overflow: hidden;
}
button#close-the-mob-menu {
  position: absolute;
  right: 30px;
  top: 30px;
  margin: 0;
  background: transparent;
  color: #fcfcfc;
}
button.btn--primary-lg {
  background: #3673b9;
  color: #fcfcfc;
  border: 3px solid #3673b9;
  border-radius: 100px;
  padding: 15px 30px;
  -webkit-transition: all 650ms ease-out;
  -moz-transition: all 650ms ease-out;
  -ms-transition: all 650ms ease-out;
  -o-transition: all 650ms ease-out;
  transition: all 650ms ease-out;
}
button.btn--primary-lg:before {
  content: "";
  height: 100%;
  width: 100%;
  background: #ea5330;
  display: block;
  position: absolute;
  left: -100%;
  top: 0;
  z-index: -1;
  -webkit-transition: all 650ms ease-out;
  -moz-transition: all 650ms ease-out;
  -ms-transition: all 650ms ease-out;
  -o-transition: all 650ms ease-out;
  transition: all 650ms ease-out;
  -webkit-transform: skew(30deg);
  -ms-transform: skew(30deg);
  -moz-transform: skew(30deg);
  -o-transform: skew(30deg);
  transform: skew(30deg);
  opacity: 0;
}
button.btn--primary-lg:hover {
  border: 3px solid #ea5330;
  -webkit-transition: all 0ms ease;
  -moz-transition: all 0ms ease;
  -ms-transition: all 0ms ease;
  -o-transition: all 0ms ease;
  transition: all 0ms ease;
}
button.btn--primary-lg:hover:before {
  left: 0;
  -webkit-transition: all 0ms ease;
  -moz-transition: all 0ms ease;
  -ms-transition: all 0ms ease;
  -o-transition: all 0ms ease;
  transition: all 0ms ease;
  opacity: 1;
  -webkit-transform: skew(0deg);
  -ms-transform: skew(0deg);
  -moz-transform: skew(0deg);
  -o-transform: skew(0deg);
  transform: skew(0deg);
}
button.btn--secondary-lg {
  background: transparent;
  color: #fcfcfc;
  border: 3px solid #3673b9;
  border-radius: 100px;
  padding: 15px 30px;
}
button.btn--secondary-lg:before {
  content: "";
  height: 100%;
  width: 100%;
  background: #182945;
  display: block;
  position: absolute;
  left: -100%;
  top: 0;
  z-index: -1;
  -webkit-transition: all 650ms ease-out;
  -moz-transition: all 650ms ease-out;
  -ms-transition: all 650ms ease-out;
  -o-transition: all 650ms ease-out;
  transition: all 650ms ease-out;
  -webkit-transform: skew(30deg);
  -ms-transform: skew(30deg);
  -moz-transform: skew(30deg);
  -o-transform: skew(30deg);
  transform: skew(30deg);
  opacity: 0;
}
button.btn--secondary-lg:hover {
  border: 3px solid #182945;
  -webkit-transition: all 0ms ease;
  -moz-transition: all 0ms ease;
  -ms-transition: all 0ms ease;
  -o-transition: all 0ms ease;
  transition: all 0ms ease;
}
button.btn--secondary-lg:hover:before {
  left: 0;
  -webkit-transition: all 0ms ease;
  -moz-transition: all 0ms ease;
  -ms-transition: all 0ms ease;
  -o-transition: all 0ms ease;
  transition: all 0ms ease;
  opacity: 1;
  -webkit-transform: skew(0deg);
  -ms-transform: skew(0deg);
  -moz-transform: skew(0deg);
  -o-transform: skew(0deg);
  transform: skew(0deg);
}
button .mob-burger {
  background: transparent;
  z-index: 99999;
}
button.search-button {
  background: transparent;
}
@media (min-width: 992px) {
  button.search-button {
    margin-top: -10px;
  }
}

input.secondary-small {
  font-family: "Utily", sans-serif;
  background: transparent;
  border: 3px solid #3673b9;
  border-radius: 100px;
  padding: 20px 35px;
  color: #182945;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 600;
  margin-left: 20px;
  cursor: pointer;
  position: relative;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
input.secondary-small:hover {
  background: #182945;
  border: 3px solid #182945;
  color: #fcfcfc;
}

/* Nav */
.header-nav-menu ul {
  overflow: hidden;
  margin-bottom: 0;
}
.header-nav-menu li.menu-item {
  display: inline;
  margin: 0 15px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.header-nav-menu li.menu-item a {
  color: #182945;
  -webkit-transition: all 375ms ease;
  -moz-transition: all 375ms ease;
  -ms-transition: all 375ms ease;
  -o-transition: all 375ms ease;
  transition: all 375ms ease;
}
.transparent.for-dark .header-nav-menu li.menu-item a {
  color: #fcfcfc;
  -webkit-transition: all 375ms ease;
  -moz-transition: all 375ms ease;
  -ms-transition: all 375ms ease;
  -o-transition: all 375ms ease;
  transition: all 375ms ease;
}
.transparent.for-dark:hover .header-nav-menu li.menu-item a {
  color: #182945;
  -webkit-transition: all 375ms ease;
  -moz-transition: all 375ms ease;
  -ms-transition: all 375ms ease;
  -o-transition: all 375ms ease;
  transition: all 375ms ease;
}

ul#menu-footer {
  list-style: none;
}
ul#menu-footer li {
  display: inline;
  margin-left: 10px;
}

.navbar {
  padding: 90px 20px 50px;
  -webkit-transition: all 400ms ease;
  -moz-transition: all 400ms ease;
  -ms-transition: all 400ms ease;
  -o-transition: all 400ms ease;
  transition: all 400ms ease;
  background: #fcfcfc;
}
@media (max-width: 991px) {
  .navbar {
    padding: 50px 35px 40px;
  }
}
.navbar.transparent {
  background: none;
}
.navbar.transparent:before {
  content: "";
  position: absolute;
  display: block;
  z-index: -2;
  width: 100%;
  height: 64%;
  background: #fcfcfc;
  top: -300px;
  left: 0;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.navbar.transparent:hover:before {
  content: "";
  position: absolute;
  display: block;
  z-index: -2;
  width: 100%;
  height: 100%;
  background: #fcfcfc;
  top: 0;
  left: 0;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.navbar .bg-dark {
  background: transparent !important;
}
.navbar.scrolled-nav {
  padding: 45px 20px 20px;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  opacity: 0;
}
.navbar.scrolled-nav:hover {
  opacity: 1;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

.mobile-nav {
  position: fixed;
  z-index: 99999;
  background: #182945;
  width: 100%;
  height: 100%;
  top: 0;
  display: none;
}
.mobile-nav.active {
  display: block;
}
.mobile-nav-content {
  width: 95%;
}
.mobile-nav .mob-nav-menu {
  list-style-type: none;
}
.mobile-nav .mob-nav-menu .menu-item a {
  color: #fcfcfc;
  font-size: 3em;
}

a.img-brand-logo {
  width: 100%;
  padding-bottom: calc((1 / 4) * 100%);
  background-repeat: no-repeat !important;
  background-position: center;
  background: url("/wp-content/themes/Maragidyne/img/tutis-logo-ls.svg");
  background-size: contain;
  display: block;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
.transparent.for-dark a.img-brand-logo {
  background: url("/wp-content/themes/Maragidyne/img/tutis-logo-white-blue.svg");
}
#global-nav:hover a.img-brand-logo {
  background: url("/wp-content/themes/Maragidyne/img/tutis-logo-ls.svg");
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
#global-nav.scrolled-nav a.img-brand-logo {
  padding-bottom: calc((1 / 5) * 100%);
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}

.page-footer img.nav-logo {
  margin-top: auto;
  margin-bottom: auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.image-holder {
  width: 100%;
  height: 0;
  display: block;
  position: relative;
  margin-bottom: 20px;
}
.image-holder.img-square {
  padding-top: 100%;
}
.image-holder.img-panorama-landscape {
  padding-top: 33.3333333333%;
}
.image-holder.img-panorama-portrait {
  padding-top: 300%;
}
.image-holder.img-mf-landscape {
  padding-top: 75%;
}
.image-holder.img-mf-portrait {
  padding-top: 133.3333333333%;
}
.image-holder.img-lf-landscape {
  padding-top: 80%;
}
.image-holder.img-lf-portrait {
  padding-top: 125%;
}
.image-holder.img-hd-landscape {
  padding-top: 56.25%;
}
.image-holder.img-hd-portrait {
  padding-top: 177.7777777778%;
}
.image-holder.img-golden-portrait {
  padding-top: 161.80334%;
}
.image-holder.img-golden-landscape {
  padding-top: 61.8034213632%;
}
.image-holder > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-holder:before {
  content: attr(data-aspect-ratio-type);
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  text-transform: uppercase;
  font-weight: 900;
  background: white;
  padding: 5px 15px;
  display: inline-block;
  font-size: 10px;
}

img.alignleft {
  width: auto !important;
  float: left;
  margin-top: 0;
  padding-top: 0;
  padding-right: 25px;
  height: auto;
  margin-right: 40px;
}
@media (max-width: 991px) {
  img.alignleft {
    width: 100% !important;
    margin-right: 0;
    padding-right: 0;
  }
}

img.alignright {
  width: auto !important;
  float: right;
  margin-top: 0;
  padding-top: 0;
  padding-left: 25px;
  height: auto;
  margin-left: 40px;
}
@media (max-width: 991px) {
  img.alignright {
    width: 100% !important;
    margin-left: 0;
    padding-left: 0;
  }
}

@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-Regular.eot");
  src: url("inc/fonts/Utily-Regular.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-Regular.woff") format("woff"), url("inc/fonts/Utily-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-RegularIt.eot");
  src: url("inc/fonts/Utily-RegularIt.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-RegularIt.woff") format("woff"), url("inc/fonts/Utily-RegularIt.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-Light.eot");
  src: url("inc/fonts/Utily-Light.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-Light.woff") format("woff"), url("inc/fonts/Utily-Light.ttf") format("truetype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-LightIt.eot");
  src: url("inc/fonts/Utily-LightIt.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-LightIt.woff") format("woff"), url("inc/fonts/Utily-LightIt.ttf") format("truetype");
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-Medium.eot");
  src: url("inc/fonts/Utily-Medium.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-Medium.woff") format("woff"), url("inc/fonts/Utily-Medium.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-MediumIt.eot");
  src: url("inc/fonts/Utily-MediumIt.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-MediumIt.woff") format("woff"), url("inc/fonts/Utily-MediumIt.ttf") format("truetype");
  font-style: italic;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-Bold.eot");
  src: url("inc/fonts/Utily-Bold.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-Bold.woff") format("woff"), url("inc/fonts/Utily-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Utily";
  src: url("inc/fonts/Utily-BoldIt.eot");
  src: url("inc/fonts/Utily-BoldIt.eot?#iefix") format("embedded-opentype"), url("inc/fonts/Utily-BoldIt.woff") format("woff"), url("inc/fonts/Utily-BoldIt.ttf") format("truetype");
  font-style: italic;
  font-weight: 600;
  font-display: swap;
}
.input--style {
  width: 100%;
  position: relative;
  display: block;
}

.input__field {
  border: 0;
  border-radius: 0;
  float: right;
  width: 100%;
  background: transparent;
  border-bottom: 3px solid #3673b9;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
  font-family: "Utily", sans-serif;
  color: #fcfcfc;
}
.input--filled .input__field {
  border-bottom: 3px solid #ea5330;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}

.input__label {
  position: relative;
  width: 100%;
}

.input__label-content {
  position: relative;
  width: 100%;
  display: inline-block;
}
.input__label-content::before {
  content: attr(data-contact-field);
  position: absolute;
  top: -30px;
  left: 0;
  font-family: "Utily", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 1;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
  color: #fcfcfc;
}
.input--filled .input__label-content::before {
  left: -100%;
  opacity: 0;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
.input__label-content::after {
  content: attr(data-contact-field);
  position: relative;
  left: -100%;
  opacity: 0;
  font-family: "Utily", sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
  font-size: 80%;
  font-weight: 700;
  color: #fcfcfc;
}
.input--filled .input__label-content::after {
  left: 0%;
  opacity: 1;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}

.contact-sc .input__label-content:before, .contact-sc .input__label-content:after {
  color: #1b1b1b;
}

h1 {
  font-family: "Utily", sans-serif;
  color: #3673b9;
  letter-spacing: -0.05rem;
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 30px;
}
h1 {
  font-size: 38px;
}
@media screen and (min-width: 320px) {
  h1 {
    font-size: calc(38px + 16 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h1 {
    font-size: 54px;
  }
}
h1.display-2 {
  font-size: 48px;
}
@media screen and (min-width: 320px) {
  h1.display-2 {
    font-size: calc(48px + 14 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h1.display-2 {
    font-size: 62px;
  }
}
h1.display-3 {
  font-size: 42px;
}
@media screen and (min-width: 320px) {
  h1.display-3 {
    font-size: calc(42px + 16 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h1.display-3 {
    font-size: 58px;
  }
}
.pts-content-main h1 {
  font-size: 40px;
}
@media screen and (min-width: 320px) {
  .pts-content-main h1 {
    font-size: calc(40px + 44 * ((100vw - 320px) / 960));
  }
}
@media screen and (min-width: 1280px) {
  .pts-content-main h1 {
    font-size: 84px;
  }
}

h2 {
  font-family: "Utily", sans-serif;
  line-height: 1.25;
  margin-bottom: 20px;
}
h2 {
  font-size: 32px;
}
@media screen and (min-width: 320px) {
  h2 {
    font-size: calc(32px + 10 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h2 {
    font-size: 42px;
  }
}
h2.display-3 {
  font-size: 36px;
}
@media screen and (min-width: 320px) {
  h2.display-3 {
    font-size: calc(36px + 22 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h2.display-3 {
    font-size: 58px;
  }
}

h3 {
  font-family: "Utily", sans-serif;
  line-height: 1.25;
  margin-bottom: 20px;
}
h3 {
  font-size: 28px;
}
@media screen and (min-width: 320px) {
  h3 {
    font-size: calc(28px + 10 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h3 {
    font-size: 38px;
  }
}

h4 {
  font-family: "Utily", sans-serif;
  line-height: 1.25;
  margin-bottom: 20px;
}
h4 {
  font-size: 22px;
}
@media screen and (min-width: 320px) {
  h4 {
    font-size: calc(22px + 10 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h4 {
    font-size: 32px;
  }
}

h5 {
  font-family: "Utily", sans-serif;
  line-height: 1.25;
  margin-bottom: 0px;
  text-transform: uppercase;
  font-weight: 900;
  color: #3673b9;
}
h5 {
  font-size: 16px;
}
@media screen and (min-width: 320px) {
  h5 {
    font-size: calc(16px + 3 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h5 {
    font-size: 19px;
  }
}

h6 {
  font-family: "Utily", sans-serif;
  line-height: 1.5;
  margin-bottom: 10px;
}
h6 {
  font-size: 16px;
}
@media screen and (min-width: 320px) {
  h6 {
    font-size: calc(16px + 8 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  h6 {
    font-size: 24px;
  }
}
h6 + p {
  margin-bottom: 0;
}

p {
  font-family: "Utily", sans-serif;
  letter-spacing: -0.005rem;
  line-height: 1.5;
  margin-bottom: 30px;
}
p {
  font-size: 16px;
}

li {
	font-family: "Utily", sans-serif;
}

ul.checked {
		list-style: none;
	padding: 0
}

ul.checked li:before {
  content: '✓';
	padding-right: 10px;
	color: #3674b9;
}

@media screen and (min-width: 320px) {
  p {
    font-size: calc(16px + 3 * ((100vw - 320px) / 880));
  }
}
@media screen and (min-width: 1200px) {
  p {
    font-size: 19px;
  }
}
.page-footer p {
  margin-bottom: 0;
}
p + p, p + ul, p + ol {
  margin-top: -15px;
}

a {
  color: #3673b9;
  font-family: "Utily", sans-serif;
}
a.service_link {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 400;
}
a:hover {
  color: #ea5330;
}

.white highlight {
  color: #ea5330;
}

textarea {
  max-width: 100%;
}

.sidebar__blog {
  margin-top: 80px;
}
.sidebar img {
  margin-left: 0;
}
.sidebar img.sidebar-logo {
  max-width: 220px;
  margin-left: 0;
}

.search-slider {
  background: #fcfcfc;
  width: 100%;
  height: 150px;
  position: fixed;
  top: -150px;
  left: 0;
  z-index: 99999999;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.search-slider.active {
  top: 0;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}

input.form-control {
  border: 0px;
  border-bottom: 2px solid #ea5330;
  background: transparent;
  border-radius: 0;
  font-family: "Utily", sans-serif;
}
input.form-control {
  font-size: 24px;
}
@media screen and (min-width: 320px) {
  input.form-control {
    font-size: calc(24px + 10 * ((100vw - 320px) / 1600));
  }
}
@media screen and (min-width: 1920px) {
  input.form-control {
    font-size: 34px;
  }
}
input.form-control::placeholder {
  color: #1b1b1b;
  opacity: 1;
  font-weight: 300;
}
input.form-control:-moz-placeholder {
  color: #1b1b1b;
  opacity: 1;
  font-weight: 300;
}
input.form-control::-moz-placeholder {
  color: #1b1b1b;
  opacity: 1;
  font-weight: 300;
}
input.form-control:-ms-input-placeholder {
  color: #1b1b1b;
  opacity: 1;
  font-weight: 300;
}
input.form-control::-webkit-input-placeholder {
  color: #1b1b1b;
  opacity: 1;
  font-weight: 300;
}

@keyframes fadein {
  0% {
    opacity: 0;
    top: -400px;
  }
  15% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
    top: 0;
  }
  85% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    top: -400px;
  }
}
.fade-in-ani {
  -webkit-animation: fadein 500ms ease-out;
  animation: fadein 500ms ease-out;
}

.fade-out-ani {
  -webkit-animation: fadeout 500ms ease-out;
  animation: fadeout 500ms ease-out;
  display: block;
}

.slide-in {
  opacity: 0;
  -webkit-transform: translateY(50px) scale(0.9);
  -ms-transform: translateY(50px) scale(0.9);
  -moz-transform: translateY(50px) scale(0.9);
  -o-transform: translateY(50px) scale(0.9);
  transform: translateY(50px) scale(0.9);
  -webkit-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -moz-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -ms-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -o-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
}
.slide-in.appear {
  opacity: 1;
  -webkit-transform: translateY(0px) scale(1);
  -ms-transform: translateY(0px) scale(1);
  -moz-transform: translateY(0px) scale(1);
  -o-transform: translateY(0px) scale(1);
  transform: translateY(0px) scale(1);
  -webkit-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -moz-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -ms-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  -o-transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
  transition: opacity 350ms ease, transform 350ms ease, background-image 0ms linear;
}

.parallax--bg {
  background-size: cover;
}

path.fa-primary {
  --fa-primary-color: #3673b9;
}

path.fa-secondary {
  --fa-secondary-opacity: 1;
  --fa-secondary-color: #ea5330;
}

.navbar .container .row {
  width: 100%;
}

.black {
  color: #1b1b1b;
}

.white {
  color: #fcfcfc;
}

.blue {
  color: #3673b9;
}

.orange {
  color: #ea5330;
}

#main-content {
  margin-top: 100px;
}

#main {
  width: 100%;
}

.hide {
  display: none;
}
.hide--intro {
  display: none;
}
.gecko .hide--intro {
  display: block;
}

::-moz-selection {
  background: #3673b9;
  color: #fcfcfc;
}

::selection {
  background: #3673b9;
  color: #fcfcfc;
}

html {
  font-family: "Utily", sans-serif;
  overflow-x: hidden;
}

#wpadminbar {
  z-index: 999999999;
}

body {
  background: #fcfcfc;
}
body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
body::-webkit-scrollbar-thumb {
  background: #3673b9;
}
body::-webkit-scrollbar-track {
  background: #fcfcfc;
}
body {
  scrollbar-face-color: #3673b9;
  scrollbar-track-color: #fcfcfc;
}

.page-header {
  height: 40vh;
  min-height: 350px;
  position: relative;
  display: block;
  margin: 25px -20vw 40px;
  padding: 40px 20vw 0;
}
@media (max-width: 991px) {
  .page-header {
    height: 70vh;
  }
}
.page-header .container {
  position: relative;
  height: 100%;
}
.page-header .container .pts-content-main {
  position: absolute;
  bottom: -30px;
  background: #fcfcfc;
  padding: 20px 40px;
  margin: 0 -40px;
}
.page-header .container .pts-content-main:before {
  content: "";
  height: 100%;
  width: 1px;
  display: block;
  background: #fcfcfc;
  position: absolute;
  padding-left: 100vw;
  margin-left: -100vw;
  margin-top: -20px;
}
.page-header .container .pts-content-sub {
  position: absolute;
  bottom: -30px;
  right: 110px;
  color: #fcfcfc;
  background: #3673b9;
  padding: 25px 40px 10px;
}
@media (max-width: 991px) {
  .page-header .container .pts-content-sub {
    bottom: -70px;
    right: 0;
    width: 100%;
  }
}

img.post-main-img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: var(--h-pos) var(--v-pos);
}

img {
  width: 100%;
  height: auto;
}
img.nav-logo {
  height: 50px;
  width: auto;
}

.news--thumbnail {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translateY(160px);
  -ms-transform: translateY(160px);
  -moz-transform: translateY(160px);
  -o-transform: translateY(160px);
  transform: translateY(160px);
}
.news--thumbnail img.wp-post-image {
  min-height: 350px;
  height: 45vh;
  max-height: 650px;
  object-fit: cover;
}
@supports (height: clamp(0px, 0px, 0px)) {
  .news--thumbnail img.wp-post-image {
    height: clamp($min, $ideal, $max);
  }
}

.home-page-hero-section {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
.home-page-hero-section .container {
  position: relative;
  height: 100vh;
}
.home-page-hero-section .hero-intro {
  right: 100px;
  max-width: 500px;
  width: 80vw;
  background: #3673b9;
  padding: 40px;
  z-index: 250;
}
.home-page-hero-section .hero-intro:after {
  content: "";
  height: 100%;
  width: 1px;
  position: absolute;
  right: 0;
  top: 0;
  padding-right: 100vw;
  background: #3673b9;
  margin-right: -100vw;
}
.home-page-hero-section .hero-intro h1 {
  color: #fcfcfc;
}
.home-page-intro-section {
  background: #fcfcfc;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
.home-page-intro-section .container {
  position: relative;
  height: 100vh;
}
.home-page-quote-section {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}
.home-page-quote-section .container {
  position: relative;
  height: 100vh;
}
.home-page-services-section {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background: #3673b9;
}
.home-page-services-section .container {
  position: relative;
  height: 100vh;
}
.home-page-services-section .te-services-holder {
  height: 60vh;
  width: 100%;
  min-height: 300px;
  display: block;
  position: relative;
  overflow: hidden;
  padding: 30px;
  cursor: pointer;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
@media (max-width: 767px) {
  .home-page-services-section .te-services-holder {
    height: 10vh;
  }
}
.home-page-services-section .te-services-holder h2 {
  position: relative;
  bottom: -100px;
  -webkit-transition: all 300ms ease 50ms;
  -moz-transition: all 300ms ease 50ms;
  -ms-transition: all 300ms ease 50ms;
  -o-transition: all 300ms ease 50ms;
  transition: all 300ms ease 50ms;
}
.home-page-services-section .te-services-holder p {
  display: block;
  opacity: 0;
  position: relative;
  bottom: -100px;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.home-page-services-section .te-services-holder:hover {
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
@media (max-width: 767px) {
  .home-page-services-section .te-services-holder:hover {
    height: 15vh;
  }
}
.home-page-services-section .te-services-holder:hover h2 {
  bottom: 0;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.home-page-services-section .te-services-holder:hover p {
  display: block;
  opacity: 1;
  position: relative;
  bottom: 20px;
  -webkit-transition: all 300ms ease 50ms;
  -moz-transition: all 300ms ease 50ms;
  -ms-transition: all 300ms ease 50ms;
  -o-transition: all 300ms ease 50ms;
  transition: all 300ms ease 50ms;
}
.home-page-services-section .te-services-holder .te-services-info {
  position: absolute;
  bottom: 30px;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}

section.page--header {
  height: clamp(420px, 60vh, 720px);
  margin-bottom: 140px;
  background-size: cover;
}
section.page--header:before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: #182945;
  opacity: 0.5;
  mix-blend-mode: multiply;
}
.blog section.page--header {
  height: clamp(320px, 42vh, 650px);
}
@media (max-width: 991px) {
  section.page--header {
    margin-bottom: 80px;
  }
}
section.page--header .intro--title h1 {
  background: transparent;
  display: inline-block;
  padding: 20px 50px 20px 0;
  position: relative;
  z-index: 5;
}
.transparent.for-dark + section.page--header .intro--title h1 {
  color: #fcfcfc;
}
.transparent.for-light + section.page--header .intro--title h1 {
  color: #182945;
}
section.page--header .intro--subtitle {
  background: #3673b9;
  padding: 30px 40px;
  margin-bottom: -80px;
  color: #fcfcfc;
}
section.page--header .intro--subtitle p {
  margin-bottom: 0;
}
section.page--header_news {
  min-height: 400px;
  height: 40vh;
  max-height: 800px;
  background: #90bee7;
  margin-bottom: 70px;
}
@supports (height: clamp(0px, 0px, 0px)) {
  section.page--header_news {
    height: clamp($min, $ideal, $max);
  }
}
@media (max-width: 991px) {
  section.page--header_news {
    min-height: 800px;
    height: 80vh;
    max-height: 1280px;
  }
  @supports (height: clamp(0px, 0px, 0px)) {
    section.page--header_news {
      height: clamp($min, $ideal, $max);
    }
  }
}
section.page--process {
  background: #182945;
  color: #fcfcfc;
  min-height: 70vh;
  height: auto;
  padding: 40px 0;
}
section.page--content {
  margin-bottom: 90px;
}
section.page--content img {
  margin-left: -90px;
  width: calc(100% + 120px);
  padding: 40px 0;
}
section.page--contact {
  min-height: calc(80vh - 40px);
  background: #182945;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 80px;
}
section.page--home_top {
  height: auto;
  min-height: 100vh;
}
section.news-feed #filter-options {
  margin-top: -70px;
  padding-bottom: 40px;
}
section.news-feed .news-post-single {
  overflow: hidden;
  height: 320px;
  width: 100%;
  position: relative;
  margin-bottom: 20px;
  border: 0px solid #fcfcfc;
  -webkit-transition: all 240ms ease-in-out;
  -moz-transition: all 240ms ease-in-out;
  -ms-transition: all 240ms ease-in-out;
  -o-transition: all 240ms ease-in-out;
  transition: all 240ms ease-in-out;
}
section.news-feed .news-post-single:before {
  content: "";
  position: absolute;
  background: #182945;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0.7;
  mix-blend-mode: multiply;
}
section.news-feed .news-post-single:hover {
  border: 20px solid #fcfcfc;
  -webkit-transition: all 240ms ease-in-out;
  -moz-transition: all 240ms ease-in-out;
  -ms-transition: all 240ms ease-in-out;
  -o-transition: all 240ms ease-in-out;
  transition: all 240ms ease-in-out;
}
section.news-feed .news-post-single:hover img.post-main-image {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 240ms ease-in-out;
  -moz-transition: all 240ms ease-in-out;
  -ms-transition: all 240ms ease-in-out;
  -o-transition: all 240ms ease-in-out;
  transition: all 240ms ease-in-out;
}
section.news-feed .news-post-single.news-post-single--recent {
  height: 550px !important;
}
section.news-feed .news-post-single img.post-main-image {
  height: 100%;
  object-fit: cover;
  width: 100%;
  -webkit-filter: brightness(0.5);
  filter: brightness(0.5);
  -webkit-transition: all 240ms ease-in-out;
  -moz-transition: all 240ms ease-in-out;
  -ms-transition: all 240ms ease-in-out;
  -o-transition: all 240ms ease-in-out;
  transition: all 240ms ease-in-out;
}
section.news-feed .news-post-single .post-info {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  text-align: center;
  margin-top: auto;
  margin-bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
section.news-feed .news-post-single .post-info--meta {
  color: #3673b9;
  margin-bottom: 0;
}
section.news-feed .news-post-single .post-info--title {
  color: #fcfcfc;
}
section.news-feed .pagination {
  margin: 60px auto;
}
section.news-feed .pagination--list li {
  display: inline;
  border: 3px solid #3673b9;
  padding: 15px 20px;
  min-width: 20px;
  border-radius: 100px;
  margin: 7px;
  text-transform: uppercase;
  font-weight: 700;
}
section.news-feed .pagination--list li.active {
  border: 3px solid #ea5330;
}
section.news-feed .pagination--list li a {
  color: #1b1b1b;
}
section.page--quote_home {
  position: relative;
  height: auto;
  min-height: 80vh;
  padding-top: 80px;
  padding-bottom: 80px;
}
section.page--quote_home:before {
  content: "";
  position: absolute;
  background: #182945;
  left: 0;
  right: 0;
  top: 0;
  opacity: 0.8;
  bottom: 0;
}
section.page--quote_home > * {
  color: #fcfcfc;
}
section.page--services {
  min-height: 100vh;
  height: auto;
  background: #3673b9;
  padding-top: 80px;
  padding-bottom: 80px;
}
section.page--services .services_grid {
  display: grid;
  gap: 2em;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-auto-rows: 70vh;
}
@media (max-width: 991px) {
  section.page--services .services_grid {
    grid-auto-rows: 180px;
    grid-template-columns: 1fr;
  }
}
section.page--services .service_single {
  position: relative;
  overflow: hidden;
}
section.page--services .service_single:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: #182945;
  opacity: 0.6;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
section.page--services .service_single:after {
  background: var(--background-image);
  background-position: var(--pos-h) var(--pos-v);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  content: "";
  z-index: -1;
  background-size: cover;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
section.page--services .service_single [data-service-info]:before {
  content: attr(data-service-info);
  display: block;
  font-size: 40px;
  color: white;
  line-height: 1.1;
  margin-bottom: 35px;
  position: absolute;
  bottom: 50%;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
section.page--services .service_single:hover p {
  -webkit-transition: all 350ms ease-in;
  -moz-transition: all 350ms ease-in;
  -ms-transition: all 350ms ease-in;
  -o-transition: all 350ms ease-in;
  transition: all 350ms ease-in;
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%);
  color: #fcfcfc;
}
section.page--services .service_single:hover:before {
  opacity: 0.85;
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
section.page--services .service_single:hover:after {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-transition: all 350ms ease;
  -moz-transition: all 350ms ease;
  -ms-transition: all 350ms ease;
  -o-transition: all 350ms ease;
  transition: all 350ms ease;
}
section.page--services .service_single:hover [data-service-info]:before {
  content: attr(data-service-info);
  display: block;
  font-size: 40px;
  color: white;
  line-height: 1.1;
  margin-bottom: 35px;
  position: absolute;
  bottom: 100%;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}
section.page--services .service_single_content {
  position: absolute;
  bottom: 0px;
  left: 0px;
  padding: 20px;
  -webkit-transition: all 280ms ease-in;
  -moz-transition: all 280ms ease-in;
  -ms-transition: all 280ms ease-in;
  -o-transition: all 280ms ease-in;
  transition: all 280ms ease-in;
}
section.page--services .service_single_content p {
  -webkit-transition: all 280ms ease-in;
  -moz-transition: all 280ms ease-in;
  -ms-transition: all 280ms ease-in;
  -o-transition: all 280ms ease-in;
  transition: all 280ms ease-in;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -o-transform: translateY(100%);
  transform: translateY(100%);
  color: transparent;
}
section.page--intro_large {
  height: auto;
  min-height: 100vh;
  padding: 40px;
}
@media (max-width: 991px) {
  section.page--intro_large {
    padding: 28px;
  }
}
section.page--intro_large .container {
  height: 100%;
}

.page--intro_content {
  display: grid;
  gap: 2.5em;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  grid-auto-rows: 220px;
  padding-left: -15px;
  padding-right: -15px;
}
@media (max-width: 991px) {
  .page--intro_content {
    grid-auto-rows: auto;
    margin-top: 35px;
  }
}

#process_carousel {
  min-height: 300px;
  height: 40vh;
  max-height: 750px;
}
@supports (height: clamp(0px, 0px, 0px)) {
  #process_carousel {
    height: clamp($min, $ideal, $max);
  }
}
#process_carousel .carousel-inner {
  min-height: 300px;
  height: 40vh;
  max-height: 750px;
}
@supports (height: clamp(0px, 0px, 0px)) {
  #process_carousel .carousel-inner {
    height: clamp($min, $ideal, $max);
  }
}
#process_carousel .carousel-item {
  min-height: 300px;
  height: 40vh;
  max-height: 750px;
}
@supports (height: clamp(0px, 0px, 0px)) {
  #process_carousel .carousel-item {
    height: clamp($min, $ideal, $max);
  }
}
#process_carousel .carousel-item:before {
  content: "";
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #1b1b1b66;
  position: absolute;
}
#process_carousel .carousel-caption {
  position: absolute;
  width: 20px;
  min-width: 240px;
  right: 15%;
  left: auto;
  text-align: left;
}

#gallery-1 img {
  border: 0px !important;
  width: 150px;
  height: 150px;
  object-fit: contain;
  margin-left: auto;
  margin-right: auto;
}

.panel-layout {
  margin-bottom: -90px;
  width: 100%;
}

.br-full-width {
  margin: 0 -25vw;
  padding: 0 25vw;
}
