/*----------------------------------------------------------------------------------------------------------------------
Project:	    StartUps
Version:        1.0.0

Default Color   #ff6a6a;

Body copy:		'Montserrat', sans-serif; 15px;
Headers:		'Montserrat', sans-serif;

----------------------------------------------------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------------------------------------------------
[Table of contents]

A. Basic Styling
  -- Styling

B. Helpers
  -- Animations
  -- Borders
  -- Colors
  -- Column Count
  -- Transitions
  -- Background
  -- Headings
  -- Height
  -- Margin
  -- No Gutter
  -- Opacity
  -- Overflow
  -- Padding
  -- Position
  -- Shadow
  -- Shape Mask
  -- Typography
  -- Title
  -- Transitions
  -- Utilities
  -- Width
  -- Z-Index

C. Components
  -- Block
  -- Blockquote
  -- Box
  -- Buttons
  -- Card
  -- Circle
  -- Forms
  -- Inputs
  -- Item
  -- List
  -- Map
  -- Hero
  -- Navbar
  -- Page
  -- Partners
  -- Plugins
  -- Price Box
  -- Progress
  -- Promo Numbers
  -- Select
  -- Slider
  -- Tabs

D. Plugins Styles
  -- Magnific Popup
  -- Owl Carousel

E. Template Specific Elements
  -- Price Box
  -- Other
  -- Story


----------------------------------------------------------------------------------------------------------------------*/

/***********************************************************************************************************************
A. Basic Styling
***********************************************************************************************************************/

/*-------------------------------------------
  -- Styling - Colors, Font Size, Font Family
-------------------------------------------*/

:root {
  --table-header-bg: #20476a;
}

body {
  color: #191919;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  font-size: 0.9375rem;
  margin: 0;
  padding: 0;
}

html {
  font-size: 80%;
}

.mb-2 {
  margin-bottom: 1.25rem !important;
}

/* Shared table styles used across multiple pages */
.ts-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  font-size: 0.875rem;
}

.ts-table-container {
  max-height: 500px;
  overflow-y: auto;
  border-radius: 10px;
  box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.3);
  background: rgba(0, 0, 0, 0.04);
}

.ts-table th,
.ts-table td {
  padding: 12px 8px;
  text-align: center;
  border-bottom: 1px solid #1f2a44;
  font-size: 12px;
}

.ts-table th {
  background: var(--table-header-bg);
  color: white;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 10;
}

.ts-table tr:hover {
  background: rgba(255, 255, 255, 0.03);
}

.ts-table tr.selected {
  background: rgba(34, 211, 238, 0.1);
}

.ts-checkbox {
  transform: scale(1.5);
  cursor: pointer;
}

.ts-strategy-name {
  font-weight: 600;
  color: #191919;
}

.ts-positive {
  color: #10b981;
}
.ts-negative {
  color: #ef4444;
}

h1,
.ts-h1 {
  font-weight: 500;
  font-size: 2.5rem;
}

h2,
.ts-h2 {
  font-weight: 500;
  font-size: 1.5rem;
}

h3,
.ts-h3 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 1.5625rem;
}

h4,
.ts-h4 {
  font-weight: 500;
  margin-bottom: 1.875rem;
}

h5,
.ts-h5 {
  font-size: 1rem;
  font-weight: 600;
}

h6,
.ts-h6 {
  font-size: 0.9375rem;
}

.container > header,
.wrap > header,
.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.container > header h1,
.wrap > header h1,
.header h1 {
  font-size: 24px;
  margin: 0;
  font-weight: 650;
  letter-spacing: 0.2px;
}
.container > header .subtle,
.wrap > header .subtle,
.header .subtle {
  color: #91a3b8; /* subtle helper text for headers */
  font-size: 14px;
  margin-top: 4px;
}
.container > header .pill,
.wrap > header .pill,
.header .pill {
  background: rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
}

/* NEW */

/***********************************************************************************************************************
B. Helpers
***********************************************************************************************************************/

/*-------------------------------------------
  -- Animations
-------------------------------------------*/

[data-animate] {
  opacity: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
  animation-timing-function: ease;
}

/* Fade In Up */

@keyframes ts-fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.ts-fadeInUp {
  animation-name: ts-fadeInUp;
}

/* Fade In Down */

@keyframes ts-fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -1.25rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.ts-fadeInDown {
  animation-name: ts-fadeInDown;
}

/* Fade In Left */

@keyframes ts-fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-1.25rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.ts-fadeInLeft {
  animation-name: ts-fadeInLeft;
}

/* Fade In Right */

