::-moz-selection {
  background: $theme-primary;
  color: $theme-white;
  text-shadow: none;
}

::selection {
  background: $theme-primary;
  color: $theme-white;
  text-shadow: none;
}

::-webkit-scrollbar {
  width: 10px;
  // height: 10px;
}

::-webkit-scrollbar-button {
    &:start:decrement, &:end:increment {
    display: none;
  }
}

::-webkit-scrollbar-track-piece {
  background-color: $theme-secondary;
  -webkit-border-radius: 0px;
  border-left: 1px solid rgba($theme-primary, 0.1);
}

::-webkit-scrollbar-thumb:vertical {
  -webkit-border-radius: 0px;
  background: $theme-primary;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  font-family: $base-font-family;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
  @media(max-width: 768px){
    font-size: 12px;
  }
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin-bottom: 0.5rem;
  font-family: $heading-font-family;
  font-weight: $font-weight-semi-bold;
  line-height: 1.2;
  color: inherit;
}

h1, .h1 {
  font-size: $font-size-h1;
}

h2, .h2 {
  font-size: $font-size-h2;
}

h3, .h3 {
  font-size: $font-size-h3;
}

h4, .h4 {
  font-size: $font-size-h4;
}

h5, .h5 {
  font-size: $font-size-h5;
}

h6, .h6 {
  font-size: $font-size-h6;
}

// Font Family Using Variables

.ff-primary {
  font-family: $base-font-family;
}

.ff-secondary {
  font-family: $heading-font-family;
}

// Font Size Using Variables

.fs-default {
  font-size: $base-font-size;
}

.fs-xsmall {
  font-size: $font-size-xsmall;
}

.fs-small {
  font-size: $font-size-small;
}

.fs-medium {
  font-size: $font-size-medium;
}

.fs-large {
  font-size: $font-size-large;
}

.fs-xlarge {
  font-size: $font-size-xlarge;
}

// Font Weight Using Variables

.fw-thin {
  font-weight: $font-weight-thin;
}

.fw-light {
  font-weight: $font-weight-light;
}

.fw-normal {
  font-weight: $font-weight-normal;
}

.fw-semi-bold {
  font-weight: $font-weight-semi-bold;
}

.fw-bold {
  font-weight: $font-weight-bold;
}

.fw-black {
  font-weight: $font-weight-black;
}

// Colors Using Variables

.fc-primary {
  color: $theme-primary;
}

.fc-secondary {
  color: $theme-secondary;
}

.fc-default {
  color: $theme-default;
}

.fc-white {
  color: $theme-white;
}

.fc-lg-silver {
  color: $theme-lg-silver;
}

.fc-black {
  color: $theme-black;
}

.fc-grey {
  color: $theme-grey;
}

.fc-dgrey {
  color: $theme-dk-grey;
}

.fc-lgrey {
  color: $theme-lg-grey;
}

.fc-blue {
  color: $theme-blue;
}

.fc-lg-blue {
  color: $theme-lg-blue;
}

.fc-pink {
  color: $theme-pink;
}

.fc-dk-pink {
  color: $theme-dk-pink;
}

.fc-lg-pink {
  color: $theme-lg-pink;
}

.fc-spblue {
  color: $theme-sp-blue;
}

.fc-lg-black {
  color: $theme-lg-black;
}

// Background Colors Using Variables

.bg-primary {
  background: $theme-primary;
}

.bg-middle {
  background:$theme-middle;
}

.bg-lg-silver {
  background: $theme-lg-silver;
}

.bg-lg-white {
  background: $theme-lg-white;
}

.bg-blue {
  background: $theme-blue;
}

.bg-lg-blue {
  background: $theme-lg-blue;
}

.bg-dk-blue{
  background: $theme-dk-blue;
}

.bg-lgrey {
  background: $theme-lg-grey;
}

.bg-spblue {
  background: $theme-sp-blue;
}

.bg-silver {
  background: $theme-silver;
}

.bg-secondary {
  background: $theme-secondary;
}

.bg-white {
  background: $theme-white;
}

.bg-black {
  background: $theme-black;
}

.bg-grey {
  background: $theme-grey;
}

.bg-purple {
  background: $theme-purple;
}
.bg-dgrey {
  background: $theme-dk-grey;
}

.bg-dgreen {
  background: $theme-dk-green;
}

.bg-spgrey {
  background: $theme-sp-grey;
}

.bg-pink{
  background: $theme-pink;
}

.bg-lg-black {
  background: #2d2e2d;
}

// Background Positions

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

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

.bg-left {
  background-position: left;
}

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

.bg-right {
  background-position: right;
}

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

// Background Repeat

.bg-norepeat {
  background-repeat: no-repeat;
}

.bg-repeat {
  background-repeat: repeat;
}

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

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

// Background Attachments

.bg-fixed{
  background-attachment: fixed;
}

.bg-scroll{
  background-attachment: scroll;
}

// Line height


.lh-none {
  line-height: 0;
}
.lh-default {
  line-height: 0.7;
}
.lh-normal {
  line-height: 1;
}

