﻿

/************************************
MISC
************************************/

.site-wrapper {
    background-image: var(--ps-body-bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
    min-height: 100%;
    position: relative;
}

img.aspect-16-9 {
  aspect-ratio: 16 / 9;
}

.paralax-bg {
  background-attachment: fixed;
}

/************************************
NAVIGATION
************************************/
header {
  transition: all 0.5s ease 0s;
  position: relative;
}

/* Sticky Navbar */

  body {
    margin-top: var(--navHeight);
  }
  .navbar-sticky {
    position: fixed;
    z-index: 100;
    top:0;
  }
      .navbar-sticky._sticky {
        border-bottom: 1px solid var(--bs-border-color-translucent);
      }


  /* Main Navbar */
.navbar {
  background-color: var(--ps-navbar-bg);
  --bs-navbar-color: var(--ps-nav-link-color);
  --bs-navbar-hover-color: var(--ps-nav-link-hover-color);
  --bs-navbar-active-color: var(--ps-nav-link-active-color);
  --bs-navbar-nav-link-padding-x: 1rem;
  --bs-navbar-toggler-padding-y: 0.50rem;
  --bs-navbar-toggler-padding-x: 1rem;
  --bs-navbar-toggler-font-size: 1rem;
  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
  width: 100%;
  transition: ease transform .35s, ease padding .35s;
  border-bottom: 1px solid rgba(var(--ps-navbar-bg-rgb),.4);
}

  @media(max-width:991px) {
    .navbar {
      --bs-navbar-nav-link-padding-x: 1rem;
    }
  }

  .navbar-main .navbar-nav {
    --bs-nav-link-font-size: var(--ps-nav-link-font-size);
    --bs-nav-link-font-weight: var(--ps-nav-link-font-weight);
    flex-wrap: wrap;
  }

  .nav-link {
    border-radius: var(--bs-border-radius);
  }

  .navbar .nav-link[aria-expanded="true"] .fa-angle-down {
    transform: rotate(-180deg);
  }

  .nav-link:focus,
  .nav-link:hover,
  .nav-link.hover {
    color: var(--bs-nav-link-hover-color);
    background-color: var(--ps-nav-link-hover-bg);
  }

  .navbar .navbar-nav .nav-link.active,
  .navbar .navbar-nav .show > .nav-link {
    color: var(--bs-navbar-active-color);
    background-color: var(--ps-nav-link-active-bg);
  }

  .navbar-main .navbar-nav .nav-link.hover > .fa {
    transform: rotate(-180deg);
  }

  /* Shortcut navbar */
  .navbar.navbar-shortcut {
    --bs-navbar-nav-link-padding-x: 1rem;
    background-color: var(--ps-navbar-shortcut-bg);
  }

  .navbar-shortcut .navbar-nav {
    --bs-nav-link-font-size: .9rem;
    --bs-nav-link-color: #fff;
    flex-wrap: wrap;
  }

  /* Brand/logo */
  .navbar-logo.logo-size-liten {
    height: 40px;
  }

  .navbar-logo.logo-size-medium {
    height: 50px;
  }

  .navbar-logo.logo-size-stor {
    height: 70px;
  }

  @media(max-width:991px) {
    .navbar-logo {
      height: 30px !important;
    }
  }

  /* Mobile toggler */
  .navbar-toggler {
    background-color: rgba(var(--bs-primary-rgb),1);
    color: rgba(var(--ps-primary-text-rgb),1);
  }

 /* Searchbar */
.navbar .searchbar {
  background-color: #fff;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: 100%;
}

.navbar .searchbar .form-control {
  background-color: transparent;
  border-color: transparent;
}

/* Mega menu */
.mega-menu {
  position: absolute;
  z-index: 1000;
  top: 76px;
  left: 0;
  width: 100%;
  --mm-bg-color: var(--ps-navbar-bg);
  --mm-link-gutter: .5rem;
  --mm-link-padding-y: .5rem;
  --mm-link-padding-x: .5rem;
}

    .mega-menu ._wrapper {
      position: relative;
      padding: 3rem;
      background-color: var(--mm-bg-color);
      border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
      box-shadow: 0 1rem 3rem rgba(0,0,0,.175) !important;
      z-index: 100;
    }


  .mega-menu-backdrop {
    position: fixed;
    display: none;
    top: 0;
    z-index: 10;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.2);
    backdrop-filter: blur(2px);
  }

  .mega-menu.show .mega-menu-backdrop {
    display: block;
  }

  .megamenu-list {
    margin-top: var(--mm-link-gutter);
  }

  .megamenu-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--ps-nav-link-color);
    padding: var(--mm-link-padding-y) var(--mm-link-padding-x) var(--mm-link-padding-y) var(--mm-link-padding-x);
    border-radius: .5rem;
  }

    .megamenu-link:hover {
      background-color: var(--ps-nav-link-hover-bg);
    }

      .megamenu-link:hover ._title{
        color: var(--ps-nav-link-hover-color);
      }

      .megamenu-link.active ._title {
        color: var(--ps-nav-link-active-color);
      }

      .megamenu-link ._icon {
        font-size: 2rem;
        margin-right: .5rem;
        color: var(--ps-nav-link-active-color);
      }

      .megamenu-list .megamenu-link ._icon {
        font-size:1rem;
      }

    .megamenu-link ._details {
      display: flex;
      flex-direction: column;
    }

      .megamenu-link ._details ._title {
        font-weight: var(--ps-nav-link-font-weight);
      }

      .megamenu-link ._details ._description {
        font-size: 0.75rem;
        color: #444;
      }

  /* Mobile menu */
  .toggle-mobile-menu[aria-expanded="false"] .fa-times,
  .toggle-mobile-menu[aria-expanded="true"] .fa-bars {
    display: none;
  }