@keyframes ts-fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(1.25rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.ts-fadeInRight {
  animation-name: ts-fadeInRight;
}

/* Zoom In */

@keyframes ts-zoomIn {
  from {
    opacity: 0;
    transform: scale(0.5);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.ts-zoomIn {
  animation-name: ts-zoomIn;
}

/* Zoom Out In */

@keyframes ts-zoomOutIn {
  from {
    opacity: 0;
    transform: scale(1.1);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.ts-zoomOutIn {
  animation-name: ts-zoomOutIn;
}

/* Zoom In Short */

@keyframes ts-zoomInShort {
  from {
    opacity: 0;
    transform: scale(0.9);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.ts-zoomInShort {
  animation-name: ts-zoomInShort;
}

/*-------------------------------------------
  -- Borders
-------------------------------------------*/

.ts-border-radius__sm {
  border-radius: 0.125rem;
  overflow: hidden;
}

.ts-border-radius__md {
  border-radius: 0.25rem;
  overflow: hidden;
}

.ts-border-radius__lg {
  border-radius: 0.5rem;
  overflow: hidden;
}

.ts-border-radius__xl {
  border-radius: 0.75rem;
  overflow: hidden;
}

.ts-border-radius__pill {
  border-radius: 6.25rem !important;
  overflow: hidden;
}

.portman-link {
  display: none;
  background: linear-gradient(90deg, #2f6bf6 0%, #5ab1ff 100%);
  color: #fff !important;
  border-radius: 6px;
  padding: 6px 10px;
  font-weight: 600;
  box-shadow: 0 6px 18px rgba(47, 107, 246, 0.18);
  transition: transform 120ms ease, box-shadow 120ms ease, opacity 160ms ease;
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.portman-link:hover,
.portman-link:focus {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(47, 107, 246, 0.22);
  text-decoration: none;
}
.portman-link .small {
  opacity: 0.9;
  font-weight: 500;
}

.ts-border-radius__round-shape {
  border-radius: 187.5rem;
  overflow: hidden;
}

.ts-border-none {
  border: none;
}

.ts-border-bottom {
  border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.1);
}

.ts-font-color__white {
  color: #fff;
}

.ts-font-color__black {
  color: #000;
}

.ts-font-color__primary {
  color: #3a79f9;
}

/*-------------------------------------------
  -- Background
-------------------------------------------*/

[data-bg-image] {
  background-size: cover;
  background-position: 50%;
}

.ts-background {
  bottom: 0;
  left: 0;
  height: 100%;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: -2;
}

.ts-background .ts-background {
  height: 100%;
  width: 100%;
}

.ts-background-repeat {
  background-repeat: repeat;
  background-size: inherit;
}

.ts-background-repeat .ts-background-image {
  background-repeat: repeat;
  background-size: inherit;
}

.ts-background-image,
.ts-img-into-bg {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.ts-background-image img,
.ts-img-into-bg img {
  display: none;
}

.ts-background-original-size {
  background-size: inherit;
}

.ts-background-size-cover {
  background-size: cover;
}

.ts-background-size-contain {
  background-size: contain;
}

.ts-background-repeat-x {
  background-repeat: repeat-x;
}

.ts-background-repeat-y {
  background-repeat: repeat-y;
}

.ts-background-repeat-repeat {
  background-repeat: repeat;
  background-size: inherit;
}

.ts-background-position-top {
  background-position: top;
}

/* -----------------------------------------------------------------------------
   Default Dark Theme Scrollbar (used across the site)
   Named as "ts-scrollbar--dark" so it can be applied globally or selectively.
   Provides support for WebKit browsers and Firefox.
   -------------------------------------------------------------------------- */
.ts-scrollbar--dark {
  /* Firefox */
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.12) rgba(11, 17, 28);
}

/* WebKit */
.ts-scrollbar--dark::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
.ts-scrollbar--dark::-webkit-scrollbar-track {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.02),
    rgba(255, 255, 255, 0.01)
  );
  border-radius: 12px;
}
.ts-scrollbar--dark::-webkit-scrollbar-thumb {
  background: linear-gradient(
    180deg,
    rgba(34, 211, 238, 0.2),
    rgba(58, 124, 249, 0.14)
  );
  border-radius: 10px;
  border: 3px solid rgba(10, 14, 20, 0.85);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 2px 8px rgba(2, 6, 23, 0.6);
}
.ts-scrollbar--dark::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    180deg,
    rgba(34, 211, 238, 0.95),
    rgba(58, 124, 249, 0.85)
  );
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 4px 14px rgba(2, 6, 23, 0.75);
}
.ts-scrollbar--dark::-webkit-scrollbar-corner {
  background: transparent;
}

.ts-background-position-center {
  background-position: center;
}

.ts-background-position-bottom {
  background-position: bottom;
}

.ts-background-position-left {
  background-position-x: left !important;
}

.ts-background-position-right {
  background-position-x: right !important;
}

.ts-background-particles {
  height: 120%;
  left: 0;
  margin-left: -10%;
  margin-top: -10%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 120%;
  z-index: 1;
}

.ts-background-is-dark {
  color: #fff;
}

.ts-background-is-dark .form-control {
  box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.2);
}

.ts-background-is-dark .form-control:focus {
  box-shadow: 0 0 0 0.125rem rgba(255, 255, 255, 0.4);
}

.ts-background-is-dark .ts-btn-border-muted {
  border-color: rgba(255, 255, 255, 0.1);
}

.ts-video-bg {
  height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
  height: 100%;
}

/*-------------------------------------------
  -- Height
-------------------------------------------*/

.ts-height__50px {
  height: 3.125rem;
}

.ts-height__100px {
  height: 6.25rem;
}

.ts-height__150px {
  height: 9.375rem;
}

.ts-height__200px {
  height: 12.5rem;
}

.ts-height__250px {
  height: 15.625rem;
}

.ts-height__300px {
  height: 18.75rem;
}

.ts-height__350px {
  height: 21.875rem;
}

.ts-height__400px {
  height: 25rem;
}

.ts-height__450px {
  height: 28.125rem;
}

.ts-height__500px {
  height: 31.25rem;
}

.ts-height__600px {
  height: 37.5rem;
}

.ts-height__700px {
  height: 43.75rem;
}

.ts-height__800px {
  height: 50rem;
}

.ts-height__900px {
  height: 56.25rem;
}

.ts-height__1000px {
  height: 62.5rem;
}

/*-------------------------------------------
  -- Margin
-------------------------------------------*/

.ts-mt__0 {
  margin-top: 0 !important;
}

.ts-mr__0 {
  margin-right: 0 !important;
}

.ts-mb__0 {
  margin-bottom: 0 !important;
}

.ts-ml__0 {
  margin-left: 0 !important;
}

/*-------------------------------------------
  -- No Gutters - Removes padding from col*
-------------------------------------------*/

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

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

/*-------------------------------------------
  -- Opacity
-------------------------------------------*/

.ts-opacity__5 {
  opacity: 0.05;
}

.ts-opacity__10 {
  opacity: 0.1;
}

.ts-opacity__20 {
  opacity: 0.2;
}

.ts-opacity__30 {
  opacity: 0.3;
}

.ts-opacity__40 {
  opacity: 0.4;
}

.ts-opacity__50 {
  opacity: 0.5;
}

.ts-opacity__60 {
  opacity: 0.6;
}

.ts-opacity__70 {
  opacity: 0.7;
}

.ts-opacity__80 {
  opacity: 0.8;
}

.ts-opacity__90 {
  opacity: 0.9;
}

/*-------------------------------------------
  -- Overflow
-------------------------------------------*/

.ts-overflow__hidden {
  overflow: hidden;
}

.ts-overflow__visible {
  overflow: visible;
}

/*-------------------------------------------
  -- Padding
-------------------------------------------*/

.ts-pt__0 {
  padding-top: 0 !important;
}

.ts-pr__0 {
  padding-right: 0 !important;
}

.ts-pb__0 {
  padding-bottom: 0 !important;
}

.ts-pl__0 {
  padding-left: 0 !important;
}

/*-------------------------------------------
  -- Position
-------------------------------------------*/

/* Top */

.ts-top__0 {
  top: 0%;
}

.ts-top__50 {
  top: 50%;
}

.ts-top__100 {
  top: 100%;
}

/* Right */

.ts-right__0 {
  right: 0%;
}

.ts-right__50 {
  right: 50%;
}

.ts-right__100 {
  right: 100%;
}

.ts-right__inherit {
  right: inherit;
}

/* Bottom */

.ts-bottom__0 {
  bottom: 0%;
}

.ts-bottom__50 {
  bottom: 50%;
}

.ts-bottom__100 {
  bottom: 100%;
}

/* Left */

.ts-left__0 {
  left: 0%;
}

.ts-left__50 {
  left: 50%;
}

.ts-left__100 {
  left: 100%;
}

.ts-left__inherit {
  left: inherit;
}

.ts-push-left__100 {
  transform: translateX(100%);
}

/*-------------------------------------------
  -- Shadow
-------------------------------------------*/

.ts-shadow__sm {
  box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
}

.ts-shadow__md {
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
}

.ts-shadow__lg {
  box-shadow: 0.375rem 0.3125rem 1.5625rem rgba(0, 0, 0, 0.2);
}

.ts-shadow__none {
  box-shadow: none !important;
}

/*-------------------------------------------
  -- Typography
-------------------------------------------*/

a {
  color: #3a79f9;
  transition: 0.3s ease;
}

a:hover {
  color: rgb(7, 84, 237);
  text-decoration: none;
}

p {
  line-height: 1.6875rem;
  margin-bottom: 1.875rem;
  color: rgba(0, 0, 0, 0.5);
}

.ts-font-weight__normal {
  font-weight: normal;
}

.ts-font-weight__light {
  font-weight: lighter;
}

.ts-font-weight__bold {
  font-weight: bold;
}

.ts-text-small {
  font-size: 0.8125rem !important;
}

.ts-xs-text-center {
}

/*-------------------------------------------
  -- Title
-------------------------------------------*/

.ts-title {
}

.ts-title h5 {
  font-weight: normal;
  opacity: 0.5;
}

/*-------------------------------------------
  -- Utilities
-------------------------------------------*/

.ts-element {
  position: relative;
}

/* Social Icons */

.ts-social-icons {
  font-size: 120%;
}

.ts-social-icons a {
  padding: 0.125rem 0.25rem;
  color: #9e9e9e;
}

/* Overlay */

.ts-has-overlay {
  position: relative;
}

.ts-has-overlay:after {
  background-color: #000;
  content: '';
  height: 100%;
  left: 0;
  opacity: 0.5;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

/* Flip x */

.ts-flip-x {
  transform: scaleY(-1);
}

/* Flip Y */

.ts-flip-y {
  transform: scaleX(-1);
}

.ts-video-bg {
  height: 100%;
}

.ts-video-bg .fluid-width-video-wrapper {
  height: 100%;
}

.ts-video-bg iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

/*-------------------------------------------
  -- Width
-------------------------------------------*/

.ts-width__10px {
  width: 0.625rem;
}

.ts-width__20px {
  width: 1.25rem;
}

.ts-width__30px {
  width: 1.875rem;
}

.ts-width__40px {
  width: 2.5rem;
}

.ts-width__50px {
  width: 3.125rem;
}

.ts-width__100px {
  width: 6.25rem;
}

.ts-width__200px {
  width: 12.5rem;
}

.ts-width__300px {
  width: 18.75rem;
}

.ts-width__400px {
  width: 25rem;
}

.ts-width__500px {
  width: 31.25rem;
}

.ts-width__inherit {
  width: inherit !important;
}

.ts-width__auto {
  width: auto !important;
}

/*-------------------------------------------
  -- Z-index
-------------------------------------------*/

.ts-z-index__-1 {
  z-index: -1 !important;
}

.ts-z-index__0 {
  z-index: 0 !important;
}

.ts-z-index__1 {
  z-index: 1 !important;
}

.ts-z-index__2 {
  z-index: 2 !important;
}

.ts-z-index__1000 {
  z-index: 1000 !important;
}

/***********************************************************************************************************************
C. Components
***********************************************************************************************************************/

/*-------------------------------------------
  -- Block
-------------------------------------------*/

.ts-block {
  padding-bottom: 5rem;
  padding-top: 5rem;
  position: relative;
  /*
  &:after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'  width='103.987' height='105.599'%3E%3cpath fill='var(--color-primary-svg)' d='M101.017 45.961c-10.338 22.34-33.156 61.239-62.326 59.586-31.984-1.803-44.52-48.772-36.182-73.996 15.682-47.439 120.287-40.376 98.508 14.41-10.998 23.766 1.923-4.836 0 0z'/%3E%3c/svg%3E");
  }
  */
}

.ts-block-inside {
  padding: 1.25rem;
  position: relative;
}

section {
  position: relative;
}

/*-------------------------------------------
  -- Blockquote
-------------------------------------------*/

blockquote {
  font-size: 1.125rem;
  position: relative;
  padding-bottom: 2rem;
}

blockquote [class*='ts-circle'] {
  box-shadow: 0.375rem 0.3125rem 1.5625rem rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 2;
  margin-top: 1rem;
}

blockquote p {
  background-color: #f1f1f1;
  border-radius: 0.25rem;
  margin-top: -2.5rem;
  padding: 2.5rem;
  position: relative;
  z-index: 1;
}

blockquote p:after {
  border-color: #f1f1f1 transparent transparent transparent;
  border-style: solid;
  border-width: 0.8125rem 0.8125rem 0 0.8125rem;
  content: '';
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -0.8125rem;
}

blockquote h4 {
  margin-bottom: 0.3125rem;
}

blockquote h6 {
  opacity: 0.5;
}

.blockquote-footer {
  color: inherit;
}

.blockquote-footer:before {
  display: none;
}

.ts-carousel-blockquote .owl-item figure,
.ts-carousel-blockquote .owl-item p,
.ts-carousel-blockquote .owl-item .blockquote-footer {
  opacity: 0;
  transition: 0.6s ease;
  transform: translateY(0.625rem);
}

.ts-carousel-blockquote .owl-item.active figure,
.ts-carousel-blockquote .owl-item.active p,
.ts-carousel-blockquote .owl-item.active .blockquote-footer {
  opacity: 1;
  transform: translateY(0);
}

.ts-carousel-blockquote .owl-item.active p {
  transition-delay: 0.1s;
}

.ts-carousel-blockquote .owl-item.active .blockquote-footer {
  transition-delay: 0.2s;
}

/*-------------------------------------------
  -- Box
-------------------------------------------*/

.ts-box {
  background-color: #fff;
  border-radius: 0.25rem;
  margin-bottom: 1.875rem;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  padding: 1.5625rem;
}

/*-------------------------------------------
  -- Buttons
-------------------------------------------*/

.btn {
  border-radius: 6.25rem;
  border-width: 0.125rem;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 0.5rem 1.25rem;
  position: relative;
  outline: none !important;
}

.btn:hover .fa-arrow-right {
  transform: translateX(0.5rem);
}

.btn .fa-arrow-right {
  transition: 0.6s cubic-bezier(0.85, -0.37, 0.17, 1.45);
  transform: translateX(0) rotate(0.02deg);
}

.btn span {
  transition: 0.3s ease;
}

.btn .status {
  bottom: 0;
  height: 1.375rem;
  left: 0;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5rem;
}

.btn .status .spinner {
  left: 0.3125rem;
  transition: 0.3s ease;
  top: 0.1875rem;
  position: absolute;
  opacity: 0;
}

.btn .status .status-icon {
  border-radius: 50%;
  left: 0;
  opacity: 0;
  font-size: 0.625rem;
  padding: 0.25rem 0.4375rem;
  position: relative;
  transition: 0.3s ease;
  z-index: 1;
  transform: scale(0);
}

.btn .status .status-icon.valid {
  background-color: var(--green);
}

.btn .status .status-icon.invalid {
  background-color: var(--red);
}

.btn.processing span {
  opacity: 0.2;
}

.btn.processing .spinner {
  opacity: 1;
}

.btn.done .ts-spinner {
  opacity: 0;
}

.btn.done .status-icon {
  transform: scale(1);
  opacity: 1;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  /*background-color: darken( var(--color-primary), 20% );
    border-color: darken( var(--color-primary), 20% );*/
  background-color: #3a79f9;
  border-color: #3a79f9;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.3);
}

.btn-primary {
  background-color: #3a79f9;
  border-color: #3a79f9;
  color: #fff;
}

.btn-primary.disabled,
.btn-primary:disabled {
  background-color: rgb(7, 84, 237);
  border-color: rgb(7, 84, 237);
}

.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  background-color: rgb(7, 84, 237);
  border-color: rgb(6, 74, 208);
  box-shadow: 0 0.1875rem 0.9375rem rgba(0, 0, 0, 0.2);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: rgb(7, 84, 237);
  border-color: rgb(7, 84, 237);
  box-shadow: 0 0.1875rem 0.9375rem rgba(0, 0, 0, 0.2);
}

.btn-dark {
  background-color: #191919;
  border-color: #191919;
}

.btn-outline-primary {
  border-color: #3a79f9;
  color: #3a79f9;
}

.btn-outline-primary:hover {
  background-color: #3a79f9;
  border-color: #3a79f9;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
  background-color: #3a79f9;
  border-color: #3a79f9;
  box-shadow: 0 0 0 0.2rem rgba(58, 121, 249, 0.5);
}

.btn-lg {
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
}

.btn-sm {
  font-size: 0.8125rem;
  padding: 0.375rem 1rem;
}

.btn-xs {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.6875rem;
  text-transform: uppercase;
}

[class*='btn-outline-'] {
  box-shadow: none;
}

.ts-btn-border-muted {
  border-color: rgba(25, 25, 25, 0.1);
}

/*-------------------------------------------
  -- Card
-------------------------------------------*/

.card {
  backface-visibility: hidden;
  border: none;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  margin-bottom: 1.875rem;
  overflow: hidden;
}

.card-columns .card {
  margin-bottom: 1.25rem;
}

.card-body,
.card-footer,
.card-header {
  padding: 1.5625rem;
}

.ts-cards-same-height > div[class*='col-'] {
  display: flex;
}

.ts-cards-same-height > div[class*='col-'] .card {
  width: 100%;
}

.ts-card__flat {
  border-radius: 0;
  box-shadow: none;
}

.ts-card__flat .card-footer {
  background-color: transparent;
  border: none;
}

.ts-card__image {
}

/*-------------------------------------------
  -- Circle
-------------------------------------------*/

.ts-circle__xs {
  border-radius: 50%;
  display: inline-block;
  height: 3rem;
  flex: 0 0 3rem;
  overflow: hidden;
  text-align: center;
  line-height: 3rem;
  width: 3rem;
}

.ts-circle__sm {
  border-radius: 50%;
  display: inline-block;
  height: 4.375rem;
  flex: 0 0 4.375rem;
  overflow: hidden;
  text-align: center;
  line-height: 4.375rem;
  width: 4.375rem;
}

.ts-circle__md {
  border-radius: 50%;
  display: inline-block;
  height: 6.25rem;
  flex: 0 0 6.25rem;
  overflow: hidden;
  text-align: center;
  line-height: 6.25rem;
  width: 6.25rem;
}

.ts-circle__lg {
  border-radius: 50%;
  display: inline-block;
  height: 8.125rem;
  flex: 0 0 8.125rem;
  overflow: hidden;
  text-align: center;
  line-height: 8.125rem;
  width: 8.125rem;
}

.ts-circle__xl {
  border-radius: 50%;
  display: inline-block;
  height: 10rem;
  flex: 0 0 10rem;
  overflow: hidden;
  text-align: center;
  line-height: 10rem;
  width: 10rem;
}

.ts-circle__xxl {
  border-radius: 50%;
  display: inline-block;
  height: 15.625rem;
  flex: 0 0 15.625rem;
  overflow: hidden;
  text-align: center;
  line-height: 15.625rem;
  width: 15.625rem;
}

/*-------------------------------------------
  -- Forms
-------------------------------------------*/

form.ts-labels-inside-input .form-group,
.ts-form.ts-labels-inside-input .form-group {
  position: relative;
}

form.ts-labels-inside-input .form-group label,
.ts-form.ts-labels-inside-input .form-group label {
  line-height: 2.625rem;
  left: 0.8125rem;
  opacity: 0.4;
  pointer-events: none;
  position: absolute;
  top: 0;
  transition: 0.3s ease;
}

form.ts-labels-inside-input .form-group label.focused,
.ts-form.ts-labels-inside-input .form-group label.focused {
  top: -2.1875rem;
  left: 0;
  font-size: 0.75rem;
  opacity: 1;
}

.form-control {
  border: 0;
  box-shadow: 0 0 0 0.125rem rgba(0, 0, 0, 0.2);
  border-radius: 0.125rem;
  padding: 0.5625rem 0.75rem;
}

.form-control:focus {
  box-shadow: 0 0 0 0.125rem rgba(0, 0, 0, 0.4);
}

.form-group {
  margin-bottom: 1.5625rem;
}

.form-group label {
  font-size: 0.8125rem;
}

.ts-gallery {
  position: relative;
}

.ts-gallery .ts-gallery__image {
  background-color: #191919;
  color: #fff;
  display: block;
  height: 28rem;
  overflow: hidden;
}

.ts-gallery .ts-gallery__image:hover .ts-img-into-bg {
  opacity: 0.3;
  transform: scale(1.1);
}

.ts-gallery .ts-gallery__caption {
  padding: 3rem;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: 2;
}

.ts-gallery .ts-img-into-bg {
  opacity: 0.6;
  transition: 1s cubic-bezier(0.23, 0.05, 0.17, 1.02);
  transform: scale(1.03);
}

/*-------------------------------------------
  -- Inputs
-------------------------------------------*/

.ts-input__static {
  pointer-events: none;
  box-shadow: none;
}

.ts-inputs__transparent input,
.ts-inputs__transparent textarea {
  background-color: transparent;
  color: #fff;
}

.ts-inputs__transparent input:active,
.ts-inputs__transparent input:focus,
.ts-inputs__transparent textarea:active,
.ts-inputs__transparent textarea:focus {
  background-color: transparent;
  color: #fff;
}

.ts-item {
  height: 100%;
  padding-bottom: 1.875rem;
}

.ts-item-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ts-item-header {
  margin-bottom: 1.5625rem;
  position: relative;
}

.ts-item-header .icon {
  position: relative;
  display: inline-block;
}

.ts-item-header .icon .step {
  background-color: #3a79f9;
  top: 0;
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  border-radius: 50%;
  color: #fff;
  font-weight: 600;
  line-height: 1.875rem;
  right: 0;
  height: 1.875rem;
  position: absolute;
  text-align: center;
  width: 1.875rem;
}

.ts-item-body {
  flex: 1 1 auto;
}

.ts-item-footer {
}

/*-------------------------------------------
  -- List
-------------------------------------------*/

ul {
  line-height: 2.5rem;
  list-style: none;
  padding-left: 0;
}

ul.ts-list-colored-bullets li:before {
  content: '•';
  color: #3a79f9;
  vertical-align: middle;
  font-size: 1.75rem;
  padding-right: 0.75rem;
}

ul.ts-list-divided li {
  border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.1);
  padding-bottom: 0.3125rem;
  padding-top: 0.3125rem;
}

ul.ts-list-divided li:last-child {
  border-bottom: none;
}

/*-------------------------------------------
  -- Loading Screen
-------------------------------------------*/

body.has-loading-screen:before {
  background-color: #000;
  content: '';
  height: 100%;
  right: 0;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 9999;
  transition: 1.5s ease;
  opacity: 1;
}

body.has-loading-screen:after {
  content: url('../img/loading.svg');
  height: 2.5rem;
  width: 2.5rem;
  position: fixed;
  margin: auto;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
  transform: scale(1);
  transition: 1.5s ease;
  top: 0;
  z-index: 10000;
}

body.has-loading-screen.loading-done:before {
  width: 0;
}

body.has-loading-screen.loading-done:after {
  transform: scale(0);
  opacity: 0;
}

/*-------------------------------------------
  -- Map
-------------------------------------------*/

.map {
  min-height: 12.5rem;
}

.map a[href^="http://maps.google.com/maps"]
{
  display: none !important;
}

.map a[href^="https://maps.google.com/maps"]
{
  display: none !important;
}

.map .gmnoprint a,
.map .gmnoprint span,
.map .gm-style-cc {
  display: none;
}

/*-------------------------------------------
  -- Hero
-------------------------------------------*/

#ts-hero {
  color: #fff;
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100vh;
}

#ts-hero .ts-background-image {
  background-position: top center;
}

