@charset "UTF-8";
/*-------------------------------------------------------*/
/* Table of Content

1. General
2. Typography
3. Grid
4. Layout
5. Navigation
6. Footer
7. Responsive
8. Spacings
9. Helper Classes

/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/* General
/*-------------------------------------------------------*/
html {
  font-size: 100%;
}

.clearfix {
  *zoom: 1;
}

.clearfix:before, .clearfix:after {
  display: table;
  line-height: 0;
  content: "";
}

.clearfix:after {
  clear: both;
}

::-moz-selection {
  background-color: #fdf0b2;
}

::-webkit-selection {
  background-color: #fdf0b2;
}

::selection {
  background-color: #fdf0b2;
}

:focus {
  outline: none;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  background: #fff;
  outline: 0;
  overflow-x: hidden;
  overflow-y: auto;
  color: #868686;
}

body img {
  border: none;
  max-width: 100%;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

a {
  text-decoration: none;
  color: #ed1c24;
  -webkit-transition: color 0.1s ease-in-out;
  -moz-transition: color 0.1s ease-in-out;
  -ms-transition: color 0.1s ease-in-out;
  -o-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

a:hover, a:focus {
  text-decoration: none;
  color: #222222;
}

p {
  font-weight: 400;
  line-height: 26px;
  margin: 0 0 14px;
}

video {
  height: 100%;
  width: 100%;
}

hr {
  margin: 0;
  border-color: #e5e5e5;
}

/*-------------------------------------------------------*/
/* Preloader
/*-------------------------------------------------------*/
.loader-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  z-index: 999999;
  display: flex; /* Center preloader contents with Flexbox */
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* Class to force hide preloader cleanly */
.loader-mask.hide-loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.loader-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Cinematic 3D Reveal on load */
@keyframes logoPreloaderCinematic {
  0% {
    opacity: 0;
    transform: translateY(15px) scale(0.95) rotateX(12deg);
    filter: brightness(0.85) blur(1px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotateX(0);
    filter: brightness(1.02) blur(0);
  }
}

/* Heartbeat brand neon dropshadow breathe */
@keyframes preloaderGlowBreathe {
  0%, 100% {
    filter: drop-shadow(0 4px 6px rgba(237, 28, 36, 0.15));
  }
  50% {
    filter: drop-shadow(0 10px 20px rgba(237, 28, 36, 0.32));
  }
}

.loader-logo {
  max-width: 250px;
  height: auto;
  margin-bottom: 30px;
  animation: logoPreloaderCinematic 0.8s cubic-bezier(0.25, 1, 0.3, 1) forwards,
             preloaderGlowBreathe 2.4s ease-in-out infinite 0.8s;
  display: block;
}

/* Sophisticated Minimalist Horizontal Progress Bar */
.loader-progress-bar {
  width: 180px;
  height: 3px;
  background-color: rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

@keyframes preloaderFill {
  0% { width: 0%; }
  100% { width: 100%; }
}

.loader-progress-line {
  height: 100%;
  width: 0;
  background-color: #ed1c24; /* Primary red brand color */
  border-radius: 4px;
  animation: preloaderFill 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* Set standard .loader to behave as progress bar to maintain scripts.js compatibility */
.loader {
  display: block;
  margin: 0 auto;
}


/*-------------------------------------------------------*/
/* Typography
/*-------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-family: "Barlow", sans-serif;
  margin-top: 0;
  margin-bottom: 10px;
  color: #222222;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

h1, .h1 {
  font-size: 55px;
}

h2, .h2 {
  font-size: 40px;
}

h3, .h3 {
  font-size: 34px;
}

h4, .h4 {
  font-size: 28px;
}

h5, .h5 {
  font-size: 24px;
}

h6, .h6 {
  font-size: 20px;
}

@media only screen and (max-width: 767px) {
  h1, .h1 {
    font-size: 40px;
  }
  h2, .h2 {
    font-size: 32px;
  }
  h3, .h3 {
    font-size: 26px;
  }
}

h1 > a, h2 > a, h3 > a, h4 > a, h5 > a, h6 > a {
  color: inherit;
}

h1 > a:hover, h1 > a:focus, h2 > a:hover, h2 > a:focus, h3 > a:hover, h3 > a:focus, h4 > a:hover, h4 > a:focus, h5 > a:hover, h5 > a:focus, h6 > a:hover, h6 > a:focus {
  color: #ed1c24;
}

h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  color: #222222;
  font-size: 85%;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

@media only screen and (max-width: 1199px) {
  .text-lg-center {
    text-align: center;
  }
}

@media only screen and (max-width: 991px) {
  .text-md-center {
    text-align: center;
  }
}

@media only screen and (max-width: 767px) {
  .text-sm-center {
    text-align: center;
  }
}

@media only screen and (max-width: 575px) {
  .text-xs-center {
    text-align: center;
  }
}

.section-headings p {
  margin-bottom: 40px;
}

.title-row {
  margin-bottom: 32px;
  position: relative;
}

.title-row--boxed {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

.section-title + p {
  margin-top: 24px;
}

.subtitle {
  font-size: 14px;
  line-height: 1.56;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  letter-spacing: 0.3em;
  color: #ed1c24;
}

.highlight {
  color: #ed1c24;
}

blockquote {
  text-align: center;
  margin-bottom: 40px;
  margin-top: 40px;
}

blockquote p {
  font-size: 28px;
  line-height: 1.3;
  font-style: italic;
  margin-bottom: 0 !important;
  position: relative;
  color: #868686;
}

blockquote cite {
  font-size: 15px;
  font-weight: 400;
  color: #9e9e9e;
}

.lead {
  font-size: 18px;
  line-height: 30px;
}

address {
  font-style: normal;
  margin-bottom: 0;
  line-height: 26px;
}

/*-------------------------------------------------------*/
/* Grid
/*-------------------------------------------------------*/
.section-wrap {
  padding: 120px 0;
  position: relative;
  background-size: cover;
  background-position: center;
}

@media only screen and (max-width: 991px) {
  .section-wrap {
    padding: 80px 0;
  }
}

@media only screen and (max-width: 767px) {
  .section-wrap {
    padding: 60px 0;
  }
}

.section-wrap--pb-large {
  padding-bottom: 180px;
}

@media only screen and (max-width: 767px) {
  .section-wrap--pb-large {
    padding-bottom: 60px;
  }
}

.container-semi-fluid {
  padding: 0 50px;
}

@media only screen and (max-width: 767px) {
  .container-semi-fluid {
    padding: 0 20px;
  }
}

.main-container {
  margin: auto;
}

@media (min-width: 1060px) {
  .content-wrapper--boxed {
    padding: 0 30px 30px 30px;
  }
}

@media only screen and (min-width: 992px) {
  .content-wrapper--boxed-lg {
    padding: 0 70px;
  }
}

/* Columns Gutters
-------------------------------------------------------*/
.row-16 {
  margin: 0 -8px;
}

.row-16 > [class*="col-"] {
  padding: 0 8px;
}

.row-20 {
  margin: 0 -10px;
}

.row-20 > [class*="col-"] {
  padding: 0 10px;
}

.row-30 {
  margin: 0 -15px;
}

.row-30 > [class*="col-"] {
  padding: 0 15px;
}

.row-60 {
  margin: 0 -30px;
}

.row-60 > [class*="col-"] {
  padding: 0 30px;
}

/* Flexbox
-------------------------------------------------------*/
.flex-parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row nowrap;
  -ms-flex-flow: row nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-flow: row nowrap;
}

.flex-child {
  -webkit-box-flex: 1 0 0;
  -webkit-flex: 1 0 0;
  -ms-flex: 1 0 0;
  flex: 1 0 0;
}

/* Columns With No Gutters
-------------------------------------------------------*/
.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

/*-------------------------------------------------------*/
/* Buttons
/*-------------------------------------------------------*/
.btn {
  font-weight: 600;
  font-family: "Barlow", sans-serif;
  overflow: hidden;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  border: 0;
  border-radius: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  color: #000;
  background-color: #ed1c24;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.btn:hover {
  color: #000;
  border-color: transparent;
}

.btn:focus {
  outline: none;
  color: #000;
}

.btn--lg, .btn--lg.btn--button {
  font-size: 16px;
  padding: 0 48px;
}

.btn--lg span, .btn--lg.btn--button span {
  line-height: 55px;
}

.btn--lg.btn--button {
  height: 55px;
}

.btn--md, .btn--md.btn--button {
  font-size: 15px;
  padding: 0 24px;
}

.btn--md span, .btn--md.btn--button span {
  line-height: 46px;
}

.btn--md.btn--button {
  height: 46px;
}

.btn--color {
  background-color: #ed1c24;
  color: #fff;
}

.btn--color:hover {
  opacity: .92;
}

.btn--dark {
  background-color: #181818;
  color: #fff;
}

.btn--white {
  background-color: #fff;
  color: #222222;
}

.btn--light {
  background-color: #f9f9f9;
  color: #222222;
}

.btn--wide {
  width: 100%;
}

.btn--dark:hover, .btn--dark:focus, .btn--white:hover, .btn--white:focus, .btn--light:hover, .btn--light:focus {
  background-color: #ed1c24;
  border-color: transparent;
}

.btn i {
  font-size: 12px;
  position: relative;
  margin-left: 40px;
  line-height: 1;
}

.rounded,
.rounded:before {
  border-radius: 70px;
}

.section-buttons {
  margin-bottom: 50px;
}

.section-buttons a {
  margin-bottom: 10px;
}

/* Input Buttons
-------------------------------------------------------*/
.btn--button {
  border: none;
  margin-bottom: 0;
  width: auto;
}

.btn--button:hover, .btn--button:focus {
  background-color: #ed1c24;
}

.btn--button.btn--color {
  color: #fff;
}

.btn--button.btn--wide {
  width: 100%;
}

/*-------------------------------------------------------*/
/* Form Elements
/*-------------------------------------------------------*/
input,
select,
textarea {
  height: 46px;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
  background-color: transparent;
  width: 100%;
  margin-bottom: 24px;
  padding: 0 12px;
  -webkit-transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  -moz-transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  -ms-transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  -o-transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

textarea {
  height: auto;
  display: block;
  padding: 8px 16px;
  margin-bottom: 24px;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

input[type=search] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

input:focus,
textarea:focus {
  border-color: #ed1c24;
  background-color: #fff;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

/* Change Color of Placeholders */
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #868686;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #868686;
  opacity: 1;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #868686;
  opacity: 1;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #868686;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-left: 12px;
  background-image: url(../img/dropdown.png);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  font-family: "Barlow", sans-serif;
}

select::-ms-expand {
  display: none;
}

label {
  color: #222222;
  font-family: "Barlow", sans-serif;
  font-size: 15px;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 10px;
}

.form-group {
  position: relative;
}

/* Checkboxes & Radio Buttons
-------------------------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 4px 8px 0 0;
  float: left;
  text-align: center;
  line-height: 18px;
  border: 1px solid #e5e5e5;
  -moz-appearance: none;
  -webkit-appearance: none;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
  border-color: #e5e5e5;
  background-color: #f9f9f9;
}

input[type="checkbox"]:checked:after {
  content: '\f383';
  font-family: 'ui-icons';
}

input[type="checkbox"] + label,
input[type="radio"] + label {
  cursor: pointer;
  margin-bottom: 0;
  position: relative;
  line-height: 22px;
}

input[type="radio"] {
  border-radius: 50%;
  line-height: 1;
}

input[type="radio"]:checked:after {
  content: '';
  width: 8px;
  height: 8px;
  position: relative;
  top: -1px;
  border-radius: 50%;
  display: inline-block;
  background-color: #181818;
}

.radio,
.checkbox {
  padding-left: 0;
}

.radio > li,
.checkbox > li {
  padding: 7px 0;
  list-style: none;
}

#contact-form .message {
  height: 50px;
  width: 100%;
  font-size: 13px;
  line-height: 50px;
  text-align: center;
  float: none;
  margin-top: 20px;
  display: none;
  color: #fff;
}

#contact-form .message.error {
  background-color: #f44336;
}

#contact-form .message.success {
  background-color: #4CAF50;
}

/*-------------------------------------------------------*/
/* Material Inputs
/*-------------------------------------------------------*/
.material__form-group {
  margin-bottom: 40px;
}

.material__form-group--active > label {
  top: -20px;
  font-size: 14px;
  color: #ed1c24;
}

.material__label {
  position: absolute;
  font-weight: 500;
  font-size: 15px;
  top: 12px;
  left: 0;
  pointer-events: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.material__input {
  padding: 0;
  margin-bottom: 0;
  font-size: 15px;
  font-weight: 500;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #e5e5e5;
}

.material__input:focus {
  background-color: transparent;
}

.material__input:focus ~ .material__underline {
  width: 100%;
}

.material__input:focus ~ label {
  top: -20px;
  font-size: 14px;
  color: #ed1c24;
}

.material__underline {
  position: relative;
  display: block;
  height: 2px;
  width: 0;
  bottom: 0;
  position: absolute;
  background: #ed1c24;
  -webkit-transition: 0.2s ease all;
  -moz-transition: 0.2s ease all;
  -ms-transition: 0.2s ease all;
  -o-transition: 0.2s ease all;
  transition: 0.2s ease all;
}

textarea.material__input {
  padding-top: 12px;
}

/*-------------------------------------------------------*/
/* Sliders
/*-------------------------------------------------------*/
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item, .owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none;
}

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.owl-height {
  -webkit-transition: height .5s ease-in-out;
  -o-transition: height .5s ease-in-out;
  transition: height .5s ease-in-out;
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform .1s ease;
  transition: -webkit-transform .1s ease;
  -o-transition: transform .1s ease;
  transition: transform .1s ease;
  transition: transform .1s ease, -webkit-transform .1s ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  -webkit-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity .4s ease;
  -o-transition: opacity .4s ease;
  transition: opacity .4s ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.owl-prev, .owl-next {
  display: block;
  overflow: hidden;
  position: absolute;
  top: 50%;
  margin-top: -24px;
  background-color: transparent;
  text-align: center;
  line-height: 34px;
  z-index: 10;
  width: 22px;
  height: 40px;
  font-size: 22px;
  color: #fff !important;
  opacity: 0;
  border: 0;
  padding: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.owl-prev:hover, .owl-next:hover {
  opacity: .92;
  border-color: transparent;
}

.owl-prev {
  left: 10px;
}

.owl-next {
  right: 10px;
}

.owl-carousel:hover .owl-prev,
.owl-carousel:hover .owl-next {
  opacity: 1;
}

.owl-carousel--dark-arrows .owl-prev, .owl-carousel--dark-arrows .owl-next {
  color: #868686;
}

.owl-carousel--visible-arrows .owl-prev, .owl-carousel--visible-arrows .owl-next {
  opacity: 1;
}

.owl-carousel--visible-arrows .owl-prev,
.owl-carousel--visible-arrows:hover .owl-prev {
  left: -60px;
}

.owl-carousel--visible-arrows .owl-next,
.owl-carousel--visible-arrows:hover .owl-next {
  right: -60px;
}

.owl-carousel--arrows-outside .owl-prev,
.owl-carousel--arrows-outside .owl-next {
  opacity: 1;
  top: -60px;
}

.owl-carousel--arrows-outside .owl-prev {
  right: 36px;
  left: auto;
}

.owl-carousel--arrows-outside .owl-next {
  right: 0;
}

.owl-dots {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  margin-top: 30px;
}

.owl-dot {
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.owl-dot span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin: 3px;
  background: #fff;
  opacity: 0.4;
  display: block;
  -webkit-backface-visibility: visible;
  -webkit-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.owl-dot.active span,
.owl-dot:hover span {
  opacity: 1;
  background-color: #ed1c24;
}

.owl-carousel--dots-inside .owl-dots {
  position: absolute;
  bottom: 20px;
  margin-top: 0;
  width: 100%;
}

.owl-custom-nav {
  margin-top: 24px;
}

.owl-custom-nav__btn {
  text-transform: uppercase;
  font-size: 10px;
  border-radius: 5px;
  border: 1px solid #e5e5e5;
  padding: 0 5px;
  line-height: 26px;
  background-color: transparent;
}

.owl-custom-nav__btn:hover {
  background-color: #ed1c24;
  color: #fff;
  border-color: transparent;
}

.owl-custom-nav__btn:focus {
  outline: none;
}

.owl-custom-nav__btn i {
  font-size: 8px;
  margin: 0 3px;
  position: relative;
  top: -1px;
}

/* Slick Slider */
.slick-list, .slick-slider, .slick-track {
  position: relative;
  display: block;
}

.slick-loading .slick-slide, .slick-loading .slick-track {
  visibility: hidden;
}

.slick-dots li button:before, .slick-next:before, .slick-prev:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-slider {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: 0;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-list, .slick-slider .slick-track {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  top: 0;
  left: 0;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:after, .slick-track:before {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots, .slick-next, .slick-prev {
  position: absolute;
  display: block;
  padding: 0;
}

.slick-loading .slick-list {
  background: url(slick/ajax-loader.gif) center center no-repeat #fff;
}

.slick-next, .slick-prev {
  font-size: 0;
  line-height: 0;
  top: 50%;
  width: 20px;
  height: 20px;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 0;
  background: 0 0;
}

.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
  color: transparent;
  outline: 0;
  background: 0 0;
}

.slick-next:focus:before, .slick-next:hover:before, .slick-prev:focus:before, .slick-prev:hover:before {
  opacity: 1;
}

.slick-next.slick-disabled:before, .slick-prev.slick-disabled:before {
  opacity: .25;
}

.slick-next:before, .slick-prev:before {
  font-family: ui-icons;
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #fff;
}

.slick-prev {
  left: -15px;
}

[dir=rtl] .slick-prev {
  right: -15px;
  left: auto;
}

.slick-prev:before {
  content: '←';
}

.slick-next:before, [dir=rtl] .slick-prev:before {
  content: '→';
}

.slick-next {
  right: -15px;
}

[dir=rtl] .slick-next {
  right: auto;
  left: -25px;
}

[dir=rtl] .slick-next:before {
  content: '←';
}

.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  bottom: -25px;
  width: 100%;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: 0 0;
}

.slick-dots li button:focus, .slick-dots li button:hover {
  outline: 0;
}

.slick-dots li button:focus:before, .slick-dots li button:hover:before {
  opacity: 1;
}

.slick-dots li button:before {
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '';
  text-align: center;
  opacity: .25;
  background-color: #000;
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #000;
}

.slick-dots li {
  width: 7px;
  height: 7px;
  margin: 0 10px;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.slick-dots li button {
  width: 100%;
  height: 100%;
}

.slick-dots li button:before {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  opacity: 0.15;
}

.slick-dots .slick-active {
  -webkit-transform: scale(1.75);
  -moz-transform: scale(1.75);
  -ms-transform: scale(1.75);
  -o-transform: scale(1.75);
  transform: scale(1.75);
}

.slick-dots .slick-active button:before {
  background-color: #ed1c24;
}

.slick-prev:before {
  content: '\e875';
}

.slick-next:before {
  content: '\e876';
}

/*-------------------------------------------------------*/
/* Icon Font
/*-------------------------------------------------------*/
[class^="ui-"]:before,
[class*=" ui-"]:before {
  width: auto;
  margin-right: 0;
  margin-left: 0;
  line-height: normal;
}

.container-icons .fs1 {
  text-align: center;
  margin-bottom: 40px;
  width: 20%;
}

@media only screen and (max-width: 1199px) {
  .container-icons .fs1 {
    width: 25%;
  }
}

@media only screen and (max-width: 991px) {
  .container-icons .fs1 {
    width: 33.333%;
  }
}

@media only screen and (max-width: 767px) {
  .container-icons .fs1 {
    width: 50%;
  }
}

.container-icons .pbs span:first-child {
  font-size: 50px;
  display: block;
  margin-bottom: 18px;
}

/*-------------------------------------------------------*/
/* Card
/*-------------------------------------------------------*/
.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 0%;
  flex: 1 0 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
}

.card-row > div {
  margin-bottom: 48px;
}

.card-row .card {
  height: 100%;
  margin-bottom: 0;
}

.card__img-holder {
  margin-right: 0 !important;
  margin-bottom: 0 !important;
}

.card__body {
  background-color: #fff;
  padding: 40px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.card--small .card__body {
  padding: 24px 16px;
}

.card--small .entry__title {
  font-size: 16px;
  margin-bottom: 0;
}

/*-------------------------------------------------------*/
/* Magnific Pupop
/*-------------------------------------------------------*/
.mfp-bg, .mfp-wrap {
  position: fixed;
  left: 0;
  top: 0;
}

.mfp-bg, .mfp-container, .mfp-wrap {
  height: 100%;
  width: 100%;
}

.mfp-arrow:after, .mfp-arrow:before, .mfp-container:before, .mfp-figure:after {
  content: '';
}

.mfp-bg {
  z-index: 1042;
  overflow: hidden;
  background: #0b0b0b;
  opacity: .8;
}

.mfp-wrap {
  z-index: 1043;
  outline: 0 !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.mfp-container:before {
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-ajax-holder .mfp-content, .mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-arrow, .mfp-close, .mfp-counter, .mfp-preloader {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-close, .mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-error .mfp-content, .mfp-s-ready .mfp-preloader {
  display: none;
}

button.mfp-arrow, button.mfp-close {
  overflow: visible;
  cursor: pointer;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: 0;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

.mfp-figure:after, .mfp-iframe-scaler iframe {
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 0;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: .65;
  padding: 0 0 18px 10px;
  font-style: normal;
  font-size: 28px;
  font-family: Arial,Baskerville,monospace;
}

.mfp-close:focus, .mfp-close:hover {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-figure, img.mfp-img {
  line-height: 0;
}

.mfp-arrow {
  position: absolute;
  opacity: .65;
  margin: -55px 0 0;
  top: 50%;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:focus, .mfp-arrow:hover {
  opacity: 1;
}

.mfp-arrow:after, .mfp-arrow:before {
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: .7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-image-holder .mfp-content, img.mfp-img {
  max-width: 100%;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  display: block;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.mfp-figure:after, img.mfp-img {
  width: auto;
  height: auto;
  display: block;
}

img.mfp-img {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0;
  margin: 0 auto;
}

.mfp-figure:after {
  top: 40px;
  bottom: 40px;
  right: 0;
  z-index: -1;
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

/*-------------------------------------------------------*/
/* Tables
/*-------------------------------------------------------*/
.table-wrap {
  margin-bottom: 34px;
}

/*-------------------------------------------------------*/
/* Tabs
/*-------------------------------------------------------*/
.tabs__list {
  margin-bottom: -1px;
  overflow: hidden;
  padding: 0;
}

.tabs__item {
  position: relative;
  display: inline-block;
  float: left;
  font-size: 14px;
  font-weight: 700;
  color: #222222;
}

.tabs__item:not(:first-child) {
  margin-left: -1px;
}

@media only screen and (max-width: 575px) {
  .tabs__item {
    display: block;
    margin-right: 0;
  }
}

.tabs__url {
  display: block;
  position: relative;
  padding: 12px 18px 11px;
  border: 1px solid #e5e5e5;
  color: #222222;
  -webkit-transition: background-color 0.1s ease-in-out;
  -moz-transition: background-color 0.1s ease-in-out;
  -ms-transition: background-color 0.1s ease-in-out;
  -o-transition: background-color 0.1s ease-in-out;
  transition: background-color 0.1s ease-in-out;
}

.tabs__url:focus {
  color: inherit;
}

.tabs__url:hover {
  background-color: white;
}

.tabs__item--active:before, .tabs__item:hover:before {
  content: '';
  height: 2px;
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #ed1c24;
}

.tabs__item--active .tabs__url {
  color: #222222;
  background-color: #fff;
  border-bottom: 1px solid transparent;
}

.tabs__content {
  padding: 20px;
  margin-bottom: 24px;
  border: 1px solid #e5e5e5;
  overflow: hidden;
}

.tabs__content-pane {
  display: none;
}

.tabs__content-pane--active {
  display: block;
}

/*-------------------------------------------------------*/
/* Accordions and Toggles
/*-------------------------------------------------------*/
.accordion {
  margin-bottom: 8px;
}

.accordion__heading {
  position: relative;
  padding: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.accordion__toggle {
  display: block;
  width: 20px;
  height: 100%;
  line-height: 45px;
  right: 10px;
  top: 0;
  position: absolute;
}

.accordion__toggle:after {
  font-family: "ui-icons";
  content: "\f123";
  line-height: 1;
  left: 0;
  top: 0;
  color: #868686;
  font-size: 14px;
}

.accordion--is-open .accordion__toggle:after {
  content: "\f126";
}

.accordion__link {
  display: block;
  position: relative;
  padding: 14px 40px 14px 16px;
  background-color: #f9f9f9;
  border: 1px solid #e5e5e5;
}

.accordion__link h4 {
  font-size: 14px;
  font-family: "Barlow", sans-serif;
  color: #222222;
  margin-bottom: 0;
}

.accordion__link span {
  color: #868686;
}

.accordion__link:hover, .accordion__link:focus {
  color: #222222;
}

.accordion--is-open {
  background-color: #fefefe;
}

.accordion--is-open .accordion__toggle:after {
  color: #000;
}

.accordion__body {
  padding: 24px;
  border: 1px solid #e5e5e5;
  border-top-color: transparent;
}

/*-------------------------------------------------------*/
/* Alerts
/*-------------------------------------------------------*/
.alert-dismissible .close {
  padding: 0.70rem 1.25rem;
}

/*-------------------------------------------------------*/
/* Social Icons
/*-------------------------------------------------------*/
.socials--white a {
  color: #fff;
}

.socials--base a {
  width: 36px;
  height: 36px;
  line-height: 36px;
  font-size: 14px;
  margin: 0 6px 6px 0;
  color: #fff;
}

.socials--base a.social-facebook {
  background-color: #39599f;
}

.socials--base a.social-facebook:hover {
  background-color: #324e8c;
  color: #fff;
}

.socials--base a.social-twitter {
  background-color: #55ACEE;
}

.socials--base a.social-twitter:hover {
  background-color: #3ea1ec;
  color: #fff;
}

.socials--base a.social-google-plus {
  background-color: #DE4B39;
}

.socials--base a.social-google-plus:hover {
  background-color: #d93824;
  color: #fff;
}

.socials--rounded a {
  border-radius: 50%;
}

.social {
  display: inline-block;
  color: #222222;
  text-align: center;
  margin-right: 30px;
  font-size: 18px;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  transition: all 0.1s ease-in-out;
}

.social:last-child {
  margin-right: 0;
}

.social-facebook:hover {
  color: #39599f;
}

.social-twitter:hover {
  color: #55acee;
}

.social-google-plus:hover {
  color: #DE4B39;
}

.social-youtube:hover {
  color: #c61d23;
}

.social-snapchat:hover {
  color: #fffb01;
}

.social-linkedin:hover {
  color: #0e76a8;
}

.social-pinterest:hover {
  color: #c8232c;
}

.social-instagram:hover {
  color: #e1306c;
}

.social-rss:hover {
  color: #ef822a;
}

@media only screen and (max-width: 1199px) {
  .social {
    margin-right: 16px;
  }
}

/*-------------------------------------------------------*/
/* Hero
/*-------------------------------------------------------*/
.main-wrapper {
  overflow: hidden;
  position: relative;
}

@media only screen and (min-width: 992px) {
  .main-wrapper--offset {
    margin-left: 240px;
    position: relative;
    width: auto;
  }
}

@media only screen and (min-width: 1200px) {
  .main-wrapper--offset {
    margin-left: 300px;
  }
}

/*-------------------------------------------------------*/
/* Intro
/*-------------------------------------------------------*/
.intro__title {
  font-size: 50px;
  max-width: 300px;
  line-height: 1.150;
  margin-bottom: 28px;
  margin-top: 16px;
}

@media only screen and (max-width: 767px) {
  .intro__title {
    font-size: 36px;
    max-width: 100%;
  }
}

/*-------------------------------------------------------*/
/* Feature
/*-------------------------------------------------------*/
.feature {
  margin-top: 36px;
}

.feature__icon {
  font-size: 48px;
  color: #222222;
}

.feature__title {
  font-size: 16px;
  margin-top: 18px;
}

/*-------------------------------------------------------*/
/* Services
/*-------------------------------------------------------*/
.service {
  display: block;
  position: relative;
  overflow: hidden;
  height: 650px;
}

.service__img {
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.service__title {
  position: absolute;
  bottom: 10px;
  left: 30px;
  margin-bottom: 0;
  color: #fff;
  font-weight: 400;
  z-index: 2;
  -webkit-transform: rotate(-90deg);
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -o-transform: rotate(-90deg);
  transform: rotate(-90deg);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

.service--dark-overlay:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
}

.service:hover .service__img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

@media only screen and (max-width: 991px) {
  .service {
    height: 400px;
  }
}

@media only screen and (max-width: 767px) {
  .service {
    height: 300px;
  }
}

/* Service 1
-------------------------------------------------------*/
.service-1 {
  margin-bottom: 40px;
}

.service-1__url {
  display: block;
}

.service-1__img {
  width: 100%;
}

.service-1__info {
  position: relative;
  margin-top: -60px;
  margin-left: 50px;
  background-color: #fff;
  padding: 40px 30px;
}

.service-1__features {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  font-size: 14px;
}

.service-1__feature {
  line-height: 30px;
  color: #222222;
}

.service-1__feature-icon {
  color: #ed1c24;
  margin-right: 5px;
}

.service-1__title {
  font-size: 24px;
}

/* Benefit
-------------------------------------------------------*/
.offset-top-100 {
  margin-top: -100px;
}

@media only screen and (max-width: 575px) {
  .offset-top-100 {
    margin-top: 0;
  }
}

.benefit {
  padding: 40px;
  margin-bottom: 20px;
  background-color: #f9f9f9;
  text-align: center;
}

.benefit__icon {
  display: inline-block;
  font-size: 39px;
  margin-bottom: 24px;
}

.benefit__title {
  font-size: 20px;
  margin-top: 18px;
  margin-bottom: 14px;
}

/*-------------------------------------------------------*/
/* Process
/*-------------------------------------------------------*/
.process {
  text-align: center;
}

.process__icon, .process__title, .process__text {
  color: #fff;
}

.process__title {
  margin-top: 18px;
  margin-bottom: 14px;
  font-size: 20px;
}

.process__icon {
  display: inline-block;
  font-size: 39px;
  margin-bottom: 24px;
}

/*-------------------------------------------------------*/
/* Testimonials
/*-------------------------------------------------------*/
.testimonial {
  margin-bottom: 6px;
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .testimonial {
    padding: 30px;
  }
}

.testimonial__img {
  width: 55px !important;
  border-radius: 50%;
  margin-bottom: 27px;
  float: left;
  margin-right: 20px;
}

.testimonial__info {
  font-family: "Barlow", sans-serif;
  overflow: hidden;
}

.testimonial__author {
  font-size: 16px;
  color: #fff;
}

.testimonial__author:after {
  content: "/";
  margin: 0 5px 0 9px;
}

.testimonial__company {
  color: #ed1c24;
}

.testimonial__body {
  margin-top: 24px;
}

.testimonial__text {
  font-size: 24px;
  line-height: 36px;
  margin-bottom: 36px;
  display: inline-block;
}

.quote {
  font-size: 120px;
  opacity: 0.5;
  line-height: 1;
  display: block;
  font-style: normal;
  font-family: sans-serif;
  height: 50px;
}

/*-------------------------------------------------------*/
/* Partners
/*-------------------------------------------------------*/
.partners {
  padding: 36px 0;
}

/*-------------------------------------------------------*/
/* Call Us
/*-------------------------------------------------------*/
.call-us {
  background-color: #ed1c24;
  width: 80%;
  padding: 20px;
  border-radius: 10px;
  color: #222222;
  text-align: center;
}

.call-us__icon {
  font-size: 50px;
  display: inline-block;
  margin-right: 8px;
}

.call-us__title {
  font-size: 16px;
  vertical-align: top;
  display: inline-block;
  padding-top: 14px;
  max-width: 70%;
}

.call-us__phone-number {
  text-align: center;
  font-family: "Barlow", sans-serif;
  font-size: 30px;
  margin-top: 8px;
  color: #222222;
  font-weight: 600;
  display: block;
}

/*-------------------------------------------------------*/
/* Call To Action
/*-------------------------------------------------------*/
.call-to-action {
  position: relative;
  background-color: #f9f9f9;
  padding: 96px 15px;
  border-radius: 5px;
}

.call-to-action__title {
  font-size: 34px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 575px) {
  .call-to-action__title {
    font-size: 24px;
  }
}

.call-to-action__text {
  margin-bottom: 24px;
}

/*-------------------------------------------------------*/
/* Page Title
/*-------------------------------------------------------*/
.page-title {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: block;
  padding: 175px 0;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #181818;
}

.page-title.bg-dark-overlay:before {
  background-color: rgba(0, 0, 0, 0.36);
}

.page-title__holder {
  max-width: 878px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.page-title__title {
  line-height: 1.2;
  margin-bottom: 8px;
  color: #fff;
}

.page-title__subtitle {
  font-size: 18px;
  color: #fff;
  margin-bottom: 0;
}

.page-title--tall {
  padding: 300px 0;
}

@media only screen and (max-width: 991px) {
  .page-title {
    padding: 120px 0;
  }
}

@media only screen and (max-width: 767px) {
  .page-title {
    padding: 60px 0;
  }
}

/*-------------------------------------------------------*/
/* Breadcrumbs
/*-------------------------------------------------------*/
.breadcrumbs {
  padding: 0;
  margin: 0;
}

.breadcrumbs__item {
  display: inline-block;
  font-size: 16px;
  color: #fff;
}

.breadcrumbs__item:last-child:after {
  display: none;
}

.breadcrumbs__item:after {
  content: '/';
  display: inline-block;
  margin: 0 6px;
}

.breadcrumbs__url {
  color: #fff;
}

.breadcrumbs__url:hover, .breadcrumbs__url:focus {
  color: #fff;
}

/*-------------------------------------------------------*/
/* Statistic (Legacy - kept for about.html compat)
/*-------------------------------------------------------*/
.statistic {
  text-align: center;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.statistic-wrap {
  padding: 64px 0;
  border-top: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.statistic__title {
  font-size: 14px;
  font-weight: 400;
  font-family: "Open Sans", sans-serif;
}

/*-------------------------------------------------------*/
/* Premium Stat Section — Elegant Ring Cards
/*-------------------------------------------------------*/

/* Keyframes */
@keyframes statFadeUp {
  from { opacity: 0; transform: translateY(40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes statLineExpand {
  from { width: 0; }
  to   { width: 48px; }
}
@keyframes statRingDraw {
  from { stroke-dashoffset: var(--circ); }
  to   { stroke-dashoffset: var(--dash-target); }
}
@keyframes statNumPop {
  0%   { transform: scale(0.7); opacity: 0; }
  70%  { transform: scale(1.08); }
  100% { transform: scale(1);   opacity: 1; }
}
@keyframes statDotPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(237,28,36,0.5); }
  50%      { box-shadow: 0 0 0 10px rgba(237,28,36,0); }
}

/* Section */
.stat-section {
  background: linear-gradient(160deg, #faf9f7 0%, #f2eeeb 50%, #faf9f7 100%);
  margin-top: 60px;
  padding: 90px 0 100px;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
  box-shadow: 0 -2px 32px rgba(0,0,0,0.06), 0 2px 32px rgba(0,0,0,0.06);
}

/* Decorative radial glow orbs */
.stat-section::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(237,28,36,0.07) 0%, transparent 70%);
  top: -200px; left: -100px;
  pointer-events: none;
  animation: statGlowOrb 8s ease-in-out infinite alternate;
}
.stat-section::after {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(180,140,100,0.08) 0%, transparent 70%);
  bottom: -150px; right: -80px;
  pointer-events: none;
  animation: statGlowOrb 10s ease-in-out infinite alternate-reverse;
}
@keyframes statGlowOrb {
  from { transform: translate(0,0) scale(1); }
  to   { transform: translate(30px, 20px) scale(1.15); }
}

/* 4-col grid */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  position: relative;
  z-index: 1;
  padding: 0 24px;
}

/* Dividers between items */
.stat-item + .stat-item {
  border-left: 1px solid rgba(0,0,0,0.08);
}

/* Individual item */
.stat-item {
  padding: 48px 40px 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  cursor: default;
  transition: background 0.35s ease, transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.stat-item:hover {
  background: rgba(237,28,36,0.03);
  transform: translateY(-6px);
}

/* Scroll-in fade */
.stat-animate {
  opacity: 0;
  transform: translateY(40px);
}
.stat-animate.in-view {
  animation: statFadeUp 0.65s cubic-bezier(0.22,1,0.36,1) forwards;
}
.stat-item--2.stat-animate.in-view { animation-delay: 0.1s; }
.stat-item--3.stat-animate.in-view { animation-delay: 0.2s; }
.stat-item--4.stat-animate.in-view { animation-delay: 0.3s; }

/* ── SVG Ring ── */
.stat-item__ring {
  position: relative;
  width: 96px;
  height: 96px;
  margin-bottom: 24px;
  flex-shrink: 0;
}
.stat-ring-svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.stat-ring-bg {
  fill: none;
  stroke: rgba(0,0,0,0.09);
  stroke-width: 5;
}
.stat-ring-fill {
  fill: none;
  stroke-width: 5;
  stroke-linecap: round;
  /* Set via JS */
  stroke-dasharray: var(--circ, 264);
  stroke-dashoffset: var(--circ, 264);
  transition: stroke-dashoffset 1.4s cubic-bezier(0.22,1,0.36,1);
}
/* Per-item ring accent colours */
.stat-item--1 .stat-ring-fill { stroke: #ed1c24; }
.stat-item--2 .stat-ring-fill { stroke: #2541b2; }
.stat-item--3 .stat-ring-fill { stroke: #1d9a4e; }
.stat-item--4 .stat-ring-fill { stroke: #7c3aed; }

/* Icon centred inside ring */
.stat-item__icon-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stat-item__icon-wrap svg {
  width: 28px;
  height: 28px;
  stroke-width: 2;
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.stat-item--1 .stat-item__icon-wrap svg { stroke: #ed1c24; }
.stat-item--2 .stat-item__icon-wrap svg { stroke: #2541b2; }
.stat-item--3 .stat-item__icon-wrap svg { stroke: #1d9a4e; }
.stat-item--4 .stat-item__icon-wrap svg { stroke: #7c3aed; }
.stat-item:hover .stat-item__icon-wrap svg {
  transform: scale(1.18) rotate(-8deg);
}

/* ── Number ── */
.stat-item__number {
  font-size: 56px;
  font-weight: 800;
  font-family: "Barlow", sans-serif;
  line-height: 1;
  letter-spacing: -2px;
  display: block;
  margin-bottom: 10px;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
}
.stat-item--1 .stat-item__number {
  background-image: linear-gradient(135deg, #ed1c24, #ff7043);
}
.stat-item--2 .stat-item__number {
  background-image: linear-gradient(135deg, #1a1a72, #2541b2);
}
.stat-item--3 .stat-item__number {
  background-image: linear-gradient(135deg, #0f5132, #1d9a4e);
}
.stat-item--4 .stat-item__number {
  background-image: linear-gradient(135deg, #4c1d95, #7c3aed);
}
.stat-item:hover .stat-item__number {
  transform: scale(1.06);
}

/* ── Label ── */
.stat-item__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #888888;
  font-family: "Open Sans", sans-serif;
  margin-bottom: 16px;
  display: block;
  transition: color 0.3s ease;
}
.stat-item:hover .stat-item__label { color: #222222; }

/* ── Animated accent underline ── */
.stat-item__line {
  display: block;
  height: 3px;
  width: 0;
  border-radius: 2px;
  transition: none;
}
.stat-item--1 .stat-item__line { background: linear-gradient(90deg, #ed1c24, #ff7043); }
.stat-item--2 .stat-item__line { background: linear-gradient(90deg, #1a1a72, #2541b2); }
.stat-item--3 .stat-item__line { background: linear-gradient(90deg, #0f5132, #1d9a4e); }
.stat-item--4 .stat-item__line { background: linear-gradient(90deg, #4c1d95, #7c3aed); }

.stat-item.in-view .stat-item__line {
  animation: statLineExpand 0.7s 0.5s cubic-bezier(0.22,1,0.36,1) forwards;
}
.stat-item--2.in-view .stat-item__line { animation-delay: 0.6s; }
.stat-item--3.in-view .stat-item__line { animation-delay: 0.7s; }
.stat-item--4.in-view .stat-item__line { animation-delay: 0.8s; }

/* ── Responsive ── */
@media (max-width: 768px) {
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item + .stat-item { border-left: none; }
  .stat-item:nth-child(odd) { border-right: 1px solid rgba(0,0,0,0.08); }
  .stat-item:nth-child(1),
  .stat-item:nth-child(2) { border-bottom: 1px solid rgba(0,0,0,0.08); }
  .stat-item__number { font-size: 44px; }
}
@media (max-width: 480px) {
  .stat-grid { grid-template-columns: 1fr; }
  .stat-item { border-left: none !important; border-right: none !important; border-bottom: 1px solid rgba(0,0,0,0.08); }
  .stat-item:last-child { border-bottom: none; }
}

/* ── Section Heading ── */
.stat-heading {
  text-align: center;
  margin-bottom: 64px;
  position: relative;
  z-index: 1;
}
.stat-heading__tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ed1c24;
  background: rgba(237,28,36,0.12);
  border: 1px solid rgba(237,28,36,0.3);
  border-radius: 50px;
  padding: 6px 18px;
  margin-bottom: 18px;
  font-family: "Open Sans", sans-serif;
}
.stat-heading__title {
  font-size: 38px;
  font-weight: 800;
  font-family: "Barlow", sans-serif;
  color: #1a1a2e;
  line-height: 1.2;
  margin: 0 0 14px;
  letter-spacing: -0.5px;
}
.stat-heading__accent {
  background: linear-gradient(135deg, #ed1c24, #ff7043);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}
.stat-heading__sub {
  font-size: 15px;
  color: #777777;
  font-family: "Open Sans", sans-serif;
  max-width: 520px;
  margin: 0 auto 28px;
  line-height: 1.7;
}
/* Decorative animated divider */
.stat-heading__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.stat-heading__line {
  display: block;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(237,28,36,0.6), transparent);
  border-radius: 1px;
  animation: statDividerExpand 1s 0.4s cubic-bezier(0.22,1,0.36,1) forwards;
}
@keyframes statDividerExpand {
  to { width: 80px; }
}
.stat-heading__dot {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ed1c24;
  box-shadow: 0 0 12px rgba(237,28,36,0.8);
  animation: statDotPulse 2s ease-in-out infinite;
}



/*-------------------------------------------------------*/
/* Premium Stat Section — Colored Cards
/*-------------------------------------------------------*/

/* --- Keyframes --- */
@keyframes statBgDrift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
@keyframes statBarFill {
  from { width: 0; opacity: 0; }
  to   { opacity: 1; }
}
@keyframes statCardFadeUp {
  from { opacity: 0; transform: translateY(50px) scale(0.92); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}
@keyframes statIconPulse {
  0%, 100% { transform: scale(1)   rotate(0deg); }
  50%      { transform: scale(1.15) rotate(8deg); }
}
@keyframes statGlowPulse {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50%      { opacity: 0.7;  transform: scale(1.2); }
}
@keyframes statPatternMove {
  from { transform: translateX(0) translateY(0) rotate(0deg); }
  to   { transform: translateX(40px) translateY(-20px) rotate(10deg); }
}

/* --- Section wrapper --- */
.stat-section {
  position: relative;
  overflow: hidden;
  padding: 90px 0 100px;
  background: linear-gradient(160deg, #ffffff 0%, #f4f4f4 100%);
}

/* Animated dot-grid background */
.stat-bg-pattern {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.07) 1px, transparent 1px);
  background-size: 32px 32px;
  animation: statPatternMove 12s ease-in-out infinite alternate;
  pointer-events: none;
  z-index: 0;
}

/* --- 4-column grid --- */
.stat-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* --- Individual card --- */
.stat-card {
  position: relative;
  overflow: hidden;
  padding: 56px 32px 48px;
  text-align: center;
  cursor: default;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.4s ease;
}
.stat-card:hover {
  transform: translateY(-10px) scale(1.03);
  z-index: 2;
}

/* Separator line between cards */
.stat-card + .stat-card::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 1px;
  background: rgba(255,255,255,0.1);
}

/* --- Card colour themes (gradient backgrounds) --- */
.stat-card--1 {
  background: linear-gradient(145deg, #ed1c24 0%, #ff6b6b 60%, #ff8e53 100%);
  background-size: 200% 200%;
  animation: statBgDrift 8s ease infinite;
}
.stat-card--2 {
  background: linear-gradient(145deg, #1a1a72 0%, #2541b2 55%, #06beb6 100%);
  background-size: 200% 200%;
  animation: statBgDrift 9s ease infinite 1s;
}
.stat-card--3 {
  background: linear-gradient(145deg, #1d7a1d 0%, #21bf73 55%, #a8ff78 100%);
  background-size: 200% 200%;
  animation: statBgDrift 10s ease infinite 0.5s;
}
.stat-card--4 {
  background: linear-gradient(145deg, #6a0dad 0%, #b721ff 55%, #fc6767 100%);
  background-size: 200% 200%;
  animation: statBgDrift 8.5s ease infinite 1.5s;
}

/* Radial glow blob inside each card */
.stat-card__glow {
  position: absolute;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  filter: blur(50px);
  top: -40px; right: -40px;
  animation: statGlowPulse 4s ease-in-out infinite;
  pointer-events: none;
}

/* --- Icon --- */
.stat-card__icon {
  width: 60px; height: 60px;
  margin: 0 auto 20px;
  background: rgba(255,255,255,0.18);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.3);
  animation: statIconPulse 3.5s ease-in-out infinite;
  transition: background 0.3s ease, transform 0.3s ease;
}
.stat-card:hover .stat-card__icon {
  background: rgba(255,255,255,0.32);
  animation-play-state: paused;
  transform: scale(1.15) rotate(-5deg);
}
.stat-card__icon svg {
  width: 26px; height: 26px;
  color: #fff;
  stroke: #fff;
}

/* --- Number --- */
.stat-section .statistic__number {
  font-size: 68px;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  color: #ffffff;
  display: block;
  line-height: 1;
  margin-bottom: 12px;
  text-shadow: 0 4px 20px rgba(0,0,0,0.25);
  letter-spacing: -2px;
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.stat-card:hover .statistic__number {
  transform: scale(1.08);
  text-shadow: 0 6px 28px rgba(0,0,0,0.4);
}

/* --- Label --- */
.stat-card__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
  font-family: "Open Sans", sans-serif;
  margin: 0 0 20px;
  transition: color 0.3s ease;
}
.stat-card:hover .stat-card__label {
  color: #fff;
}

/* --- Animated progress bar at card bottom --- */
.stat-card__bar {
  position: absolute;
  bottom: 0; left: 0;
  height: 4px;
  width: 0;
  background: rgba(255,255,255,0.7);
  border-radius: 0 2px 0 0;
  transition: none;
}
.stat-card.in-view .stat-card__bar {
  animation: statBarFill 1.2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.stat-card--1 .stat-card__bar  { width: 0; }
.stat-card--2 .stat-card__bar  { animation-delay: 0.15s; }
.stat-card--3 .stat-card__bar  { animation-delay: 0.3s; }
.stat-card--4 .stat-card__bar  { animation-delay: 0.45s; }

/* --- Scroll-trigger fade-up animation --- */
.stat-animate {
  opacity: 0;
  transform: translateY(50px) scale(0.92);
  transition: none;
}
.stat-animate.in-view {
  animation: statCardFadeUp 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
.stat-card--2.stat-animate.in-view { animation-delay: 0.12s; }
.stat-card--3.stat-animate.in-view { animation-delay: 0.24s; }
.stat-card--4.stat-animate.in-view { animation-delay: 0.36s; }

/* --- Responsive --- */
@media (max-width: 768px) {
  .stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .stat-card + .stat-card::before { display: none; }
  .stat-section .statistic__number { font-size: 52px; }
}
@media (max-width: 480px) {
  .stat-grid { grid-template-columns: 1fr; }
  .stat-card { padding: 40px 24px 36px; }
}



/*-------------------------------------------------------*/
/* Team
/*-------------------------------------------------------*/
.team {
  margin-bottom: 32px;
  position: relative;
  overflow: hidden;
}

.team-col {
  width: 300px;
  padding: 0 15px;
}

.team__img-holder {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
}

.team__img {
  width: 100%;
}

.team__name {
  font-size: 16px;
  margin-bottom: 4px;
}

.team__occupation {
  font-size: 14px;
  color: #868686;
}

.team__details {
  opacity: 0;
  position: absolute;
  top: 60%;
  left: 0;
  padding: 30px;
  overflow: hidden;
  width: 100%;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -moz-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -ms-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -o-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
}

.team:hover .team__details {
  opacity: 1;
  top: 50%;
}

.slick-team {
  margin-left: -15px;
  margin-right: -15px;
}

.slick-team .slick-dots {
  text-align: left;
  padding: 0 5px;
}

/*-------------------------------------------------------*/
/* Newsletter
/*-------------------------------------------------------*/
.newsletter .title-row {
  margin-bottom: 20px;
}

.newsletter .lead {
  margin-top: 10px;
  margin-bottom: 32px;
}

.newsletter__form {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.newsletter .mc4wp-form-fields {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.newsletter .mc4wp-form-fields > .form-group:first-child {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 8px;
}

@media only screen and (max-width: 575px) {
  .newsletter .mc4wp-form-fields > .form-group:first-child {
    margin-right: 0;
  }
}

@media only screen and (max-width: 575px) {
  .newsletter .mc4wp-form-fields {
    display: block;
  }
}

.newsletter input {
  height: 50px;
}

/*-------------------------------------------------------*/
/* Box Offset Container
/*-------------------------------------------------------*/
.box-offset-container {
  background-color: #fff;
  padding: 100px 50px;
  margin-top: -210px;
  margin-left: 220px;
}

@media (max-width: 1440px) {
  .box-offset-container {
    padding: 50px;
    margin-left: 120px;
  }
}

@media only screen and (max-width: 991px) {
  .box-offset-container {
    margin-top: 0;
    margin-left: 0;
    padding: 30px 0;
  }
}

/*-------------------------------------------------------*/
/* Gmap
/*-------------------------------------------------------*/
.gmap {
  width: 100%;
  height: 100%;
  min-height: 400px;
}

@media only screen and (max-width: 991px) {
  .gmap {
    height: 400px;
  }
}

/*-------------------------------------------------------*/
/* Widgets
/*-------------------------------------------------------*/
.widget-title {
  margin-bottom: 18px;
  font-size: 15px;
  font-weight: 700;
  position: relative;
}

.widget-address {
  line-height: 30px;
}

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

.widget_nav_menu li {
  padding: 6px 0;
}

.widget_nav_menu li:first-child {
  padding-top: 0;
}

/* Widget Tags / Entry Tags
-------------------------------------------------------*/
.widget_tag_cloud a,
.entry__tags a {
  line-height: 1;
  color: #868686;
  display: inline-block;
  font-size: 18px;
}

.widget_tag_cloud a:hover,
.entry__tags a:hover {
  color: #ed1c24;
}

.tagcloud {
  overflow: hidden;
}

/* Cookies banner
-------------------------------------------------------*/
.cc-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0;
}

.cc-revoke,
.cc-window {
  position: relative;
}

.cc-window {
  background-color: #222222 !important;
  padding: 5px 20px !important;
}

.cc-message {
  margin-right: 20px;
  -webkit-box-flex: 0 !important;
  -ms-flex: 0 1 auto !important;
  flex: 0 1 auto !important;
  color: #fff;
  font-weight: 500;
  font-size: 15px;
}

.cc-link {
  opacity: 1;
  font-weight: 700;
}

.cc-link:hover, .cc-link:focus {
  color: #fff;
}

a.cc-btn.cc-dismiss {
  background-color: #ed1c24;
  border-radius: 5px;
  height: 32px;
  line-height: 32px;
  padding: 0 14px;
  border: 0;
  color: #fff;
  min-width: auto !important;
}

a.cc-btn.cc-dismiss:hover, a.cc-btn.cc-dismiss:focus {
  background-color: #ffae0b;
}

/*-------------------------------------------------------*/
/* Contact
/*-------------------------------------------------------*/
.contact__title {
  font-size: 22px;
  margin-bottom: 24px;
}

.contact__items {
  list-style: none;
  padding: 0;
}

.contact__item {
  margin-bottom: 20px;
}

.contact__item a {
  color: #868686;
}

.contact__item a:hover {
  color: #ed1c24;
}

.contact__item-label {
  font-weight: 700;
  display: block;
}

/*-------------------------------------------------------*/
/* Portfolio
/*-------------------------------------------------------*/
.masonry-filter {
  margin-bottom: 60px;
  margin-left: -12px;
}

.masonry-filter a {
  display: inline-block;
  position: relative;
  padding: 0 12px;
  color: #868686;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.masonry-filter a.active, .masonry-filter a:hover {
  color: #ed1c24;
}

.masonry-filter a.active:after, .masonry-filter a:hover:after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  height: 1px;
  width: 28px;
  background-color: #ed1c24;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.project {
  position: relative;
}

.project__container {
  margin-bottom: 30px;
  overflow: hidden;
}

.project__img-holder {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.project__img-holder > a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.project__img {
  width: 100%;
  height: auto;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -moz-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -ms-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -o-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.project__description {
  padding-top: 20px;
  width: 100%;
  display: block;
  left: 0;
  bottom: 0;
  z-index: 3;
  -webkit-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -moz-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -ms-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -o-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
}

.project__title {
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 5px;
}

.project__title a:hover {
  color: #ed1c24;
}

.project__text {
  color: #868686;
}

.project__category {
  color: #868686;
  font-size: 13px;
}

.project__category a {
  color: inherit;
}

.project:hover .project__description {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

.hover-overlay .project__description {
  -webkit-transform: translateY(20%);
  -moz-transform: translateY(20%);
  -ms-transform: translateY(20%);
  -o-transform: translateY(20%);
  transform: translateY(20%);
  position: absolute;
  padding: 30px;
  bottom: 0;
}

.hover-overlay .project__title,
.hover-overlay .project__date,
.hover-overlay .project__category {
  color: #fff;
}

/* Project Style 1
-------------------------------------------------------*/
.project-1 {
  position: relative;
  overflow: hidden;
  margin-bottom: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.project-1:last-child {
  margin-bottom: 0;
}

.project-1__container {
  width: 65%;
}

.project-1__description-holder {
  width: 45%;
  position: absolute;
  z-index: 1;
  background-color: #181818;
  padding: 80px 60px;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media (max-width: 1050px) {
  .project-1__description-holder {
    padding: 40px 30px;
  }
}

.project-1:nth-child(2n) .project-1__description-holder {
  left: 0;
  right: auto;
}

.project-1:nth-child(2n) .project-1__container {
  margin-left: auto;
}

.project-1__title {
  font-size: 36px;
  color: #fff;
  margin-bottom: 23px;
}

.project-1__text {
  margin-bottom: 32px;
}

.project-1 .read-more:hover,
.project-1 .read-more:focus {
  color: #fff;
}

@media only screen and (max-width: 991px) {
  .project-1 {
    display: block;
    margin-bottom: 48px;
  }
  .project-1__container, .project-1__description-holder {
    width: 100%;
  }
  .project-1__description-holder {
    padding: 40px 30px;
    position: relative;
    top: auto;
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
  }
  .project-1__title {
    font-size: 28px;
  }
}

/*-------------------------------------------------------*/
/* Single Project
/*-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .project__info {
    padding-right: 64px;
  }
}

.project__info p {
  margin-bottom: 24px;
}

.project__featured-img {
  margin-bottom: 24px;
}

@media only screen and (min-width: 992px) {
  .project__details {
    padding-left: 64px;
    padding-top: 10px;
    border-left: 1px solid #e5e5e5;
  }
}

.project__meta {
  margin-bottom: 33px;
  list-style: none;
  padding: 0;
}

.project__meta-item {
  line-height: 28px;
  font-size: 15px;
  margin-bottom: 24px;
}

.project__meta-item:last-child {
  margin-bottom: 0;
}

.project__meta-label {
  font-weight: 700;
  font-family: "Barlow", sans-serif;
  color: #222222;
  display: block;
}

.share-label {
  font-size: 18px;
}

/*-------------------------------------------------------*/
/* Project Nav
/*-------------------------------------------------------*/
.project-nav {
  background-color: #f9f9f9;
  padding: 38px 0;
}

.project-nav .row > div {
  position: relative;
}

.project-nav__item {
  font-family: "Barlow", sans-serif;
  color: #222222;
  font-size: 14px;
  line-height: 20px;
  text-transform: uppercase;
}

.project-nav__item:hover {
  color: #ed1c24;
}

.project-nav__item a {
  color: inherit;
}

.project-nav__page-prev a,
.project-nav__page-next a {
  position: relative;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.project-nav__page-prev i,
.project-nav__page-next i {
  font-size: 17px;
  display: inline-block;
  position: relative;
  line-height: 1;
  top: 1px;
}

.project-nav__page-prev i {
  margin-right: 9px;
}

.project-nav__page-next i {
  margin-left: 9px;
}

.project-nav__page-next {
  text-align: right;
}

.project-nav__back-to-projects {
  text-align: center;
}

.project-nav__back-to-projects-icon {
  display: none;
  font-size: 20px;
}

@media (max-width: 400px) {
  .project-nav__back-to-projects a:first-child {
    display: none;
  }
  .project-nav__back-to-projects-icon {
    display: block;
  }
}

/*-------------------------------------------------------*/
/* Fullpage Project
/*-------------------------------------------------------*/
.fullpage-project-body {
  position: absolute;
  background-color: #fff;
  padding: 20px 35px 35px 35px;
  bottom: 0;
  width: 445px;
}

.fullpage-project-body .work-item__title {
  color: #222222;
  font-size: 34px;
}

@media (max-width: 460px) {
  .fullpage-project-body {
    width: auto;
    padding: 10px 25px 25px 25px;
  }
  .fullpage-project-body .work-item__title {
    font-size: 24px;
  }
}

/*-------------------------------------------------------*/
/* Portfolio Responsive Styles
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/
/* Blog
/*-------------------------------------------------------*/
.entry {
  overflow: hidden;
  position: relative;
  margin-bottom: 56px;
}

.entry__img-holder {
  margin-bottom: 24px;
}

.entry__img {
  width: 100%;
}

.entry__title {
  font-size: 22px;
  line-height: 1.4;
  margin-bottom: 16px;
  margin-top: 8px;
}

.entry__excerpt {
  margin-top: 20px;
  margin-bottom: 24px;
}

.entry__excerpt p {
  margin-bottom: 0;
}

/* Read More
-------------------------------------------------------*/
.read-more {
  font-size: 14px;
  font-weight: 700;
}

.read-more__icon {
  font-size: 11px;
  position: relative;
  top: -1px;
  margin-left: 3px;
}

/* Blog Grid
-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .blog-grid__title-col {
    height: 100%;
  }
}

/* Blog Meta
-------------------------------------------------------*/
.entry__meta {
  margin: 0;
  padding: 0;
  list-style: none;
}

.entry__meta li {
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  margin-right: 18px;
  color: #9e9e9e;
}

.entry__meta li:last-child {
  margin-right: 0;
}

.entry__meta a {
  color: #868686;
}

.entry__meta a:hover, .entry__meta a:focus {
  color: #ed1c24;
}

.entry__meta i {
  color: #ed1c24;
  font-size: 15px;
  display: inline-block;
  margin-right: 3px;
}

/* From Blog
-------------------------------------------------------*/
.from-blog__recent-posts-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.from-blog__recent-posts-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding: 15px 0;
  border-top: 1px solid #e5e5e5;
}

.from-blog__recent-posts-item:last-child {
  border-bottom: 1px solid #e5e5e5;
}

.from-blog__post-number {
  display: inline-block;
  width: 24px;
  min-width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  text-align: center;
  background-color: #cacaca;
  margin-right: 14px;
  font-size: 12px;
  color: #fff;
  float: left;
}

.from-blog__post-url {
  color: #868686;
  line-height: 24px;
  overflow: hidden;
}

/*-------------------------------------------------------*/
/* Pagination
/*-------------------------------------------------------*/
.pagination {
  text-align: center;
}

.page-numbers {
  font-size: 15px;
  display: inline-block;
  width: 36px;
  height: 36px;
  line-height: 36px;
  margin-right: 2px;
  text-align: center;
  color: #868686;
  background-color: #eeeeee;
  vertical-align: middle;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.page-numbers:not(span):hover {
  background-color: #ed1c24;
  color: #000;
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.current {
  background-color: #ed1c24;
  color: #000;
}

.page-numbers i {
  font-size: 12px;
  position: relative;
  top: -2px;
}

/*-------------------------------------------------------*/
/* Featured Image
/*-------------------------------------------------------*/
.blog-featured-img .entry__meta {
  margin-top: 14px;
}

.blog-featured-img .entry__meta li,
.blog-featured-img .entry__meta a {
  color: #fff;
}

/*-------------------------------------------------------*/
/* Single Post
/*-------------------------------------------------------*/
.entry__article-wrap {
  margin-bottom: 48px;
}

@media only screen and (min-width: 992px) {
  .entry__article-wrap .entry__article {
    padding-left: 20px;
  }
  .entry__article-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}

.entry__article > h1,
.entry__article > h2,
.entry__article > h3,
.entry__article > h4,
.entry__article > h5,
.entry__article > h6 {
  margin-top: 36px;
}

.entry__article > p,
.entry__article > ul,
.entry__article > ol {
  margin-bottom: 34px;
  font-size: 18px;
  line-height: 30px;
}

.entry__article p > a,
.entry__article ul:not(.entry__meta) a {
  color: #2f95ef;
}

.entry__article p > a:hover,
.entry__article ul:not(.entry__meta) a:hover {
  color: #ed1c24;
}

.entry__article figure {
  margin-bottom: 30px;
}

.entry__article ol, .entry__article ul {
  line-height: 30px;
  padding-left: 28px;
}

.entry__article ul {
  list-style: disc;
}

.entry__article .entry__meta {
  padding-left: 0;
  margin-bottom: 20px;
}

figure {
  margin: 0;
}

figcaption {
  font-family: "Open Sans", sans-serif;
  font-size: 12px;
  font-style: italic;
  margin-top: 10px;
  color: #9e9e9e;
}

/* Entry Share
/*-------------------------------------------------------*/
.entry__share {
  margin-top: 8px;
}

@media only screen and (max-width: 991px) {
  .entry__share {
    margin-bottom: 16px;
  }
}

@media only screen and (min-width: 992px) {
  .entry__share + .entry__article {
    padding-left: 50px;
  }
}

/* Entry Tags
/*-------------------------------------------------------*/
.entry__tags {
  margin-top: 30px;
}

.entry__tags-label {
  color: #222222;
  font-weight: 700;
  font-size: 18px;
  display: inline-block;
  margin-right: 4px;
}

/* Comments
/*-------------------------------------------------------*/
.comment-list {
  padding-left: 0;
}

.comment-list,
.comment-list ul {
  list-style: none;
}

@media only screen and (min-width: 576px) {
  .comment .children {
    padding-left: 8%;
  }
}

.comment-list > li:first-child > .comment-body {
  border-top: 0;
  padding-top: 0;
}

.comment-body {
  margin-bottom: 32px;
  padding-top: 32px;
  border-top: 1px solid #e5e5e5;
}

.comment-text {
  overflow: hidden;
}

.comment-text p {
  margin-bottom: 10px;
}

.comment-avatar {
  float: left;
  margin-right: 20px;
  display: block;
  border-radius: 50%;
  overflow: hidden;
}

.comment-author {
  font-family: "Barlow", sans-serif;
  font-size: 17px;
  margin-bottom: 5px;
}

.comment-metadata {
  display: inline-block;
}

.comment-date, .comment-edit-link {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 13px;
  color: #9e9e9e;
}

.comment-edit-link {
  margin-left: 5px;
  margin-bottom: 0;
  color: #ed1c24;
}

.comment-reply {
  color: #222222;
  font-weight: 600;
}

.comment-reply:hover {
  color: #ed1c24;
}

/* Comment Form
/*-------------------------------------------------------*/
.comment-form p {
  margin: 0;
}

.comment-respond {
  margin-top: 40px;
}

/*-------------------------------------------------------*/
/* Navigation
/*-------------------------------------------------------*/
.nav {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 120;
  min-height: 95px;
  position: relative;
  /* Dropdowns (large screen) */
}

/* Transparent Nav Overlay */
.nav--transparent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent !important;
  z-index: 120;
}

.nav--transparent .nav__holder:not(.sticky) {
  background-color: transparent !important;
}

.nav--transparent .nav__holder:not(.sticky) .nav__container-box {
  background-color: transparent !important;
  box-shadow: none !important;
}

.nav__wrap {
  padding-left: 20px;
  flex: 1;
  display: flex;
  justify-content: center;
}

@media only screen and (min-width: 1200px) {
  .nav__wrap {
    padding-left: 44px;
  }
}

.nav__container {
  position: relative;
}

@media only screen and (min-width: 1200px) {
  .nav__container--side-padding {
    padding: 0 70px;
  }
}

@media only screen and (max-width: 1199px) {
  .nav__container--side-padding {
    padding: 0 30px;
  }
}

@media only screen and (max-width: 991px) {
  .nav__container--side-padding {
    padding: 0 20px;
  }
}

.nav__container-box {
  padding: 0 30px;
  background-color: #fff;
  border-radius: 2px;
  position: relative;
}

.nav__menu, .nav__dropdown-menu {
  list-style: none;
}

.nav__menu {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.nav__menu li {
  position: relative;
}

.nav__menu > li > a {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  color: #222222;
  font-size: 15px;
  padding: 0 17px;
  line-height: 95px;
  display: block;
  position: relative;
}

.nav__menu > li > a:hover {
  color: #ed1c24;
}

.nav__menu > .active > a {
  color: #ed1c24;
}

@media only screen and (min-width: 992px) {
  .nav__wrap {
    display: flex !important;
    justify-content: center;
    align-items: center;
    height: auto !important;
  }
  .nav__menu > li {
    display: inline-block;
    text-align: center;
  }
  .nav__dropdown-menu {
    position: absolute;
    left: -5px;
    top: 100%;
    z-index: 1000;
    min-width: 220px;
    width: 100%;
    text-align: left;
    padding: 20px 0;
    list-style: none;
    background-color: #181818;
    border-radius: 0;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    display: block;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .nav__dropdown-menu > li > a {
    color: #868686;
    padding: 5px 30px;
    font-size: 14px;
    line-height: 21px;
    display: block;
  }
  .nav__dropdown-menu > li > a:hover, .nav__dropdown-menu > li > a:focus {
    color: #ed1c24;
  }
  .nav__dropdown-menu.hide-dropdown {
    visibility: hidden !important;
    opacity: 0 !important;
  }
  .nav__dropdown-menu--right {
    right: 0;
  }
  .nav__dropdown:hover > .nav__dropdown-menu {
    opacity: 1;
    visibility: visible;
  }
  .nav__dropdown-menu .nav__dropdown-menu {
    left: 100%;
    top: -20px;
  }
  .nav__dropdown .nav__dropdown {
    position: relative;
  }
  .nav__dropdown .nav__dropdown > a:after {
    content: '\e876';
    font-family: 'ui-icons';
    font-size: 10px;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .nav__dropdown-trigger {
    display: none;
  }
}

.mobile body {
  cursor: pointer;
}

.nav__menu > .current_page_parent > a {
  color: #ed1c24;
}

/* Logo & Interactive Brand Badge
-------------------------------------------------------*/

.logo-container {
  position: relative;
}

.logo {
  line-height: 1;
}




/* Nav Flexbox
-------------------------------------------------------*/
header .flex-parent {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media only screen and (max-width: 991px) {
  header .flex-parent {
    display: block;
  }
}

.nav--align-right {
  margin-left: auto;
}

.nav--align-left {
  margin-right: auto;
}

/* Top Bar
-------------------------------------------------------*/
.top-bar {
  height: 60px;
}

.top-bar--transparent {
  background-color: transparent;
  position: absolute;
  width: 100%;
  z-index: 120;
}

.top-bar--transparent .social,
.top-bar--transparent .top-bar__icon,
.top-bar--transparent .top-bar__phone-number,
.top-bar--transparent .top-bar__email {
  opacity: .7;
  color: #fff;
}

.top-bar--transparent .social:hover, .top-bar--transparent .social:focus,
.top-bar--transparent .top-bar__icon:hover,
.top-bar--transparent .top-bar__icon:focus,
.top-bar--transparent .top-bar__phone-number:hover,
.top-bar--transparent .top-bar__phone-number:focus,
.top-bar--transparent .top-bar__email:hover,
.top-bar--transparent .top-bar__email:focus {
  opacity: 1;
}

.top-bar__item {
  height: 60px;
  line-height: 60px;
  display: inline-block;
  margin-right: 16px;
}

.top-bar__item:last-child {
  margin-right: 0;
}

.top-bar__item--align-right {
  float: right;
}

.top-bar__phone-number, .top-bar__email {
  font-size: 14px;
}

/* Nav Icon Toggle (mobile nav)
-------------------------------------------------------*/
.nav__icon-toggle {
  margin-left: auto;
  position: relative;
  padding: 9px 0 9px 10px;
  background-color: transparent;
  border: none;
  z-index: 50;
}

@media only screen and (min-width: 992px) {
  .nav__icon-toggle {
    display: none;
  }
}

.nav__icon-toggle-bar {
  background-color: #222222;
  width: 18px;
  display: block;
  height: 2px;
  border-radius: 1px;
  margin-bottom: 4px;
}

.nav__icon-toggle-bar:last-child {
  margin-bottom: 0;
}

.nav__icon-toggle:focus .nav__icon-toggle-bar,
.nav__icon-toggle:hover .nav__icon-toggle-bar {
  background-color: #ed1c24;
}

.nav__icon-toggle:focus {
  outline: none;
}

/* Nav Sticky
-------------------------------------------------------*/
.nav__holder.offset {
  -webkit-transform: translate3d(0, -100%, 0);
  -moz-transform: translate3d(0, -100%, 0);
  -ms-transform: translate3d(0, -100%, 0);
  -o-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.nav__holder.scrolling {
  -webkit-transform: translate3d(0, 0px, 0);
  -moz-transform: translate3d(0, 0px, 0);
  -ms-transform: translate3d(0, 0px, 0);
  -o-transform: translate3d(0, 0px, 0);
  transform: translate3d(0, 0px, 0);
}

.nav__holder.sticky {
  position: fixed;
  background-color: #fff;
  visibility: hidden;
  opacity: 0;
  left: 0;
  right: 0;
  top: 0;
}

.nav__holder.sticky.scrolling {
  opacity: 1;
  visibility: visible;
}

.nav__holder.sticky .nav__menu > li > a {
  line-height: 60px;
}

.nav__holder.sticky .nav__container-box {
  padding: 0;
}

/* Nav Boxed
-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .nav--boxed {
    position: absolute;
    top: 60px;
    width: 100%;
  }
}

/* Nav Side
-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .nav--side {
    z-index: 500;
    height: 100%;
    width: 240px;
  }
  .nav--side .nav__holder,
  .nav--side .nav__container,
  .nav--side .flex-parent {
    height: 100%;
  }
  .nav--side .nav__container {
    padding: 60px 40px 40px;
  }
  .nav--side .flex-parent {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .nav--side .nav__wrap {
    padding-left: 0;
    width: 100%;
    margin-top: 40px;
  }
  .nav--side .nav__menu,
  .nav--side .nav__menu > li {
    display: block;
  }
  .nav--side .nav__menu > li {
    text-align: left;
  }
  .nav--side .nav__menu > li > a {
    line-height: 1;
    padding: 17px 0;
  }
  .nav--side .nav__dropdown-menu {
    position: relative;
    display: none;
    visibility: visible;
    opacity: 1;
    padding: 0;
    left: 0;
    top: auto;
    background-color: transparent;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
  }
  .nav--side .nav__dropdown-menu .nav__dropdown-menu {
    top: auto;
    padding-left: 10px;
  }
  .nav--side .nav__dropdown .nav__dropdown > a:after {
    display: none;
  }
  .nav--side .nav__dropdown-menu > li > a {
    padding: 8px;
  }
  .nav--side .nav__dropdown .nav__dropdown .nav__dropdown-trigger {
    height: 37px;
    line-height: 37px;
  }
  .nav--side .nav__dropdown-trigger {
    display: block;
    width: 36px;
    height: 49px;
    line-height: 49px;
    text-align: center;
    cursor: pointer;
    position: absolute;
    right: 0;
    font-size: 12px;
    top: 0;
  }
  .nav--side .nav__dropdown-trigger:hover, .nav--side .nav__dropdown-trigger:focus {
    color: #ed1c24;
  }
  .nav--side .nav__phone--mobile {
    margin-top: 40px;
  }
  .nav--side-sticky-left {
    position: fixed;
    left: 0;
    top: 0;
  }
}

@media only screen and (min-width: 1200px) {
  .nav--side {
    width: 300px;
  }
}

.nav__footer {
  margin-top: auto;
}

.nav__footer .socials {
  margin-bottom: 24px;
}

/* Nav 1
-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .nav-1 {
    min-height: 70px;
  }
  .nav-1 .flex-parent {
    height: 70px;
  }
  .nav-1 .nav__container {
    padding: 0 70px;
  }
  .nav-1 .nav__wrap {
    display: none !important;
  }
}

/* Nav Icon Toggle
-------------------------------------------------------*/
.nav-icon-toggle {
  padding: 0;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: 0.15s linear;
  -moz-transition: 0.15s linear;
  -ms-transition: 0.15s linear;
  -o-transition: 0.15s linear;
  transition: 0.15s linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  margin-left: 40px;
  overflow: visible;
}

.nav-icon-toggle:focus {
  outline: none;
}

.nav-icon-toggle__box {
  width: 24px;
  height: 24px;
  position: relative;
  display: block;
}

.nav-icon-toggle__inner {
  display: block;
  top: 50%;
  margin-top: -1px;
}

.nav-icon-toggle__inner, .nav-icon-toggle__inner:before, .nav-icon-toggle__inner:after {
  width: 24px;
  height: 1px;
  background-color: #222222;
  position: absolute;
  -webkit-transition: 0.2s all;
  -moz-transition: 0.2s all;
  -ms-transition: 0.2s all;
  -o-transition: 0.2s all;
  transition: 0.2s all;
}

.nav-icon-toggle:hover .nav-icon-toggle__inner,
.nav-icon-toggle:hover .nav-icon-toggle__inner:before,
.nav-icon-toggle:hover .nav-icon-toggle__inner:after {
  background-color: #ed1c24;
}

.nav-icon-toggle__inner:before, .nav-icon-toggle__inner:after {
  content: "";
  display: block;
}

.nav-icon-toggle__inner:before {
  top: -8px;
}

.nav-icon-toggle__inner:after {
  bottom: -8px;
}

@media only screen and (max-width: 991px) {
  .nav-icon-toggle {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 20px;
  }
}

/* Sidenav
-------------------------------------------------------*/
@media only screen and (min-width: 992px) {
  .sidenav {
    background-color: #fff;
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    padding: 60px 40px;
    width: 320px;
    z-index: 121;
    overflow-y: auto;
    -webkit-transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    -moz-transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    -ms-transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    -o-transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    transition: transform 0.5s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.5s cubic-bezier(0.55, 0, 0.1, 1);
    -webkit-transform: translateX(320px);
    -moz-transform: translateX(320px);
    -ms-transform: translateX(320px);
    -o-transform: translateX(320px);
    transform: translateX(320px);
  }
  .sidenav--is-open {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .sidenav__close {
    position: absolute;
    right: 40px;
    top: 24px;
  }
  .sidenav__close-label {
    float: left;
    margin-right: 8px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 27px;
    font-size: 12px;
  }
  .sidenav__close-button {
    padding: 0;
    background: transparent;
    border: 0;
    color: #868686;
    height: 24px;
  }
  .sidenav__close-button:hover {
    color: #ed1c24;
  }
  .sidenav__close-button:focus {
    outline: none;
  }
  .sidenav__close-icon {
    font-size: 20px;
  }
  .content-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    z-index: 121;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.3s cubic-bezier(0.16, 0.36, 0, 0.98);
    -moz-transition: 0.3s cubic-bezier(0.16, 0.36, 0, 0.98);
    -ms-transition: 0.3s cubic-bezier(0.16, 0.36, 0, 0.98);
    -o-transition: 0.3s cubic-bezier(0.16, 0.36, 0, 0.98);
    transition: 0.3s cubic-bezier(0.16, 0.36, 0, 0.98);
    background-color: rgba(0, 0, 0, 0.5);
  }
  .content-overlay--is-visible {
    opacity: 1;
    visibility: visible;
  }
}

/* Nav Phone / Email / Socials
-------------------------------------------------------*/
.nav__phone {
  font-size: 14px;
  font-family: "Barlow", sans-serif;
  font-weight: 600;
}

.nav__phone-text, .nav__phone-number {
  color: #222222;
}

.nav__phone + .nav__socials {
  padding-left: 44px;
  margin-left: 44px;
  border-left: 1px solid #e5e5e5;
}

@media only screen and (max-width: 1199px) {
  .nav__phone + .nav__socials {
    padding-left: 20px;
    margin-left: 20px;
  }
}

@media only screen and (max-width: 991px) {
  .nav__phone + .nav__socials {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
}

.nav__phone--mobile {
  padding: 20px 0 8px;
}

.nav__socials--mobile,
.nav__email--mobile {
  padding: 8px 0 20px;
}

.nav__email {
  font-family: "Barlow", sans-serif;
  font-weight: 14;
  font-weight: 600;
  color: #222222;
}

/* Nav Search
-------------------------------------------------------*/
.nav__search-link {
  position: relative;
  display: block;
  color: inherit;
  font-size: 22px;
}

.nav__search-form {
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 23;
}

.nav__search-input {
  font-family: "Open Sans", sans-serif;
  padding: 0 30px;
  height: 100%;
  border: none;
  font-size: 24px;
  margin-bottom: 0;
  background-color: #fff;
}

.nav__search-close {
  position: absolute;
  width: 16px;
  height: 36px;
  text-align: center;
  line-height: 36px;
  top: 50%;
  margin-top: -18px;
  right: 30px;
  font-size: 24px;
  color: #868686;
  cursor: pointer;
}

.ui-search:before {
  position: relative;
  top: 1px;
}

.ui-close:before {
  position: relative;
  top: -2px;
}

/* Mobile Search */
.nav__search-mobile .search-input {
  height: 46px;
  padding: 0;
  border: none;
  border-bottom: 1px solid #e5e5e5;
  border-radius: 0;
  background-color: transparent;
  margin-bottom: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  color: #868686;
}

.nav__search-mobile .search-input:focus {
  background-color: transparent;
}

.nav__search-mobile .search-button {
  width: 46px;
  height: 46px;
  padding-left: 26px;
  font-size: 18px;
}

.search-icon {
  color: #868686;
}

/* Go to Top
-------------------------------------------------------*/
#back-to-top {
  display: block;
  z-index: 100;
  width: 34px;
  height: 34px;
  text-align: center;
  font-size: 12px;
  position: fixed;
  bottom: -34px;
  right: 20px;
  line-height: 34px;
  background-color: #f9f9f9;
  -webkit-box-shadow: 0px 1px 4px 0px rgba(154, 161, 171, 0.4);
  box-shadow: 0px 1px 4px 0px rgba(154, 161, 171, 0.4);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}

#back-to-top i {
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#back-to-top a {
  display: block;
  color: #222222;
}

#back-to-top.show {
  bottom: 20px;
}

#back-to-top:hover {
  background-color: #ed1c24;
  bottom: 24px;
}

#back-to-top:hover i {
  color: #fff;
}

/*-------------------------------------------------------*/
/* Nav Mobile Styles
/*-------------------------------------------------------*/
@media only screen and (max-width: 991px) {
  .nav {
    min-height: 60px;
    margin-top: 0;
    background-color: #fff;
  }
  .nav__wrap {
    padding-left: 0;
  }
  .nav__header {
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .nav__menu {
    display: block;
  }
  .nav__menu li a {
    padding: 0;
    line-height: 46px;
    height: 46px;
    display: block;
    border-bottom: 1px solid #e5e5e5;
  }
  .nav__dropdown-menu a {
    color: #868686;
  }
  .nav__dropdown-menu a:hover {
    color: #000;
  }
  .nav__dropdown-menu > li > a {
    padding-left: 10px;
  }
  .nav__dropdown-menu > li > ul > li > a {
    padding-left: 20px;
  }
  .nav__dropdown-trigger {
    display: block;
    width: 20px;
    height: 46px;
    line-height: 46px;
    font-size: 12px;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 50;
    cursor: pointer;
  }
  .nav__dropdown-menu {
    padding: 0;
    display: none;
    width: 100% !important;
  }
  .nav__dropdown-trigger.active + .nav__dropdown-menu {
    display: block;
  }
  .logo-container {
    -webkit-box-flex: 1;
    -ms-flex: auto 0 0px;
    flex: auto 0 0;
  }
  .logo-wrap {
    float: left;
  }
  .logo-wrap a {
    display: table-cell;
    vertical-align: middle;
    height: 60px;
  }
  .sticky-on-mobile .navbar {
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }
}

iframe {
  border: 0;
}

.rs-background-video-layer[data-ytid] iframe {
  visibility: visible !important;
}

@media (min-width: 1060px) {
  .rev-offset {
    height: 30px;
    position: absolute;
    top: 0;
    opacity: 0;
    left: 0;
    z-index: -1;
  }
}

/*---------------------------------------------------------------
 Hermes Arrows
---------------------------------------------------------------*/
.hermes.tparrows {
  cursor: pointer;
  background: #000;
  background: rgba(0, 0, 0, 0.5);
  width: 30px;
  height: 110px;
  position: absolute;
  display: block;
  z-index: 1000;
}

.hermes.tparrows:before {
  display: block;
  line-height: 110px;
  -ms-transform: translateX(0);
  transform: translateX(0);
  -webkit-transform: translateX(0);
  -o-transition: all .3s;
  transition: all .3s;
  -webkit-transition: all .3s;
}

.hermes.tparrows.tp-leftarrow:before {
  content: "\e824";
}

.hermes.tparrows.tp-rightarrow:before {
  content: "\e825";
}

.hermes.tparrows.tp-leftarrow:hover:before {
  -ms-transform: translateX(-20px);
  transform: translateX(-20px);
  -webkit-transform: translateX(-20px);
  opacity: 0;
}

.hermes.tparrows.tp-rightarrow:hover:before {
  -ms-transform: translateX(20px);
  transform: translateX(20px);
  -webkit-transform: translateX(20px);
  opacity: 0;
}

.hermes .tp-arr-allwrapper {
  overflow: hidden;
  position: absolute;
  width: 180px;
  height: 140px;
  top: 0;
  left: 0;
  visibility: hidden;
  -webkit-transition: -webkit-transform .3s .3s;
  transition: -webkit-transform .3s .3s;
  -o-transition: transform .3s .3s;
  transition: transform .3s .3s;
  transition: transform .3s .3s, -webkit-transform .3s .3s;
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.hermes.tp-rightarrow .tp-arr-allwrapper {
  right: 0;
  left: auto;
}

.hermes.tparrows:hover .tp-arr-allwrapper {
  visibility: visible;
}

.hermes .tp-arr-imgholder {
  width: 180px;
  position: absolute;
  left: 0;
  top: 0;
  height: 110px;
  -ms-transform: translateX(-180px);
  transform: translateX(-180px);
  -webkit-transform: translateX(-180px);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  -webkit-transition-delay: .3s;
  -o-transition-delay: .3s;
  transition-delay: .3s;
}

.hermes.tp-rightarrow .tp-arr-imgholder {
  -ms-transform: translateX(180px);
  transform: translateX(180px);
  -webkit-transform: translateX(180px);
}

.hermes.tparrows:hover .tp-arr-imgholder {
  -ms-transform: translateX(0);
  transform: translateX(0);
  -webkit-transform: translateX(0);
}

.hermes .tp-arr-titleholder {
  top: 110px;
  width: 180px;
  text-align: left;
  display: block;
  padding: 0 10px;
  line-height: 30px;
  background: #000;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  font-weight: 600;
  position: absolute;
  font-size: 12px;
  white-space: nowrap;
  letter-spacing: 1px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  -webkit-transform: rotateX(-90deg);
  transform: rotateX(-90deg);
  -webkit-transform-origin: 50% 0;
  -ms-transform-origin: 50% 0;
  transform-origin: 50% 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.hermes.tparrows:hover .tp-arr-titleholder {
  -webkit-transition-delay: .6s;
  -o-transition-delay: .6s;
  transition-delay: .6s;
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
}

/* Bullets
-------------------------------------------------------*/
.tp-bullet {
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 36px;
  height: 2px;
  display: inline-block;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.tp-bullet.selected,
.tp-bullet:hover {
  width: 46px;
  margin-left: -10px;
  -webkit-box-shadow: none;
  box-shadow: none;
  background-color: #ed1c24;
}

/* Text Layers
-------------------------------------------------------*/
.tp-caption.hero-text {
  color: #6b6b6b;
  text-shadow: none;
  font-weight: 700;
  line-height: 60px;
  font-family: "Barlow", sans-serif;
  margin: 0px;
  border-width: 0px;
  border-style: none;
  white-space: nowrap;
  padding-top: 1px;
}

.tp-caption.medium-text {
  color: #fff;
  font-weight: 400;
  font-size: 20px;
  line-height: 20px;
  font-family: "Barlow", sans-serif;
  letter-spacing: 0.1em;
  margin: 0px;
  text-transform: uppercase;
  border-width: 0px;
  border-style: none;
  white-space: nowrap;
  text-shadow: none;
}

.tp-caption.small-text {
  color: #ed1d25;
  font-weight: 400;
  line-height: 20px;
  font-family: "Open Sans", sans-serif;
  margin: 0px;
  border-width: 0px;
  border-style: none;
  white-space: nowrap;
  text-shadow: none;
}

.hero-dot {
  color: #ed1c24;
}

.tp-caption.alt-font {
  font-family: "Playfair Display", serif;
}

.tp-caption.nocaps {
  text-transform: none;
  letter-spacing: 0;
}

.tp-caption span.dot {
  color: #f37b21;
}

.tp-caption span.color {
  color: #ffb30f;
}

/*-------------------------------------------------------*/
/* Footer
/*-------------------------------------------------------*/
.footer {
  position: relative;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #181818;
}

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

@media only screen and (min-width: 992px) {
  .footer .container-fluid {
    padding: 0 40px;
  }
}

/* Footer Widgets
-------------------------------------------------------*/
.footer__widgets {
  padding: 80px 0 48px;
}

.footer__widgets a {
  color: #868686;
}

.footer__widgets a:hover {
  color: #ed1c24;
}

@media only screen and (min-width: 768px) {
  .footer__widgets .socials {
    text-align: right;
  }
}

@media only screen and (max-width: 767px) {
  .footer__widgets .row > div:not(:last-child) {
    margin-bottom: 60px;
  }
}

/* Footer 1
-------------------------------------------------------*/
.footer-1 {
  background-color: #fff;
  padding: 26px 0;
}

@media only screen and (min-width: 992px) {
  .footer-1 .container-fluid {
    padding: 0;
  }
}

@media only screen and (max-width: 767px) {
  .footer-1 .widget_nav_menu {
    margin-top: 12px;
  }
}

@media only screen and (min-width: 768px) {
  .footer-1 .widget_nav_menu {
    text-align: right;
  }
}

.footer-1 .widget_nav_menu ul li {
  display: inline-block;
  padding: 0;
  margin: 0 6px;
  font-size: 14px;
}

.footer-1 .widget_nav_menu ul li:first-child {
  margin-left: 0;
}

.footer-1 .widget_nav_menu ul li:last-child {
  margin-right: 0;
}

.footer-1 .widget_nav_menu a {
  color: #222222;
}

.footer-1 .widget_nav_menu a:hover, .footer-1 .widget_nav_menu a:focus {
  color: #ed1c24;
}

/* Bottom Footer
-------------------------------------------------------*/
.footer__bottom {
  padding: 24px 0 80px;
  position: relative;
}

.copyright {
  display: inline-block;
  font-size: 14px;
  color: #868686;
}

.copyright a {
  color: inherit;
}

.copyright a:hover, .copyright a:focus {
  color: #ed1c24;
}

/*-------------------------------------------------------*/
/* WordPress Styles
/*-------------------------------------------------------*/
.gallery-caption {
  display: block;
}

img {
  height: auto;
}

.alignnone {
  margin: 8px 24px 24px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 8px auto 8px auto;
}

.alignright {
  float: right;
  margin: 8px 0 24px 24px;
}

.alignleft {
  float: left;
  margin: 8px 24px 24px 0;
}

a img.alignright {
  float: right;
  margin: 8px 0 24px 24px;
}

a img.alignnone {
  margin: 8px 24px 24px 0;
}

a img.alignleft {
  float: left;
  margin: 8px 24px 24px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 24px 24px 0;
}

.wp-caption.alignleft {
  margin: 5px 24px 24px 0;
}

.wp-caption.alignright {
  margin: 5px 0 24px 24px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text,
.says {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

.bypostauthor > .comment-body > .comment-meta > .comment-author .avatar {
  border: 1px solid #e5e5e5;
  padding: 2px;
}

.widget_recent_entries ul li a {
  color: #868686;
}

.widget_recent_entries ul li a:hover {
  color: #ed1c24;
}

.widget .recentcomments a {
  color: #868686;
}

/*-------------------------------------------------------*/
/* Calendar
/*-------------------------------------------------------*/
#wp-calendar {
  width: 100%;
}

#wp-calendar th,
#wp-calendar td {
  text-align: center;
}

#wp-calendar tbody td {
  line-height: 1;
}

#wp-calendar > tfoot > tr {
  border: 1px solid #e5e5e5;
}

#wp-calendar > tfoot > tr > td {
  border: 0;
}

/*-------------------------------------------------------*/
/* Galleries
/*-------------------------------------------------------*/
.gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin: 0 -10px;
}

.gallery-item {
  display: inline-block;
  vertical-align: top;
  margin-bottom: 1.5em;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus,
.widget-area .gallery-item a,
.widget-area .gallery-item a:hover,
.widget-area .gallery-item a:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  display: inline-block;
  max-width: 100%;
}

.gallery-item a img {
  display: block;
  -webkit-transition: -webkit-filter 0.2s ease-in;
  transition: -webkit-filter 0.2s ease-in;
  -o-transition: filter 0.2s ease-in;
  transition: filter 0.2s ease-in;
  transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
  -webkit-filter: opacity(60%);
  filter: opacity(60%);
}

.gallery-caption {
  display: block;
  text-align: left;
  padding: 0 10px 0 0;
  margin-bottom: 0;
}

/* Gallery Columns
/*-------------------------------------------------------*/
.gallery-columns-5 .gallery-caption,
.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
  display: none;
}

/*-------------------------------------------------------*/
/* Widget Search
/*-------------------------------------------------------*/
.search-input {
  margin-bottom: 0 !important;
}

.search-button {
  position: absolute;
  top: 0;
  height: 100%;
  right: 0;
  padding: 0;
  width: 45px;
  background-color: transparent;
  border: none;
}

/*-------------------------------------------------------*/
/* Password Protected
/*-------------------------------------------------------*/
.post-password-form label > input {
  margin-bottom: 24px;
}

.post-password-form label + input {
  line-height: 41px;
  font-size: 11px;
  padding: 0 24px;
  font-family: "Barlow", sans-serif;
  border: none;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background-color: #000;
  color: #fff;
  position: relative;
  top: -2px;
  width: auto;
}

/*-------------------------------------------------------*/
/* Sticky Post
/*-------------------------------------------------------*/
.post.sticky .entry__title:before {
  content: '\e804';
  font-family: "ui-icons";
  display: inline-block;
  margin-right: 12px;
  position: relative;
  top: -2px;
  font-size: 18px;
  color: #bbbbbb;
  max-height: 20px;
}

/*-------------------------------------------------------*/
/* Article styles
/*-------------------------------------------------------*/
dt,
dd {
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5;
}

/* Post Multipages Pagination
-------------------------------------------------------*/
.entry-pages {
  margin-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}

.entry-pages a {
  min-width: 12px;
  display: inline-block;
  text-align: center;
}

/* Comments Multipages Pagination
-------------------------------------------------------*/
.comment-navigation {
  margin: 20px 0;
}

.comment-navigation .nav-previous {
  float: left;
}

.comment-navigation .nav-next {
  float: right;
}

/* Comments Form
-------------------------------------------------------*/
.comment-respond {
  margin-top: 60px;
}

/*-------------------------------------------------------*/
/* Spacings
/*-------------------------------------------------------*/
.m-0 {
  margin: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-8 {
  margin-top: 8px;
}

.mt-16 {
  margin-top: 16px;
}

.mt-24 {
  margin-top: 24px;
}

.mt-32 {
  margin-top: 32px;
}

.mt-40 {
  margin-top: 40px;
}

.mt-48 {
  margin-top: 48px;
}

.mt-56 {
  margin-top: 56px;
}

.mt-64 {
  margin-top: 64px;
}

.mt-72 {
  margin-top: 72px;
}

.mt-80 {
  margin-top: 80px;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-8 {
  margin-bottom: 8px;
}

.mb-16 {
  margin-bottom: 16px;
}

.mb-24 {
  margin-bottom: 24px;
}

.mb-32 {
  margin-bottom: 32px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-48 {
  margin-bottom: 48px;
}

.mb-56 {
  margin-bottom: 56px;
}

.mb-64 {
  margin-bottom: 64px;
}

.mb-72 {
  margin-bottom: 72px;
}

.mb-80 {
  margin-bottom: 80px;
}

.pt-0 {
  padding-top: 0;
}

.pt-8 {
  padding-top: 8px;
}

.pt-16 {
  padding-top: 16px;
}

.pt-24 {
  padding-top: 24px;
}

.pt-32 {
  padding-top: 32px;
}

.pt-40 {
  padding-top: 40px;
}

.pt-48 {
  padding-top: 48px;
}

.pt-56 {
  padding-top: 56px;
}

.pt-64 {
  padding-top: 64px;
}

.pt-72 {
  padding-top: 72px;
}

.pt-80 {
  padding-top: 80px;
}

.pb-0 {
  padding-bottom: 0;
}

.pb-8 {
  padding-bottom: 8px;
}

.pb-16 {
  padding-bottom: 16px;
}

.pb-24 {
  padding-bottom: 24px;
}

.pb-32 {
  padding-bottom: 32px;
}

.pb-40 {
  padding-bottom: 40px;
}

.pb-48 {
  padding-bottom: 48px;
}

.pb-56 {
  padding-bottom: 56px;
}

.pb-64 {
  padding-bottom: 64px;
}

.pb-72 {
  padding-bottom: 72px;
}

.pb-80 {
  padding-bottom: 80px;
}

@media only screen and (max-width: 1199px) {
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-8 {
    margin-top: 8px;
  }
  .mt-lg-16 {
    margin-top: 16px;
  }
  .mt-lg-24 {
    margin-top: 24px;
  }
  .mt-lg-32 {
    margin-top: 32px;
  }
  .mt-lg-40 {
    margin-top: 40px;
  }
  .mt-lg-48 {
    margin-top: 48px;
  }
  .mt-lg-56 {
    margin-top: 56px;
  }
  .mt-lg-64 {
    margin-top: 64px;
  }
  .mt-lg-72 {
    margin-top: 72px;
  }
  .mt-lg-80 {
    margin-top: 80px;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-8 {
    margin-bottom: 8px;
  }
  .mb-lg-16 {
    margin-bottom: 16px;
  }
  .mb-lg-24 {
    margin-bottom: 24px;
  }
  .mb-lg-32 {
    margin-bottom: 32px;
  }
  .mb-lg-40 {
    margin-bottom: 40px;
  }
  .mb-lg-48 {
    margin-bottom: 48px;
  }
  .mb-lg-56 {
    margin-bottom: 56px;
  }
  .mb-lg-64 {
    margin-bottom: 64px;
  }
  .mb-lg-72 {
    margin-bottom: 72px;
  }
  .mb-lg-80 {
    margin-bottom: 80px;
  }
  .pt-lg-0 {
    padding-top: 0;
  }
  .pt-lg-8 {
    padding-top: 8px;
  }
  .pt-lg-16 {
    padding-top: 16px;
  }
  .pt-lg-24 {
    padding-top: 24px;
  }
  .pt-lg-32 {
    padding-top: 32px;
  }
  .pt-lg-40 {
    padding-top: 40px;
  }
  .pt-lg-48 {
    padding-top: 48px;
  }
  .pt-lg-56 {
    padding-top: 56px;
  }
  .pt-lg-64 {
    padding-top: 64px;
  }
  .pt-lg-72 {
    padding-top: 72px;
  }
  .pt-lg-80 {
    padding-top: 80px;
  }
  .pb-lg-0 {
    padding-bottom: 0;
  }
  .pb-lg-8 {
    padding-bottom: 8px;
  }
  .pb-lg-16 {
    padding-bottom: 16px;
  }
  .pb-lg-24 {
    padding-bottom: 24px;
  }
  .pb-lg-32 {
    padding-bottom: 32px;
  }
  .pb-lg-40 {
    padding-bottom: 40px;
  }
  .pb-lg-48 {
    padding-bottom: 48px;
  }
  .pb-lg-56 {
    padding-bottom: 56px;
  }
  .pb-lg-64 {
    padding-bottom: 64px;
  }
  .pb-lg-72 {
    padding-bottom: 72px;
  }
  .pb-lg-80 {
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 991px) {
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-8 {
    margin-top: 8px;
  }
  .mt-md-16 {
    margin-top: 16px;
  }
  .mt-md-24 {
    margin-top: 24px;
  }
  .mt-md-32 {
    margin-top: 32px;
  }
  .mt-md-40 {
    margin-top: 40px;
  }
  .mt-md-48 {
    margin-top: 48px;
  }
  .mt-md-56 {
    margin-top: 56px;
  }
  .mt-md-64 {
    margin-top: 64px;
  }
  .mt-md-72 {
    margin-top: 72px;
  }
  .mt-md-80 {
    margin-top: 80px;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-8 {
    margin-bottom: 8px;
  }
  .mb-md-16 {
    margin-bottom: 16px;
  }
  .mb-md-24 {
    margin-bottom: 24px;
  }
  .mb-md-32 {
    margin-bottom: 32px;
  }
  .mb-md-40 {
    margin-bottom: 40px;
  }
  .mb-md-48 {
    margin-bottom: 48px;
  }
  .mb-md-56 {
    margin-bottom: 56px;
  }
  .mb-md-64 {
    margin-bottom: 64px;
  }
  .mb-md-72 {
    margin-bottom: 72px;
  }
  .mb-md-80 {
    margin-bottom: 80px;
  }
  .pt-md-0 {
    padding-top: 0;
  }
  .pt-md-8 {
    padding-top: 8px;
  }
  .pt-md-16 {
    padding-top: 16px;
  }
  .pt-md-24 {
    padding-top: 24px;
  }
  .pt-md-32 {
    padding-top: 32px;
  }
  .pt-md-40 {
    padding-top: 40px;
  }
  .pt-md-48 {
    padding-top: 48px;
  }
  .pt-md-56 {
    padding-top: 56px;
  }
  .pt-md-64 {
    padding-top: 64px;
  }
  .pt-md-72 {
    padding-top: 72px;
  }
  .pt-md-80 {
    padding-top: 80px;
  }
  .pb-md-0 {
    padding-bottom: 0;
  }
  .pb-md-8 {
    padding-bottom: 8px;
  }
  .pb-md-16 {
    padding-bottom: 16px;
  }
  .pb-md-24 {
    padding-bottom: 24px;
  }
  .pb-md-32 {
    padding-bottom: 32px;
  }
  .pb-md-40 {
    padding-bottom: 40px;
  }
  .pb-md-48 {
    padding-bottom: 48px;
  }
  .pb-md-56 {
    padding-bottom: 56px;
  }
  .pb-md-64 {
    padding-bottom: 64px;
  }
  .pb-md-72 {
    padding-bottom: 72px;
  }
  .pb-md-80 {
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 767px) {
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-8 {
    margin-top: 8px;
  }
  .mt-sm-16 {
    margin-top: 16px;
  }
  .mt-sm-24 {
    margin-top: 24px;
  }
  .mt-sm-32 {
    margin-top: 32px;
  }
  .mt-sm-40 {
    margin-top: 40px;
  }
  .mt-sm-48 {
    margin-top: 48px;
  }
  .mt-sm-56 {
    margin-top: 56px;
  }
  .mt-sm-64 {
    margin-top: 64px;
  }
  .mt-sm-72 {
    margin-top: 72px;
  }
  .mt-sm-80 {
    margin-top: 80px;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-8 {
    margin-bottom: 8px;
  }
  .mb-sm-16 {
    margin-bottom: 16px;
  }
  .mb-sm-24 {
    margin-bottom: 24px;
  }
  .mb-sm-32 {
    margin-bottom: 32px;
  }
  .mb-sm-40 {
    margin-bottom: 40px;
  }
  .mb-sm-48 {
    margin-bottom: 48px;
  }
  .mb-sm-56 {
    margin-bottom: 56px;
  }
  .mb-sm-64 {
    margin-bottom: 64px;
  }
  .mb-sm-72 {
    margin-bottom: 72px;
  }
  .mb-sm-80 {
    margin-bottom: 80px;
  }
  .pt-sm-0 {
    padding-top: 0;
  }
  .pt-sm-8 {
    padding-top: 8px;
  }
  .pt-sm-16 {
    padding-top: 16px;
  }
  .pt-sm-24 {
    padding-top: 24px;
  }
  .pt-sm-32 {
    padding-top: 32px;
  }
  .pt-sm-40 {
    padding-top: 40px;
  }
  .pt-sm-48 {
    padding-top: 48px;
  }
  .pt-sm-56 {
    padding-top: 56px;
  }
  .pt-sm-64 {
    padding-top: 64px;
  }
  .pt-sm-72 {
    padding-top: 72px;
  }
  .pt-sm-80 {
    padding-top: 80px;
  }
  .pb-sm-0 {
    padding-bottom: 0;
  }
  .pb-sm-8 {
    padding-bottom: 8px;
  }
  .pb-sm-16 {
    padding-bottom: 16px;
  }
  .pb-sm-24 {
    padding-bottom: 24px;
  }
  .pb-sm-32 {
    padding-bottom: 32px;
  }
  .pb-sm-40 {
    padding-bottom: 40px;
  }
  .pb-sm-48 {
    padding-bottom: 48px;
  }
  .pb-sm-56 {
    padding-bottom: 56px;
  }
  .pb-sm-64 {
    padding-bottom: 64px;
  }
  .pb-sm-72 {
    padding-bottom: 72px;
  }
  .pb-sm-80 {
    padding-bottom: 80px;
  }
}

@media only screen and (max-width: 575px) {
  .mt-xs-0 {
    margin-top: 0 !important;
  }
  .mt-xs-8 {
    margin-top: 8px;
  }
  .mt-xs-16 {
    margin-top: 16px;
  }
  .mt-xs-24 {
    margin-top: 24px;
  }
  .mt-xs-32 {
    margin-top: 32px;
  }
  .mt-xs-40 {
    margin-top: 40px;
  }
  .mt-xs-48 {
    margin-top: 48px;
  }
  .mt-xs-56 {
    margin-top: 56px;
  }
  .mt-xs-64 {
    margin-top: 64px;
  }
  .mt-xs-72 {
    margin-top: 72px;
  }
  .mt-xs-80 {
    margin-top: 80px;
  }
  .mb-xs-0 {
    margin-bottom: 0 !important;
  }
  .mb-xs-8 {
    margin-bottom: 8px;
  }
  .mb-xs-16 {
    margin-bottom: 16px;
  }
  .mb-xs-24 {
    margin-bottom: 24px;
  }
  .mb-xs-32 {
    margin-bottom: 32px;
  }
  .mb-xs-40 {
    margin-bottom: 40px;
  }
  .mb-xs-48 {
    margin-bottom: 48px;
  }
  .mb-xs-56 {
    margin-bottom: 56px;
  }
  .mb-xs-64 {
    margin-bottom: 64px;
  }
  .mb-xs-72 {
    margin-bottom: 72px;
  }
  .mb-xs-80 {
    margin-bottom: 80px;
  }
  .pt-xs-0 {
    padding-top: 0;
  }
  .pt-xs-8 {
    padding-top: 8px;
  }
  .pt-xs-16 {
    padding-top: 16px;
  }
  .pt-xs-24 {
    padding-top: 24px;
  }
  .pt-xs-32 {
    padding-top: 32px;
  }
  .pt-xs-40 {
    padding-top: 40px;
  }
  .pt-xs-48 {
    padding-top: 48px;
  }
  .pt-xs-56 {
    padding-top: 56px;
  }
  .pt-xs-64 {
    padding-top: 64px;
  }
  .pt-xs-72 {
    padding-top: 72px;
  }
  .pt-xs-80 {
    padding-top: 80px;
  }
  .pb-xs-0 {
    padding-bottom: 0;
  }
  .pb-xs-8 {
    padding-bottom: 8px;
  }
  .pb-xs-16 {
    padding-bottom: 16px;
  }
  .pb-xs-24 {
    padding-bottom: 24px;
  }
  .pb-xs-32 {
    padding-bottom: 32px;
  }
  .pb-xs-40 {
    padding-bottom: 40px;
  }
  .pb-xs-48 {
    padding-bottom: 48px;
  }
  .pb-xs-56 {
    padding-bottom: 56px;
  }
  .pb-xs-64 {
    padding-bottom: 64px;
  }
  .pb-xs-72 {
    padding-bottom: 72px;
  }
  .pb-xs-80 {
    padding-bottom: 80px;
  }
}

/*-------------------------------------------------------*/
/* Helper classes
/*-------------------------------------------------------*/
.clear {
  clear: both;
}

.oh {
  overflow: hidden;
}

.ov {
  overflow: visible;
}

.relative {
  position: relative;
}

.mobile section {
  background-attachment: scroll !important;
}

.bg-dark {
  background-color: #181818;
}

.bg-light {
  background-color: #f9f9f9;
  width: 100%;
}

.bg-white {
  background-color: #fff;
}

.bg-color {
  background-color: #2f95ef;
}

.white {
  color: #fff;
}

.static {
  position: static;
}

.block {
  display: block;
}

.left {
  float: left;
}

.right {
  float: right;
}

.valign {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.img-full-width {
  width: 100%;
}

.uppercase {
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.last {
  margin-bottom: 0 !important;
}

/* Section Dark / Background Image
-------------------------------------------------------*/
.bg-color .section-title,
.bg-color .statistic__number,
.bg-color .statistic__title,
.bg-color-overlay .section-title,
.bg-color-overlay .statistic__number,
.bg-color-overlay .statistic__title,
.bg-dark-overlay .section-title,
.bg-dark-overlay .statistic__number,
.bg-dark-overlay .statistic__title,
.bg-gradient .section-title,
.bg-gradient .statistic__number,
.bg-gradient .statistic__title {
  color: #fff;
}

/* Box Shadow
-------------------------------------------------------*/
.box-shadow {
  -webkit-box-shadow: 0 1px 6px rgba(61, 65, 84, 0.15);
  box-shadow: 0 1px 6px rgba(61, 65, 84, 0.15);
}

.box-shadow-large {
  -webkit-box-shadow: 0 20px 40px rgba(61, 65, 84, 0.15);
  box-shadow: 0 20px 40px rgba(61, 65, 84, 0.15);
}

/*-------------------------------------------------------*/
/* Hovers
/*-------------------------------------------------------*/
.hover-overlay {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -moz-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -ms-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -o-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
}

.hover-trigger:hover .hover-overlay {
  opacity: 1;
  visibility: visible;
}

/* Hover Scale
-------------------------------------------------------*/
.hover-scale {
  overflow: hidden;
}

.hover-scale img {
  -webkit-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -moz-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -ms-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  -o-transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
  transition: 0.3s cubic-bezier(0.43, 0.07, 0.61, 0.95);
}

.hover-scale:hover img {
  -webkit-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}

/* Gradients / Overlays
-------------------------------------------------------*/
.bg-gradient:before {
  content: "";
  top: 0;
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: .7;
  background: #B939E5;
  /* Old browsers */
  background: -moz-linear-gradient(bottom, #B939E5 0%, #4C86E7 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #B939E5), color-stop(100%, #4C86E7));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(bottom, #B939E5 0%, #4C86E7 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(bottom, #B939E5 0%, #4C86E7 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(bottom, #B939E5 0%, #4C86E7 100%);
  /* IE10+ */
  background: -webkit-gradient(linear, left bottom, left top, from(#B939E5), to(#4C86E7));
  background: linear-gradient(to top, #B939E5 0%, #4C86E7 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000',GradientType=0 );
  /* IE6-9 */
}

.bg-dark-overlay:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
}

.bottom-gradient {
  position: absolute;
  width: 100%;
  height: 40%;
  bottom: 0;
  background: rgba(0, 0, 0, 0.75);
  /* Old browsers */
  background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(0, 0, 0, 0.75)), color-stop(100%, transparent));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
  /* IE10+ */
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.75)), to(transparent));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, transparent 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#000000',GradientType=0 );
  /* IE6-9 */
}

/* Section Dividers
-------------------------------------------------------*/
.top-divider {
  border-top: 1px solid #e5e5e5;
}

.bottom-divider {
  border-bottom: 1px solid #e5e5e5;
}

/*# sourceMappingURL=style.css.map */


@keyframes scroll{
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(calc(-250px * 7));
  }
}
.partners{
  height: 200px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: auto;
}
.partners .part-slider{
  animation: scroll 40s linear infinite;
  display: flex;
  width: calc(250px * 14);
}
.partners .slidepart{
  height: 100px;
  width: 250px;
}

/*-------------------------------------------------------*/
/* High-End Animated & Glassmorphic Footer Suite
/*-------------------------------------------------------*/

/* 1. Transparent Glass Logo Badge on Dark Background in Footer */
.footer .logo-container {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  animation: logoEntranceReveal 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards,
             logoGlowBreathe 5s ease-in-out infinite 1.2s !important;
}

/* Hover effect for footer glass logo */
.footer .logo-container:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(237, 28, 36, 0.4) !important;
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 0 12px 30px rgba(237, 28, 36, 0.24) !important;
  animation: none !important; /* Clear idle breathe animation */
}

/* 2. Menu Links Glow-Trace Sliders inside Footer */
.footer__widgets .widget_nav_menu ul li {
  position: relative;
  margin-bottom: 12px;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.footer__widgets .widget_nav_menu ul li a {
  position: relative;
  display: inline-block;
  color: rgba(255, 255, 255, 0.6) !important;
  transition: all 0.4s ease;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Hover state for footer menu link */
.footer__widgets .widget_nav_menu ul li a:hover {
  color: #ed1c24 !important;
  transform: translateX(8px);
}

/* Add a elegant glowing border trace indicator on hover */
.footer__widgets .widget_nav_menu ul li a::before {
  content: '■';
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%) scale(0);
  color: #ed1c24;
  font-size: 8px;
  opacity: 0;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.footer__widgets .widget_nav_menu ul li a:hover::before {
  opacity: 1;
  transform: translateY(-50%) scale(1.2);
  left: -12px;
  text-shadow: 0 0 8px rgba(237, 28, 36, 0.6);
}

/* 3. Floating Circular Glass Social Media Badges */
.footer .socials {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media only screen and (min-width: 768px) {
  .footer .socials {
    justify-content: flex-end;
  }
}

.footer .social {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 16px !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
              background-color 0.4s ease,
              border-color 0.4s ease,
              color 0.4s ease,
              box-shadow 0.4s ease !important;
  overflow: hidden;
  z-index: 1;
}

/* Floating bounce hover behaviors for each social platform */
.footer .social:hover {
  transform: translateY(-5px) scale(1.15) !important;
  border-color: transparent !important;
  color: #ffffff !important;
}

/* Facebook hover styling */
.footer .social-facebook:hover {
  background-color: #1877F2 !important;
  box-shadow: 0 8px 24px rgba(24, 119, 242, 0.35) !important;
}

/* LinkedIn hover styling */
.footer .social-linkedin:hover {
  background-color: #0A66C2 !important;
  box-shadow: 0 8px 24px rgba(10, 102, 194, 0.35) !important;
}

/* YouTube hover styling */
.footer .social-youtube:hover {
  background-color: #FF0000 !important;
  box-shadow: 0 8px 24px rgba(255, 0, 0, 0.35) !important;
}

/* Instagram hover styling */
.footer .social-instagram:hover {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
  box-shadow: 0 8px 24px rgba(220, 39, 67, 0.35) !important;
}

/* 4. Snappy Floating Back to Top Button */
#back-to-top {
  right: 30px;
  bottom: 30px;
  z-index: 999;
}

#back-to-top a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25) !important;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
              background-color 0.4s ease,
              border-color 0.4s ease,
              box-shadow 0.4s ease !important;
}

/* Hover for Back to Top */
#back-to-top:hover a {
  transform: translateY(-6px) scale(1.08) !important;
  background: #ed1c24 !important;
  border-color: rgba(237, 28, 36, 0.4) !important;
  box-shadow: 0 8px 24px rgba(237, 28, 36, 0.45) !important;
}

/* Infinite bouncing animation on back-to-top arrow while idle */
@keyframes arrowBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}

#back-to-top a i {
  animation: arrowBounce 1.8s ease-in-out infinite;
}

/*-------------------------------------------------------*/
/* Premium Footer Column details, Descriptions, & Titles
/*-------------------------------------------------------*/
.footer-description {
  color: rgba(255, 255, 255, 0.45);
  font-size: 14px;
  line-height: 1.6;
  margin-top: 15px;
  font-family: "Open Sans", sans-serif;
}

.footer .widget-title {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 24px;
  padding-bottom: 10px;
}

/* Beautiful red underline accent on widget title */
.footer .widget-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 35px;
  height: 2px;
  background-color: #ed1c24;
  transition: width 0.4s ease;
}

.footer__widgets .widget:hover .widget-title::after {
  width: 55px;
}

.contact-details {
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-details li {
  display: flex !important;
  align-items: center;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
}

.contact-details li a {
  color: rgba(255, 255, 255, 0.55) !important;
  font-weight: 600;
  transition: all 0.3s ease;
}

.contact-details li a:hover {
  color: #ed1c24 !important;
  transform: translateX(3px);
}

.contact-icon {
  margin-right: 12px;
  color: #ed1c24;
  font-size: 16px;
  text-shadow: 0 0 8px rgba(237, 28, 36, 0.4);
}

/* Center bottom footer copyright */
.footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding: 24px 0;
  background: rgba(0, 0, 0, 0.2);
}

.footer__bottom .container-fluid {
  text-align: center !important;
}

.copyright {
  color: rgba(255, 255, 255, 0.45) !important;
}
/* --- Testimonial Marquee Animation --- */
.testimonial-marquee-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 40px 0;
  display: flex;
}

.testimonial-marquee {
  display: flex;
  width: fit-content;
  animation: scrollMarquee 35s linear infinite;
}

.testimonial-marquee:hover {
  animation-play-state: paused;
}

.testimonial-marquee__content {
  display: flex;
  gap: 30px;
  padding-right: 30px;
}

.testimonial-card {
  width: 380px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 32px;
  flex-shrink: 0;
  backdrop-filter: blur(10px);
  transition: transform 0.3s ease, background 0.3s ease;
}

.testimonial-card:hover {
  transform: translateY(-8px);
  background: rgba(255, 255, 255, 0.08);
}

.testimonial-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.testimonial-card__photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ed1c24;
}

.testimonial-card__info {
  display: flex;
  flex-direction: column;
}

.testimonial-card__author {
  color: #ffffff;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 18px;
}

.testimonial-card__company {
  color: #aaaaaa;
  font-size: 14px;
}

.testimonial-card__text {
  color: #dddddd;
  font-style: italic;
  line-height: 1.6;
  font-size: 15px;
}

@keyframes scrollMarquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
  .testimonial-card {
    width: 300px;
    padding: 24px;
  }
}
/* --- 3D Testimonial Card Stack Animation --- */
.testimonial-stack-container {
  position: relative;
  width: 100%;
  max-width: 600px;
  height: 380px;
  margin: 0 auto;
  perspective: 1200px;
}
.stack-card {
  position: absolute;
  top: 0; left: 0; right: 0;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 40px;
  backdrop-filter: blur(15px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.2);
  transition: all 1s cubic-bezier(0.23, 1, 0.32, 1);
  opacity: 0;
  transform: rotateY(90deg) scale(0.9);
  pointer-events: none;
}
.stack-card.active {
  opacity: 1;
  transform: rotateY(0deg) scale(1);
  z-index: 3;
  pointer-events: auto;
}
.stack-card.next {
  opacity: 0;
  transform: rotateY(-90deg) scale(0.9);
  z-index: 2;
}
.stack-card.hidden {
  opacity: 0;
  transform: rotateY(-90deg) scale(0.9);
  z-index: 1;
}
.stack-card.prev {
  opacity: 0;
  transform: rotateY(90deg) scale(0.9);
  z-index: 4;
}

.stack-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
.stack-card__photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ed1c24;
}
.stack-card__info {
  display: flex;
  flex-direction: column;
}
.stack-card__author {
  color: #ffffff;
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: 18px;
}
.stack-card__company {
  color: #aaaaaa;
  font-size: 14px;
}
.stack-card__text {
  color: #dddddd;
  font-style: italic;
  line-height: 1.6;
  font-size: 16px;
}

@media (max-width: 768px) {
  .testimonial-stack-container { height: 420px; }
  .stack-card { padding: 24px; }
}
/* --- New Split Card Layout --- */
.stack-card.layout-split {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0;
  background: #ffffff; /* pure white */
  border-radius: 40px;
  max-width: 850px;
  width: 100%;
  box-shadow: 0 20px 50px rgba(0,0,0,0.15);
  backdrop-filter: none;
  border: 1px solid #f0f0f0;
}

.testimonial-stack-container {
  max-width: 900px;
  height: 420px;
}

.stack-card__content-left {
  flex: 1;
  padding: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.stack-card__logo {
  margin-bottom: 24px;
}

.stack-card__quote {
  font-size: 22px;
  color: #1a1a24;
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 32px;
  font-style: normal;
}

.stack-card__author-info {
  display: flex;
  flex-direction: column;
}

.stack-card__author-info strong {
  color: #1a1a24;
  font-size: 16px;
  font-weight: 700;
}

.stack-card__author-info span {
  color: #666666;
  font-size: 14px;
  margin-top: 4px;
}

.stack-card__content-right {
  width: 280px;
  height: 280px;
  border-radius: 50%;
  overflow: hidden;
  margin: 40px 50px 40px 0;
  flex-shrink: 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}

.stack-card__large-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none;
  border-radius: 50%;
}

@media (max-width: 768px) {
  .stack-card.layout-split {
    flex-direction: column-reverse;
  }
  .stack-card__content-right {
    margin: 40px auto 0;
    width: 200px;
    height: 200px;
  }
  .stack-card__content-left {
    padding: 30px;
    text-align: center;
  }
  .stack-card__quote {
    font-size: 18px;
  }
  .testimonial-stack-container {
    height: 600px;
  }
}
/* --- Navigation Buttons for Stack --- */
.stack-nav {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;
  z-index: 10;
}
.stack-nav__btn {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid #eeeeee;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #1a1a24;
}
.stack-nav__btn:hover {
  background: #ed1c24;
  color: #ffffff;
  border-color: #ed1c24;
  transform: scale(1.05);
}
.stack-nav__btn i {
  font-size: 20px;
}
@media (max-width: 768px) {
  .stack-nav { bottom: -60px; }
}
/* --- Client Marquee --- */
.client-marquee-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 20px 0;
  display: flex;
}
.client-marquee-container::before,
.client-marquee-container::after {
  content: ";
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.client-marquee-container::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}
.client-marquee-container::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}

.client-marquee {
  display: flex;
  width: fit-content;
  animation: scrollClients 40s linear infinite;
}

.client-marquee:hover {
  animation-play-state: paused;
}

.client-marquee__track {
  display: flex;
  align-items: center;
  gap: 60px;
  padding-right: 60px;
}

.client-logo {
  flex-shrink: 0;
  width: 180px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
  filter: grayscale(100%) opacity(0.6);
}

.client-logo:hover {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.05);
}

.client-logo img {
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
}

@keyframes scrollClients {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
  .client-marquee__track { gap: 40px; padding-right: 40px; }
  .client-logo { width: 140px; }
  .client-marquee-container::before, .client-marquee-container::after { width: 50px; }
}
/* --- Orbital Clients Animation --- */
.orbit-container {
  position: relative;
  width: 100%;
  max-width: 800px;
  height: 600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.orbit-center {
  position: absolute;
  width: 160px;
  height: 160px;
  background: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 15px 35px rgba(0,0,0,0.1);
  text-align: center;
  border: 2px solid #ed1c24;
}
.orbit-center h3 {
  color: #1a1a24;
  font-size: 20px;
  font-weight: 800;
  margin: 0;
  text-transform: uppercase;
}

.orbit-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px dashed rgba(0,0,0,0.15);
  border-radius: 50%;
}

.orbit-ring-1 { 
  width: 320px; height: 320px; 
  animation: orbitRotate 25s linear infinite; 
}
.orbit-ring-2 { 
  width: 480px; height: 480px; 
  animation: orbitRotateReverse 35s linear infinite; 
}
.orbit-ring-3 { 
  width: 660px; height: 660px; 
  animation: orbitRotate 45s linear infinite; 
}

.orbit-item {
  position: absolute;
  top: 50%; left: 50%;
  width: 80px; height: 80px;
  margin: -40px 0 0 -40px;
}
.orbit-ring-1 .orbit-item { transform: rotate(var(--angle)) translateX(160px) rotate(calc(-1 * var(--angle))); }
.orbit-ring-2 .orbit-item { transform: rotate(var(--angle)) translateX(240px) rotate(calc(-1 * var(--angle))); }
.orbit-ring-3 .orbit-item { transform: rotate(var(--angle)) translateX(330px) rotate(calc(-1 * var(--angle))); }

.orbit-icon {
  width: 100%; height: 100%;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.orbit-item:hover .orbit-icon {
  transform: scale(1.15);
  box-shadow: 0 12px 25px rgba(0,0,0,0.15);
  z-index: 20;
}

.orbit-ring-1 .orbit-icon { animation: orbitSpinCounter 25s linear infinite; }
.orbit-ring-2 .orbit-icon { animation: orbitSpinForward 35s linear infinite; }
.orbit-ring-3 .orbit-icon { animation: orbitSpinCounter 45s linear infinite; }

.orbit-icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@keyframes orbitRotate {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes orbitRotateReverse {
  from { transform: translate(-50%, -50%) rotate(360deg); }
  to { transform: translate(-50%, -50%) rotate(0deg); }
}
@keyframes orbitSpinCounter {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}
@keyframes orbitSpinForward {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 768px) {
  .orbit-container { transform: scale(0.6); margin-top: -80px; margin-bottom: -80px; }
}
/* --- Floating Bubbles Clients Animation --- */
.bubble-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 40px 0;
  max-width: 1000px;
  margin: 0 auto;
}
.bubble {
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: floatBubble 6s ease-in-out infinite;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
  cursor: pointer;
  border: 1px solid rgba(0,0,0,0.03);
}
.bubble:hover {
  animation-play-state: paused;
  transform: scale(1.15) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
  z-index: 10;
}
.bubble img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  transition: filter 0.3s ease;
}
.bubble-1 { animation-delay: 0s; width: 160px; height: 160px; }
.bubble-2 { animation-delay: 1.2s; width: 140px; height: 140px; }
.bubble-3 { animation-delay: 0.5s; width: 180px; height: 180px; }
.bubble-4 { animation-delay: 2.1s; width: 150px; height: 150px; }
.bubble-5 { animation-delay: 0.8s; width: 145px; height: 145px; }
.bubble-6 { animation-delay: 1.5s; width: 135px; height: 135px; }
.bubble-7 { animation-delay: 2.8s; width: 170px; height: 170px; }
.bubble-8 { animation-delay: 0.3s; width: 155px; height: 155px; }
.bubble-9 { animation-delay: 1.9s; width: 140px; height: 140px; }
.bubble-10 { animation-delay: 2.4s; width: 165px; height: 165px; }

@keyframes floatBubble {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0px); }
}

@media (max-width: 768px) {
  .bubble {
    width: 120px !important;
    height: 120px !important;
    padding: 16px;
  }
}
/* --- Floating Bubbles Running Marquee --- */
.bubble-marquee-container {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 60px 0;
  display: flex;
}
.bubble-marquee-container::before,
.bubble-marquee-container::after {
  content: ";
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}
.bubble-marquee-container::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}
.bubble-marquee-container::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}

.bubble-marquee {
  display: flex;
  width: fit-content;
  animation: scrollBubbles 50s linear infinite;
}
.bubble-marquee:hover {
  animation-play-state: paused;
}

.bubble-marquee__track {
  display: flex;
  align-items: center;
  gap: 50px;
  padding-right: 50px;
}

.bubble {
  flex-shrink: 0;
}

@keyframes scrollBubbles {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
  .bubble-marquee__track { gap: 30px; padding-right: 30px; }
  .bubble-marquee-container::before, .bubble-marquee-container::after { width: 50px; }
}
/* --- Expanding Cards Gallery --- */
.expanding-gallery {
  display: flex;
  width: 100%;
  height: 500px;
  gap: 15px;
}

.expanding-card {
  position: relative;
  flex: 1;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.expanding-card::before {
  content: "";
  position: absolute;
  top:0; left:0; right:0; bottom:0;
  background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 60%);
  opacity: 0.6;
  transition: opacity 0.3s;
}

.expanding-card.active {
  flex: 5;
  box-shadow: 0 15px 30px rgba(0,0,0,0.2);
}

.expanding-card.active::before {
  opacity: 0.9;
}

.expanding-card__content {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  display: flex;
  align-items: flex-end;
  gap: 20px;
  color: #fff;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  transition-delay: 0s;
}

.expanding-card.active .expanding-card__content {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}

.expanding-card__icon {
  width: 50px;
  height: 50px;
  background: #ed1c24;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
  color: #fff;
}

.expanding-card__info {
  display: flex;
  flex-direction: column;
}

.expanding-card__info h3 {
  color: #fff;
  margin: 0 0 5px;
  font-size: 24px;
  white-space: nowrap;
}

.expanding-card__info p {
  margin: 0;
  font-size: 15px;
  color: rgba(255,255,255,0.8);
  white-space: nowrap;
}

@media (max-width: 768px) {
  .expanding-gallery {
    flex-direction: column;
    height: 600px;
  }
  .expanding-card__content {
    left: 15px;
    right: 15px;
    bottom: 15px;
  }
}
/* --- Modern Service Cards --- */
.modern-service-card {
  position: relative;
  height: 420px;
  border-radius: 4px; /* Sharper, more architectural feel */
  overflow: hidden;
  margin-bottom: 30px;
  cursor: pointer;
  background-color: #000;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.modern-service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 35px rgba(237, 28, 36, 0.2);
}

.modern-service-card__bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease;
  opacity: 1;
}

.modern-service-card:hover .modern-service-card__bg {
  transform: scale(1.15);
  opacity: 0.4;
}

.modern-service-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(24, 24, 24, 0.95); /* Dark grey resting state */
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px 25px;
  z-index: 2;
  /* Diagonal cut: higher on the left, lower on the right */
  clip-path: polygon(0 60%, 100% 75%, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 60%, 100% 75%, 100% 100%, 0 100%);
  transition: clip-path 0.5s cubic-bezier(0.25, 1, 0.5, 1), -webkit-clip-path 0.5s cubic-bezier(0.25, 1, 0.5, 1), background 0.5s ease;
}

.modern-service-card:hover .modern-service-card__content {
  /* Full cover on hover */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  background: rgba(237, 28, 36, 0.92); /* Brand red on hover */
}

.modern-service-card__title {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 0;
  transform: translateY(15px);
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  text-shadow: 0 2px 4px rgba(0,0,0,0.5);
}

.modern-service-card:hover .modern-service-card__title {
  transform: translateY(0);
  text-shadow: none;
  margin-bottom: 20px;
}

.modern-service-card__details {
  opacity: 0;
  transform: translateY(20px);
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
}

.modern-service-card:hover .modern-service-card__details {
  opacity: 1;
  transform: translateY(0);
  max-height: 250px; /* arbitrary large enough height */
  transition-delay: 0.15s;
}

.modern-service-card__details p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  margin-bottom: 25px;
  line-height: 1.6;
}

.modern-service-card__btn {
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 10px 24px;
  border-radius: 30px;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}

.modern-service-card__btn i { 
  margin-left: 8px; 
  transition: transform 0.3s; 
}

.modern-service-card__btn:hover { 
  background: #fff; 
  color: #ed1c24; 
  border-color: #fff;
  text-decoration: none; 
}

.modern-service-card__btn:hover i { 
  transform: translateX(5px); 
}


/* Catchy Vision & Mission Cards - Dark Premium Edition */
.vm-card {
  background: linear-gradient(145deg, #1a1a24 0%, #222230 100%);
  border-radius: 16px;
  padding: 50px 40px;
  height: 100%;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.5s cubic-bezier(0.25, 1, 0.3, 1);
  border-bottom: 4px solid #ed1c24;
}

/* Background floating abstract shape for "catchy" vibe */
.vm-card::before {
  content: '';
  position: absolute;
  top: -50px;
  right: -50px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(237, 28, 36, 0.15) 0%, rgba(237, 28, 36, 0) 70%);
  border-radius: 50%;
  z-index: -1;
  transition: transform 0.6s ease;
}

/* Second floating shape */
.vm-card::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 70%);
  border-radius: 50%;
  z-index: -1;
  transition: transform 0.6s ease;
}

.vm-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 25px 50px rgba(237, 28, 36, 0.2);
  background: linear-gradient(145deg, #1f1f2e 0%, #29293b 100%);
}

.vm-card:hover::before {
  transform: scale(1.5) translate(-20px, 20px);
}

.vm-card:hover::after {
  transform: scale(1.5) translate(20px, -20px);
}

.vm-title {
  font-size: 28px;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
  letter-spacing: 0.5px;
}

.vm-title::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 40px;
  height: 3px;
  background-color: #ed1c24;
  transition: width 0.4s ease;
  border-radius: 2px;
}

.vm-card:hover .vm-title::after {
  width: 100%;
}

.vm-text {
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 0;
  font-weight: 400;
}

/* Entrance Animation */
.vm-animate-in {
  animation: vmFadeInUp 0.8s ease forwards;
  opacity: 0;
}
.vm-delay-1 { animation-delay: 0.1s; }
.vm-delay-2 { animation-delay: 0.3s; }

@keyframes vmFadeInUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Custom Booshnam Intro Design */
.booshnam-intro-section {
  margin-top: 80px;
  position: relative;
  padding: 50px 40px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
  border-top: 4px solid #ed1c24;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.booshnam-intro-section:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
}

.booshnam-heading {
  font-size: 36px;
  font-weight: 800;
  color: #1a1a24;
  margin-bottom: 30px;
  position: relative;
  display: inline-block;
  padding-bottom: 15px;
}

.booshnam-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background-color: #ed1c24;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.booshnam-intro-section:hover .booshnam-heading::after {
  width: 100px;
}

.booshnam-lead {
  font-size: 18px;
  line-height: 1.9;
  color: #444444;
  position: relative;
  z-index: 1;
}

.booshnam-lead::before {
  content: '\201C';
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 160px;
  color: rgba(237, 28, 36, 0.05);
  font-family: Georgia, serif;
  z-index: -1;
  line-height: 1;
}

/* Floating Bubbles Animation Design */
.client-bubble-wrapper {
  padding: 60px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
}

.client-bubble {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 15px 35px rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  animation: floatBubble 5s ease-in-out infinite;
  cursor: pointer;
  overflow: hidden; /* For the running border */
}

/* The running red circle effect */
.client-bubble::before {
  content: '';
  position: absolute;
  width: 150%;
  height: 150%;
  background: conic-gradient(transparent 60%, #ed1c24 100%);
  animation: spinBorder 3s linear infinite;
  z-index: 0;
}

/* Inner white circle */
.client-bubble::after {
  content: '';
  position: absolute;
  inset: 3px; /* Border thickness */
  background: #ffffff;
  border-radius: 50%;
  z-index: 1;
}

@keyframes spinBorder {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.client-bubble img {
  max-width: 65%;
  max-height: 65%;
  object-fit: contain;
  /* Full Color */
  filter: none;
  opacity: 1;
  transition: all 0.4s ease;
  position: relative;
  z-index: 2; /* Keep above inner circle */
}

.client-bubble:hover {
  transform: scale(1.15) translateY(-5px) !important;
  box-shadow: 0 25px 50px rgba(237, 28, 36, 0.2);
  z-index: 10;
  animation-play-state: paused;
}

.client-bubble:hover::before {
  animation: spinBorder 1s linear infinite;
  background: conic-gradient(transparent 30%, #ed1c24 100%);
}

.client-bubble:hover img {
  transform: scale(1.15);
}

@keyframes floatBubble {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

/* Organic staggered timing for the floating animation */
.client-bubble:nth-child(1) { animation-duration: 5.2s; animation-delay: -1.0s; }
.client-bubble:nth-child(2) { animation-duration: 4.8s; animation-delay: -3.5s; }
.client-bubble:nth-child(3) { animation-duration: 6.1s; animation-delay: -0.5s; }
.client-bubble:nth-child(4) { animation-duration: 5.5s; animation-delay: -4.0s; }
.client-bubble:nth-child(5) { animation-duration: 4.9s; animation-delay: -2.0s; }
.client-bubble:nth-child(6) { animation-duration: 5.8s; animation-delay: -1.5s; }
.client-bubble:nth-child(7) { animation-duration: 5.0s; animation-delay: -3.0s; }
.client-bubble:nth-child(8) { animation-duration: 6.3s; animation-delay: -0.2s; }
.client-bubble:nth-child(9) { animation-duration: 4.7s; animation-delay: -2.5s; }
.client-bubble:nth-child(10) { animation-duration: 5.4s; animation-delay: -1.2s; }