.mobile-menu {
  --bs-navbar-active-color: var(--ps-nav-link-active-color);
  --bs-nav-link-padding-y: 1.5rem;
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-font-weight: var(--ps-body-bold-font-weight);
  --ps-mobile-menu-top-position: calc(var(--navHeight) + 1px);
  --ps-nav-items-list-style: none;
  --ps-nav-items-margin: 0;
  --ps-nav-items-padding: 0;
  --ps-submenu-background-color: var(--ps-navbar-bg);
  background-color: var(--ps-navbar-bg);
  z-index: 999;
  top: var(--ps-mobile-menu-top-position);
  overflow-y: scroll;
}

    .mobile-menu,
    .mobile-menu .submenu {
      position: fixed;
      right: 0;
      left: 0;
      bottom: 0;
      padding-top: .5rem;
      width: 100%;
      height: 100%;
      transition: all 0.1s ease;
      -webkit-transform: translate(100%);
      -ms-transform: translate(100%);
      transform: translate(100%);
      background: var(--ps-submenu-background-color);
      outline: none !important;
    }

      .mobile-menu .submenu {
        z-index: 1000;
        top: 0;
        overflow: overlay;
      }

        .mobile-menu.show,
        .mobile-menu .submenu.show {
          -webkit-transform: translate(0);
          -ms-transform: translate(0);
          transform: translate(0);
        }

  .mobile-menu-wrapper {
    position: relative;
  }

  .mobile-menu-nav-items {
    list-style: var(--ps-nav-items-list-style);
    margin: var(--ps-nav-items-margin);
    padding: var(--ps-nav-items-padding);
  }

.mobile-menu .nav-link {
  border-bottom: 1px solid rgba(0,0,0,.10);
  border-radius: 0;
  display: flex;
}

    .mobile-menu .nav-link.active {
      color: var(--bs-navbar-active-color);
    }

    .mobile-menu .nav-link ._icon {
      font-size: 1.3rem;
      line-height: 0;
    }