/*-------------------------------------------
  -- Navbar
-------------------------------------------*/

.navbar {
  font-size: 0.875rem;
  font-weight: 500;
  padding-bottom: 2rem;
  padding-top: 2rem;
  transition: 0.3s ease;
}

.navbar.in {
  padding-bottom: 1rem;
  padding-top: 1rem;
  background-color: rgb(20, 26, 58);
}

/* Hide all navbar links by default; JS will reveal them when logged in */
nav .navbar-nav a {
  display: none;
}

nav .navbar-nav a.disabled {
  pointer-events: none;
  opacity: 0.6;
}

.navbar.in .ts-background {
  opacity: 1 !important;
}

.navbar .ts-background {
  transition: 1s ease;
}

[class*='navbar-expand'] .navbar-nav .nav-link {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

/*XL*/

/*LG*/

/*MD*/

/*SM*/

/*-------------------------------------------
  -- Page
-------------------------------------------*/

.ts-page-wrapper {
  overflow: hidden;
}

/*-------------------------------------------
  -- Partners
-------------------------------------------*/

.ts-partners a {
  display: block;
  padding: 0.625rem 0.3125rem;
}

/*-------------------------------------------
  -- Plugins
-------------------------------------------*/

.tv-site-widget {
  border: none !important;
}

iframe div {
  border: none;
}

/*-------------------------------------------
  -- Progress
-------------------------------------------*/

.progress {
  background-color: transparent;
  border: 0.125rem solid #3a79f9;
  border-radius: 0;
  height: 0.625rem;
}

.progress .progress-bar {
  background-color: #3a79f9;
}

/*-------------------------------------------
  -- Promo Numbers
-------------------------------------------*/

.ts-promo-numbers h2 {
  font-weight: normal;
}

.ts-promo-numbers h3 {
  font-weight: normal;
}

.ts-promo-number {
  margin-top: 1rem;
  margin-bottom: 1rem;
  position: relative;
}

.ts-promo-number .ts-promo-number-divider:after {
  content: '';
  bottom: 0;
  border: 0.125rem solid #3a79f9;
  border-radius: 50%;
  height: 0.625rem;
  margin: auto;
  position: absolute;
  right: -0.3125rem;
  top: 0;
  width: 0.625rem;
}

/*-------------------------------------------
  -- Select
-------------------------------------------*/

select.form-control {
  box-shadow: 0.125rem 0.1875rem 0.9375rem rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
  cursor: pointer;
  height: 2.8125rem !important;
  margin-top: -0.125rem;
  padding: 0.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 0.0625rem;
  text-overflow: '';
}

select.form-control:focus,
select.form-control:hover {
  box-shadow: 0.375rem 0.3125rem 1.5625rem rgba(0, 0, 0, 0.2);
}

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

.select-wrapper {
  position: relative;
}

.select-wrapper:before {
  position: absolute;
  display: inline-block;
  font-weight: 900;
  text-rendering: auto;
  top: 0;
  margin: auto;
  bottom: 0;
  right: 0.9375rem;
  height: 0.5rem;
  line-height: 0.5rem;
  font-size: 0.75rem;
  -webkit-font-smoothing: antialiased;
  font-family: 'Font Awesome\ 5 Free';
  content: '\f078';
}

/*-------------------------------------------
  -- Slider
-------------------------------------------*/

.ts-slider {
  height: 100% !important;
}

.ts-slider div {
  height: 100% !important;
}

/*-------------------------------------------
  -- Tabs

.nav-tabs {
  border-bottom: none;
}

.nav-tabs h4 {
  font-weight: normal;
  margin-bottom: 0;
}

.nav-tabs .nav-link {
  background-color: transparent;
  border: none;
  border-bottom: 0.1875rem solid transparent;
  margin-left: 0.9375rem;
  margin-right: 0.9375rem;
  padding-right: 0;
  padding-left: 0;
  color: inherit;
  opacity: 0.5;
}

.nav-tabs .nav-link.active {
  color: #191919;
  background-color: transparent;
  border-bottom: 0.1875rem solid #3a79f9;
  opacity: 1;
}

/***********************************************************************************************************************
D. Plugins Styles
***********************************************************************************************************************/

/*-------------------------------------------
  -- Magnific Popup
-------------------------------------------*/

/* overlay at start */

.mfp-fade.mfp-bg {
  opacity: 0;
  background-color: #000;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

/* overlay animate in */

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
}

/* overlay animate out */

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out;
}