.lh-medium {
  line-height: 1.2;
}

.lh-large {
  line-height: 1.8;
}

.lh-xlarge {
  line-height: 2.5;
}


// Letter Spacing

.ls-xsmall {
  letter-spacing: -2px;
}

.ls-small {
  letter-spacing: -1px;
}

.ls-normal {
  letter-spacing: 0px;
}

.ls-medium {
  letter-spacing: 1px;
}

.ls-large {
  letter-spacing: 3px;
}

.ls-xlarge {
  letter-spacing: 8px;
}

// Verticale Alignment 

.va-middle {
  vertical-align: middle;
}

.va-top {
  vertical-align: top;
}

.va-bottom {
  vertical-align: bottom;
}

.sec-padding {
  padding: 80px 0;
  &.\--small {
    padding: 44px 0;
  }
  &.\--xsmall {
    padding: 18px 0;
  }

  &.\--large {
    padding: 140px 0;
  }
}

@media (max-width: 767px) {
  .sec-padding {
    padding: 40px 0;
  }
}

.title {
  line-height: 1.2;
  &.\--big {
    width: 82%;
    margin: 0 auto;
  }
}

/**** Mobile Navigation ****/
.mobile-nav {
  position: fixed;
  width: 80%;
  height: 100%;  
  top: 0;
  right: -80%;
  z-index: 12;
  background: $theme-primary;
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  overflow: hidden;
  overflow-y: auto;
  background: #e9e9e9;
  .logo-area {
    font-size: 16px;
    background: $theme-secondary;
    padding: 22px 24px;
    display: block;
  }
  &.active {
    height: 100%;
    right: 0;
  }
  nav {
    margin-right: -10px;
    li {
      a {
        color: #333333;
        font-weight: 500;
        display: block;
        padding: 10px 24px;
        border-top: 1px solid #d6d8db;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        transition: 0.4s;
        &.active {
          color: #ffffff;
          background: $theme-primary;
        }
        .xicon {
          font-size: 20px;
          float: right;
        }
      }
      ul {
        display: none;
        background: #ffffff;
        li a {
          font-weight: 500;
          font-size: 12px;
          &:hover, &.active {
            background: transparent;
            font-weight: 600;
            color: #333333;
          }
        }
        &.dropdown {
          margin-left: 40px;
          display: none;
          a {
            font-size: 12px;
            border: none;
            padding: 10px 0px;
            &:hover {
              color: #000000;
              background: transparent;
            }
          }
        }
      }
      &.menu-item-has-children {
        > a {
          position: relative;
          &:before {
            position: absolute;
            content: "\f107";
            font-family: "FontAwesome";
            right: 10px;
          }
        }
      }
    }
    .extra-link a {
      border: 2px solid #000000;
      width: 40%;
      margin: 40px auto 10px;
      padding: 7px 0;
      font-size: 15px;
      text-align: center;
      &:hover {
        color: #000000;
        border: 2px solid #000000;
        background: transparent;
      }
    }
  }
  .close-nav {
    position: absolute;
    top: 10px;
    right: 10px;
    border: 1px solid #ffffff;
    width: 26px;
    height: 26px;
    line-height: 1.5;
  }
}

/*** Mobile Nav Button ***/

.mobile-nav-btn {
  display: none;
  position: fixed;
  top: 22px;
  height: 30px;
  padding: 6px 7px;
  border-radius: 4px;
  right: 2%;
  z-index: 100;
  cursor: pointer;
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  z-index: 14;
  span {
    display: none;
    height: 3px;
    width: 22px;
    background-color: $theme-primary;
    display: block;
    margin-bottom: 6px;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    position: relative;
    top: 8px;
  }
  &:active {
    transition: 0;
  }
  span {
    &:before, &:after {
      display: block;
      background-color: $theme-primary;
      height: 3px;
      width: 22px;
      position: absolute;
      left: 0;
      content: '';
      -webkit-transform-origin: .28571rem center;
      transform-origin: .28571rem center;
      right: 0;
      margin: 0 auto;
    }
  }
  .lines {
    &:before {
      top: 6px;
    }
    &:after {
      top: -6px;
    }
  }
  &.active {
    right: 84%;
  }
  .lines {
    -webkit-transition: background 0.3s 0.5s ease;
    -moz-transition: background 0.3s 0.5s ease;
    -o-transition: background 0.3s 0.5s ease;
    transition: background 0.3s 0.5s ease;
    &:before, &:after {
      -webkit-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
      transition: top .3s .6s ease,-webkit-transform .3s ease;
      transition: top .3s .6s ease,transform .3s ease;
    }
  }
}

@media (max-width: 991px) {
  .mobile-nav-btn {
    display: block;
  }
}

.app-container {
  width: 100%;
  overflow: hidden;
  position: relative;
  left: 0;
  background: $theme-white;
  -webkit-transition: 0.6s;
  -moz-transition: 0.6s;
  -o-transition: 0.6s;
  transition: 0.6s;
  &.active {
    left: -80%;
  }
}