.mobile-menu .nav-item-back {
  --bs-nav-link-color: var(--bs-navbar-active-color);
}

  .mobile-menu .nav-item-parent {
    --bs-nav-link-font-weight: var(--ps-body-bold-font-weight);
  }

  /* Pagination */
  .pagination {
    --bs-pagination-bg: none;
    --bs-pagination-border-width: 0;
    --bs-pagination-border-radius: var(--bs-border-radius);
    --bs-pagination-active-color: var(--ps-nav-link-active-color);
    --bs-pagination-active-bg: var(--ps-nav-link-active-bg);
    --bs-pagination-active-border-color: var(--ps-nav-link-active-bg);
    --bs-pagination-hover-color: var(--ps-nav-link-hover-color);
    --bs-pagination-hover-bg: var(--ps-nav-link-hover-bg);
    --bs-pagination-hover-border-color: var(--ps-nav-link-hover-bg);
  }

/************************************
CONTAINERS AND ROWS
************************************/
  @media (min-width:992px) {
    .container-sm {
      max-width: 768px;
    }
  }

  .row {
    --bs-gutter-x: var(--ps-column-gutter-x);
    --bs-gutter-y: var(--ps-column-gutter-y);
  }

  /************************************
BREADCRUMB
************************************/
.breadcrumb-wrapper {
  background-color: rgba(var(--ps-navbar-bg-rgb),.3);
}

  .breadcrumb {
    --bs-breadcrumb-padding-x: 0;
    --bs-breadcrumb-padding-y: .80rem;
    --bs-breadcrumb-font-size: .75rem;
  }

  .breadcrumb-item a {
    color: var(--color-secondary);
    text-decoration: none;
  }

/************************************
CUSTOM
************************************/
  /* Page header */
  .page-header {
    display: flex;
    flex-direction: column;
    position: relative;
  }

  .page-header-banner {
    display: flex;
    flex-direction: column;
  }

    .page-header-banner ._image {
      width: 100%;
    }

  /* Image label */
  .image-label {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    padding: 0.5rem 0.8rem;
    color: rgba(var(--ps-primary-text-rgb),1);
    background-color: rgba(var(--bs-primary-rgb),1);
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
  }

  .umb-module {
    background-color: var(--color-bg);
  }

  .modules-flex-height .umb-module {
    flex-grow: 1;
    height: 100%;
  }

/************************************
FORMS
************************************/
  /* Label */
  .umbraco-forms-label {
    font-weight: var(--ps-body-bold-font-weight);
  }

  .umbraco-forms-tooltip .fa {
    color: var(--bs-link-color);
  }

  .umbraco-forms-indicator {
    color: var(--bs-danger);
  }

  /* Forms fields */
  .form-control,
  .form-select {
    background-color: #fff;
  }

  .form-control{
    --bs-border-width: 2px;
  }

.form-check-input {
  --bs-border-width: 1px;
}

    .form-check-input:checked {
      background-color: var(--bs-success);
      border-color: var(--bs-success);
    }

    .form-control.input-validation-valid {
      border-color: var(--bs-success);
    }

    .form-control.input-validation-error {
      border-color: var(--bs-danger);
    }


.form-check-label span:last-child {
  margin-left:.1rem;
}

/* Validation message */
.field-validation-error {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  font-size: .875em;
  color: var(--bs-danger-text);
}

/************************************
SOCIAL COLORS
************************************/
footer a {
  text-decoration: none;
}

/************************************
SOCIAL COLORS
************************************/
  .text-color-twitter {
    color: #1DA1F2;
  }

  .text-color-linkedIn {
    color: #0A66C2;
  }

/************************************
ANIMATION - KEYFRAMES
************************************/
  @-webkit-keyframes slide-up {
    from {
      transform: translateY(0.5rem);
      opacity: 0
    }

    to {
      transform: translateY(0);
      opacity: 1
    }
  }

  @keyframes slide-up {
    from {
      transform: translateY(0.5rem);
      opacity: 0
    }

    to {
      transform: translateY(0);
      opacity: 1
    }
  }

  @-webkit-keyframes slide-left {
    from {
      transform: translateX(100%);
      opacity: 0
    }

    to {
      transform: translateX(0);
      opacity: 1
    }
  }

  @keyframes slide-left {
    from {
      transform: translateX(100%);
      opacity: 0
    }

    to {
      transform: translateX(0);
      opacity: 1
    }
  }