/* content animate it */

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}

/* content animate out */

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

/*-------------------------------------------
  -- Owl Carousel
-------------------------------------------*/

.owl-carousel .owl-stage,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-item {
  height: 100%;
}

.owl-carousel .owl-dots {
  text-align: center;
}

.owl-carousel .owl-dots .owl-dot {
  display: inline-block;
  padding: 0.3125rem;
}

.owl-carousel .owl-dots .owl-dot:hover span,
.owl-carousel .owl-dots .owl-dot.active span {
  opacity: 0.7;
}

.owl-carousel .owl-dots .owl-dot span {
  background-color: #191919;
  border-radius: 50%;
  display: inline-block;
  height: 0.625rem;
  opacity: 0.2;
  transition: 0.3s ease;
  width: 0.625rem;
}

.owl-carousel .owl-nav {
  position: absolute;
  top: -1.25rem;
  bottom: 0;
  height: 0;
  margin: auto;
  width: 100%;
}

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  background-color: rgba(25, 25, 25, 0.6);
  border-radius: 50%;
  box-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.1);
  color: #fff;
  display: inline-block;
  height: 2.5rem;
  position: absolute;
  text-align: center;
  transition: 0.3s ease;
  width: 2.5rem;
}

.owl-carousel .owl-nav .owl-prev:after,
.owl-carousel .owl-nav .owl-next:after {
  font-family: 'Font Awesome\ 5 Free';
  font-weight: 900;
  font-size: 1.375rem;
  line-height: 2.5rem;
  -webkit-font-smoothing: antialiased;
}

.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
  background-color: rgba(25, 25, 25, 0.8);
}

.owl-carousel .owl-nav .owl-next {
  right: 0.3125rem;
}

.owl-carousel .owl-nav .owl-next:after {
  content: '\f105';
  margin-left: 0.1875rem;
}

.owl-carousel .owl-nav .owl-prev {
  left: 0.3125rem;
}

.owl-carousel .owl-nav .owl-prev:after {
  content: '\f104';
  margin-right: 0.0625rem;
}

/***********************************************************************************************************************
E. Template Specific Elements
***********************************************************************************************************************/

/*-------------------------------------------
  -- Centered Slider
-------------------------------------------*/

.ts-carousel-centered .slide {
  margin-bottom: 1rem;
  margin-top: 1rem;
  padding: 1rem;
}

.ts-carousel-centered .owl-item {
  perspective: 1000;
}

.ts-carousel-centered .owl-item .slide {
  opacity: 0.5;
  transition: 0.3s ease;
  transform: scale(0.95);
}

.ts-carousel-centered .owl-item.active.center .slide {
  opacity: 1;
  transform: scale(1);
}

.ts-carousel-centered .owl-nav .owl-prev,
.ts-carousel-centered .owl-nav .owl-next {
  height: 3.75rem;
  width: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:after,
.ts-carousel-centered .owl-nav .owl-next:after {
  font-size: 1.375rem;
  line-height: 3.75rem;
}

.ts-carousel-centered .owl-nav .owl-prev:hover,
.ts-carousel-centered .owl-nav .owl-next:hover {
  background-color: rgb(25, 25, 25);
}

.ts-carousel-centered .owl-nav .owl-next {
  right: 1.25rem;
}

.ts-carousel-centered .owl-nav .owl-prev {
  left: 1.25rem;
}

/*-------------------------------------------
  -- Hero Form Floated
-------------------------------------------*/

.floated {
  position: relative;
  width: 100%;
  z-index: 1;
  bottom: -1.875rem;
}

.floated form {
  position: relative;
  padding: 1.875rem 3.75rem;
}

/*-------------------------------------------
  -- Price Box
-------------------------------------------*/

.ts-price-box__promoted {
  box-shadow: 0.375rem 0.3125rem 1.5625rem rgba(0, 0, 0, 0.2);
  margin-top: -1.25rem;
  margin-bottom: 0.625rem;
  z-index: 2;
}

.ts-price-box__promoted .ts-title {
  transform: scale(1.2);
}

/*-------------------------------------------
  -- Time Line
-------------------------------------------*/

.ts-time-line__horizontal {
  padding-bottom: 0.625rem;
  padding-top: 0.625rem;
  position: relative;
  /* timeline line */
}

.ts-time-line__horizontal ul {
  padding-left: 1.875rem;
  list-style: none;
  position: relative;
}

.ts-time-line__horizontal:after {
  background-color: #474747;
  content: '';
  bottom: 6.875rem;
  height: 0.1875rem;
  left: 0;
  position: absolute;
  width: 100%;
}

.ts-time-line__horizontal .ts-time-line__item {
  flex: 0 0 auto;
  margin-right: 1.875rem;
  position: relative;
  width: 18.75rem;
}

.ts-time-line__horizontal .ts-time-line__item .ts-box {
  position: relative;
  /* dot */
}

.ts-time-line__horizontal .ts-time-line__item .ts-box:before {
  background-color: #474747;
  bottom: -4.375rem;
  border-radius: 100%;
  content: '';
  left: 1.6875rem;
  height: 0.75rem;
  position: absolute;
  width: 0.75rem;
}

.ts-time-line__horizontal .ts-time-line__item .ts-box {
  /*triangle*/
}

.ts-time-line__horizontal .ts-time-line__item .ts-box:after {
  border-color: #fff transparent transparent transparent;
  border-style: solid;
  border-width: 0.5rem 0.5rem 0 0.5rem;
  bottom: -0.4375rem;
  content: '';
  left: 1.5625rem;
  height: 0;
  position: absolute;
  width: 0;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone {
  width: 4.375rem;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone .ts-box {
  background-color: #3a79f9;
  color: #fff;
}

.ts-time-line__horizontal
  .ts-time-line__item.ts-time-line__milestone
  .ts-box:after {
  border-color: #3a79f9 transparent transparent transparent;
}

.ts-time-line__horizontal .ts-time-line__item.ts-time-line__milestone h5 {
  writing-mode: vertical-lr;
  margin: 0;
}

.ts-time-line__horizontal .ts-time-line__item figure {
  margin-left: 1.875rem;
  margin-top: 4.6875rem;
}

.ts-time-line__horizontal .ts-time-line__item figure small {
  text-transform: uppercase;
  opacity: 0.4;
}

.ts-time-line__horizontal .ts-time-line__item figure small,
.ts-time-line__horizontal .ts-time-line__item figure h6 {
  font-weight: 600;
}

.ts-time-line__horizontal .owl-stage-outer {
  padding: 1rem 1rem 0 1rem;
}

.ts-time-line__horizontal .owl-stage {
  align-items: flex-end;
  display: flex;
}

.ts-time-line__horizontal .ts-sly-frame.ts-loaded > ul {
  align-items: flex-end;
  display: flex;
}

/*-------------------------------------------
  -- SVG Shapes
-------------------------------------------*/

.ts-svg {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 0;
  z-index: -1;
  height: 100%;
  position: absolute;
  width: 100%;
  left: 0;
  margin: auto;
}

.ts-story:hover {
  color: #fff;
}

.ts-story:hover p {
  color: #fff;
}

.ts-story:hover .ts-background {
  background-color: #000 !important;
}

.ts-story:hover .ts-background-image {
  opacity: 0.4 !important;
}

.ts-story {
  margin-bottom: 2rem;
  padding: 14rem 2rem 2rem 2rem;
  position: relative;
}

.ts-story .ts-background,
.ts-story .ts-background-image {
  transition: 0.3s ease;
}

.ts-story figure {
  background-color: #fff;
  color: rgba(25, 25, 25, 0.2);
  font-weight: 500;
  position: absolute;
  top: -0.375rem;
  left: 3rem;
  padding: 1rem;
  transform: rotate(-90deg);
  transform-origin: bottom;
}

/*-------------------------------------------
  -- Other
-------------------------------------------*/

/* Footer push up */

.ts-tabs-presentation .tab-pane img {
  opacity: 0;
  transition: 0.3s ease;
  transform: translateY(1.25rem);
}

.ts-tabs-presentation .tab-pane.show.active img {
  opacity: 1;
  transform: translateY(0);
}

/* Hero navigation arrows */

#ts-hero .owl-prev,
#ts-hero .owl-next {
  background-color: transparent;
  border: 0.125rem solid rgba(255, 255, 255, 0.8);
}

#ts-hero .owl-prev:after,
#ts-hero .owl-next:after {
  line-height: 2.25rem;
}

/* Hero slider height */

.ts-hero-slider {
  height: 100% !important;
}

.ts-hero-slider div {
  height: 100% !important;
}

@media (min-width: 36rem) and (max-width: 47.9375rem) {
  html {
    font-size: 85%;
  }

  h1,
  .ts-h1 {
    font-size: 2.5rem;
  }

  h2,
  .ts-h2 {
    font-size: 1.625rem;
  }

  h3,
  .ts-h3 {
    font-size: 1.25rem;
  }

  .ts-column-count-sm-1 {
    column-count: 1;
  }

  .ts-column-count-sm-2 {
    column-count: 2;
  }

  .ts-column-count-sm-3 {
    column-count: 3;
  }

  .ts-column-count-sm-4 {
    column-count: 4;
  }

  .ts-promo-numbers h2 {
    font-size: 2.375rem;
  }
}

@media (min-width: 48rem) and (max-width: 61.9375rem) {
  html {
    font-size: 90%;
  }

  h1,
  .ts-h1 {
    font-size: 3rem;
  }

  h2,
  .ts-h2 {
    font-size: 1.875rem;
  }

  h3,
  .ts-h3 {
    font-size: 1.375rem;
  }

  .ts-column-count-md-1 {
    column-count: 1;
  }

  .ts-column-count-md-2 {
    column-count: 2;
  }

  .ts-column-count-md-3 {
    column-count: 3;
  }

  .ts-column-count-md-4 {
    column-count: 4;
  }

  .ts-promo-numbers h2 {
    font-size: 2.5rem;
  }
}

@media (min-width: 62rem) and (max-width: 74.9375rem) {
  html {
    font-size: 95%;
  }

  h1,
  .ts-h1 {
    font-size: 3.125rem;
  }

  h2,
  .ts-h2 {
    font-size: 2rem;
  }

  h3,
  .ts-h3 {
    font-size: 1.375rem;
  }

  .ts-column-count-lg-1 {
    column-count: 1;
  }

  .ts-column-count-lg-2 {
    column-count: 2;
  }

  .ts-column-count-lg-3 {
    column-count: 3;
  }

  .ts-column-count-lg-4 {
    column-count: 4;
  }

  .ts-block {
    padding-bottom: 6.25rem;
    padding-top: 6.25rem;
  }

  .ts-card__image {
    height: 12.5rem;
  }

  .ts-promo-numbers h2 {
    font-size: 2.75rem;
  }
}

@media (min-width: 75rem) {
  html {
    font-size: 100%;
  }

  h1,
  .ts-h1 {
    font-size: 3.5rem;
  }

  h2,
  .ts-h2 {
    font-size: 2.25rem;
  }

  h3,
  .ts-h3 {
    font-size: 1.625rem;
  }

  .ts-column-count-xl-1 {
    column-count: 1;
  }

  .ts-column-count-xl-2 {
    column-count: 2;
  }

  .ts-column-count-xl-3 {
    column-count: 3;
  }

  .ts-column-count-xl-4 {
    column-count: 4;
  }

  .ts-block {
    padding-bottom: 8.125rem;
    padding-top: 8.125rem;
  }

  .ts-card__image {
    height: 15.625rem;
  }

  .navbar.navbar-expand-xl .navbar-nav {
    align-items: center;
  }

  .navbar.navbar-expand-xl .ts-background {
    opacity: 0;
  }

  .ts-promo-numbers h2 {
    font-size: 3rem;
  }

  .ts-carousel-centered .owl-nav .owl-next {
    right: 5rem;
  }

  .ts-carousel-centered .owl-nav .owl-prev {
    left: 5rem;
  }

  .floated form {
    padding: 2.5rem 5rem;
  }
}

@media (max-width: 35.9375rem) {
  h1,
  .ts-h1 {
    margin-bottom: 1.25rem;
  }

  [class*='ts-column-count-'] {
    column-count: 1;
  }

  .ts-xs-text-center {
    text-align: center !important;
  }

  .ts-title {
    margin-bottom: 1.875rem;
  }

  .ts-promo-numbers h2 {
    font-size: 2.25rem;
  }
}

@media (min-width: 36rem) and (max-width: 61.9375rem) {
  h1,
  .ts-h1 {
    margin-bottom: 1.875rem;
  }

  .ts-title {
    margin-bottom: 3.125rem;
  }

  .ts-block-inside {
    padding: 2.5rem;
  }
}

@media (min-width: 62rem) {
  h1,
  .ts-h1 {
    margin-bottom: 2.5rem;
  }

  .ts-title {
    margin-bottom: 5rem;
  }

  .ts-block-inside {
    padding: 3.75rem;
  }

  .navbar.navbar-expand-lg .navbar-nav {
    align-items: center;
  }

  .navbar.navbar-expand-lg .ts-background {
    opacity: 0;
  }

  .floated {
    position: absolute;
  }
}

@media (max-width: 47.9375rem) {
  h4,
  .ts-h4 {
    font-size: 1.125rem;
  }
}

@media (min-width: 48rem) {
  h4,
  .ts-h4 {
    font-size: 1.25rem;
  }

  .navbar.navbar-expand-md .navbar-nav {
    align-items: center;
  }

  .navbar.navbar-expand-md .ts-background {
    opacity: 0;
  }
}

@media (max-width: 61.9375rem) {
  .ts-card__image {
    height: 15.625rem;
  }
}

@media (min-width: 36rem) {
  .navbar.navbar-expand-sm .navbar-nav {
    align-items: center;
  }

  .navbar.navbar-expand-sm .ts-background {
    opacity: 0;
  }

  .ts-carousel-centered .owl-nav .owl-next {
    right: 2.5rem;
  }

  .ts-carousel-centered .owl-nav .owl-prev {
    left: 2.5rem;
  }
}

/*FOOTER*/
section.footer {
  padding: 60px 0;
  background-color: #000;
  color: #fff;
}

.footer-logo img {
  object-fit: cover;
}

.footer p {
  font-size: 12px;
  text-align: justify;
  color: #fff;
  margin-bottom: 1rem;
  line-height: 1.6;
}

.copyright,
.copyright a {
  font-size: 13px !important;
  text-decoration: none;
  color: #fff;
}

.copyright a {
  position: relative;
  padding: 0 5px;
  transition: color 0.3s ease;
}

.copyright a:hover {
  color: #99c5ff;
}

.copyright a[aria-current='page'] {
  color: #99c5ff;
  font-weight: 600;
}

.copyright a[aria-disabled='true'] {
  pointer-events: none;
  cursor: default;
  opacity: 0.9;
}

.img-responsive,
.thumbnail a > img,
.thumbnail > img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Slider */
/* Optional layout helpers if you’re not using Bootstrap */
.logo-slider .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 16px;
}
.logo-slider .logo-slider-title {
  text-align: left;
  margin-bottom: 16px;
}

/* Center logos within slides and keep them consistent */
.js-logo-slider .slick-track {
  display: flex;
  align-items: center;
}
.js-logo-slider .slick-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

.js-logo-slider img {
  max-height: 120px;
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
}

/* Optional: hide focus outline on click */
.slick-slide {
  outline: none;
}

/*-------------------------------------------
  -- Contact Section Overlapping Effect
-------------------------------------------*/

/* Contact section container */
.contact-section {
  position: relative;
  padding: 3rem 0 0;
}

/* Background layer - centered and shorter */
.contact-background {
  position: absolute;
  top: 58%;
  left: 0;
  right: 0;
  height: 350px;
  transform: translateY(-50%);
  z-index: 1;
}

/* Contact form container */
.contact-container {
  position: relative;
  z-index: 2;
}

/* Contact form box styling */
.contact-box {
  background: white;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.25);
  padding: 3rem;
}

/* Contact form input styling */
.contact-box .form-control {
  color: #333;
}

.contact-box .form-control:focus {
  color: #333;
}

.contact-box .form-control::placeholder {
  color: #666;
}

/* Page Banner Styles */
.ts-page-banner {
  height: 400px;
  background-image: url('../img/bg-mountain.jpg');
  background-size: cover;
  background-position: center;
  position: relative;
}

/* Privacy page banner override */
.privacy-page-banner.ts-page-banner {
  background-image: url('../img/terrain.jpg');
}

.ts-banner-content {
  height: 100%;
  position: relative;
  z-index: 2;
}

.ts-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(20, 26, 58, 0.6);
  z-index: 1;
}

/* 404 page banner override */
.page-404-banner.ts-page-banner {
  background-image: url('../img/404.jpg');
}

.ts-404-banner-content {
  height: 100%;
  position: relative;
  z-index: 2;
}

.ts-404-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(20, 26, 58, 0.6);
  z-index: 1;
}


/*----------------------------------------------------------------------------------------------------------------------
Custom Login Form Styles
----------------------------------------------------------------------------------------------------------------------*/

/* Full height layout for login page */
.login-page-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.login-page-layout .ts-page-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.login-page-layout .navbar {
  flex-shrink: 0;
}

.login-form-wrapper {
  background-color: #121212;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  margin-top: 82px;
  min-height: calc(90vh);
}

.login-form-container {
  background: #1e1e1e;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.5);
  max-width: 400px;
  width: 100%;
  margin: 0 auto;
}

.login-form-container h2 {
  font-weight: 500;
  margin-bottom: 1.5rem;
  color: #f5f5f5;
  text-align: center;
  font-size: 1.5rem;
}

/* Enhanced login layout */
.login-form-container .login-logo {
  width: 200px;
}
.login-form-container .login-card-header {
  margin-bottom: 3rem;
}
.login-form-container .login-subtle {
  color: rgba(255, 255, 255, 0.7);
  margin: 0.5rem 0 1.25rem;
  font-size: 13px;
}
.login-form-container .login-contact-link {
  color: #ffffff;
  font-weight: 600;
  text-decoration: none;
}
.login-form-container .login-contact-link:hover {
  text-decoration: underline;
}

.login-form-container input[type='text'],
.login-form-container input[type='password'],
.login-form-container input[type='email'] {
  width: 100%;
  padding: 0.75rem;
  /* margin-bottom: 1rem; */
  border: none;
  background-color: #2a2a2a;
  color: #f0f0f0;
  box-shadow: inset 0 0 0 0.125rem rgba(255, 255, 255, 0.1);
  border-radius: 0.25rem;
  font-family: inherit;
  font-size: 0.9375rem;
  box-sizing: border-box;
}

/* Input with icons */
.input-with-icon {
  position: relative;
}
.input-with-icon .input-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #ffffff;
  opacity: 0.9;
  font-size: 18px;
  pointer-events: none;
}
.login-form-container .input-with-icon input {
  padding-left: 40px !important;
  padding-right: 56px;
  height: 56px;
  background-color: #000;
  border-radius: 12px;
  border: 1px solid #fff;
  color: #fff;
  width: 100%;
}

.login-form-container .input-with-icon {
  position: relative;
}
.login-form-container .password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  height: 32px;
  width: 32px;
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.login-form-container .password-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(58, 121, 249, 0.25);
  border-radius: 6px;
}

.login-form-container input[type='text']::placeholder,
.login-form-container input[type='password']::placeholder,
.login-form-container input[type='email']::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.login-form-container input[type='text']:focus,
.login-form-container input[type='password']:focus,
.login-form-container input[type='email']:focus {
  outline: none;
  box-shadow: inset 0 0 0 0.125rem rgba(58, 121, 249, 0.5);
}

.login-form-container button {
  background-color: #3a79f9;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 1rem 1.5rem;
  font-weight: 400;
  font-size: 1.25rem;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}

.login-form-container button:hover {
  background-color: #2563eb;
  box-shadow: 0 0.1875rem 0.9375rem rgba(58, 121, 249, 0.4);
}

.footer {
  flex-shrink: 0;
}

/* Helpers row */
.login-helpers {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0.75rem 0 2.5rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 13px;
}
.login-helpers label {
  margin-bottom: 0;
}
.login-helpers .remember-me input {
  margin-right: 8px;
}

.login-helpers .remember-me {
  display: inline-flex;
  align-items: start;
}
.login-helpers .remember-me input[type='checkbox'] {
  /* hide native box but keep it accessible */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255, 255, 255, 0.85);
  border-radius: 6px;
  background: transparent;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
}
.login-helpers .remember-me input[type='checkbox']::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 0px;
  width: 6px;
  height: 12px;
  border: solid rgba(255, 255, 255, 0.95);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  opacity: 0;
  transition: transform 120ms ease-in-out, opacity 120ms ease-in-out;
}
.login-helpers .remember-me input[type='checkbox']:checked::after {
  transform: rotate(45deg) scale(1);
  opacity: 1;
}

.login-helpers .forgot-link {
  color: inherit;
  text-decoration: underline;
}

.login-helpers .forgot-link:hover {
  color: rgba(255, 255, 255, 0.8);
}

.login-form-container input:-webkit-autofill,
.login-form-container input:-webkit-autofill:hover,
.login-form-container input:-webkit-autofill:focus,
.login-form-container input:-webkit-autofill:active {
  box-shadow: 0 0 0 1000px #000 inset !important;
  background-color: #000 !important;
  background-clip: padding-box !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  transition: background-color 9999s ease-out 0s !important;
  border: 1px solid #ffffff !important;
}

input:-webkit-autofill::first-line {
  font-family: inherit !important;
  font-size: 0.9375rem !important;
}

/* Error box styling as per design (red rounded rectangle with cross icon) */
.login-error[hidden] {
  display: none !important;
}
.login-error {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #ef4444; /* red */
  color: #fff;
  border-radius: 14px;
  padding: 1rem 1.25rem;
  margin-top: 14px;
  font-weight: 600;
}
.login-error .error-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* background: #fff; */
  color: #ffffff;
  border-radius: 6px;
  font-size: 36px;
}

.login-legal {
  color: rgba(255, 255, 255, 0.7);
  margin: 24px 0 24px;
  font-size: 13px;
  line-height: normal;
}
.login-legal a {
  color: inherit;
  text-decoration: underline;
}
.login-legal a:hover {
  color: rgba(255, 255, 255, 0.8);
}
.login-copyright {
  color: rgba(255, 255, 255, 0.6);
  font-size: 12px;
  margin: 0;
}

/* Remove default body styles for login page */
body.login-page {
  margin: 0;
  padding: 0;
}

/* NEW STYLES */
.common-button {
  background-color: #3a79f9;
  color: #fff;
  border: none;
  border-radius: 6.25rem;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 0.9375rem;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.common-button.primary {
  background-color: #3a79f9;
  color: #fff;
  border: none;
  padding: 0.5rem 1.25rem;
}

.common-button.primary:hover {
  background-color: #2563eb;
  box-shadow: 0 0.1875rem 0.9375rem rgba(58, 121, 249, 0.4);
}

.common-button.ghost {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #e0e0e0;
}

.common-button.ghost:hover {
  background: rgba(58, 121, 249, 0.1);
  border-color: #3a79f9;
  color: #3a79f9;
}

.common-button.btn-lg {
  font-size: 1.125rem;
  padding: 0.75rem 1.5rem;
}

.common-button.warn {
  background-color: #ff9800;
  color: #000;
  border: none;
  padding: 0.5rem 1.25rem;
}

.common-button.warn:hover {
  background-color: #ff7a00;
  box-shadow: 0 0.1875rem 0.9375rem rgba(255, 152, 0, 0.35);
}

.common-button.bad {
  background-color: tomato;
  color: #000;
  border: none;
  padding: 0.5rem 1.25rem;
}

.common-button.bad:hover {
  background-color: #e5533d;
  box-shadow: 0 0.1875rem 0.9375rem rgba(255, 99, 71, 0.35);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background-color: #3a79f9;
  border-color: #3a79f9;
}

.alert-danger {
  color: #ff241f;
  background-color: #ffbdbd;
  border-color: #ffbdbd;
}
