@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto;
  }
}

@media (min-width: 576px) {
  .card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 1.25rem;
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem;
    orphans: 1;
    widows: 1;
  }
  .card-columns.grid-2 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
  }
  .card-columns > * {
    display: inline-block;
    width: 100%;
  }
}

.form-group {
  margin-bottom: 1rem;
}

/* ----------------------------------------------------------------
	Basic
-----------------------------------------------------------------*/
dl,
dt,
dd,
ol,
ul,
li {
  margin: 0;
  padding: 0;
}

.clear {
  clear: both;
  display: block;
  font-size: 0px;
  height: 0px;
  line-height: 0;
  width: 100%;
  overflow: hidden;
}

::selection {
  background: #1abc9c;
  color: #fff;
  text-shadow: none;
}

::-moz-selection {
  background: #1abc9c; /* Firefox */
  color: #fff;
  text-shadow: none;
}

::-webkit-selection {
  background: #1abc9c; /* Safari */
  color: #fff;
  text-shadow: none;
}

:active,
:focus {
  outline: none !important;
}

/* ----------------------------------------------------------------
	Typography
-----------------------------------------------------------------*/
body {
  line-height: 1.4;
  color: #555;
  font-family: 'HelveticaNeue', sans-serif;
}
body:not(.stretched) {
  background: var(--cnvs-body-bg-boxed);
}

a {
  color: var(--cnvs-link-color);
}
a:not(.btn-link):not(.text-decoration-underline):not(.more-link) {
  text-decoration: none !important;
}
a:hover {
  color: var(--cnvs-link-hover-color);
}
a img {
  border: none;
}

img {
  max-width: 100%;
}

iframe {
  width: 100%;
  border: 0 !important;
  overflow: hidden !important;
}

/* ----------------------------------------------------------------
	Basic Layout Styles
-----------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #444;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 30px 0;
  font-family: 'Poppins', sans-serif;
}

h5,
h6 {
  margin-bottom: 20px;
}

h1 {
  font-size: 36px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 18px;
}

h5 {
  font-size: 0.875rem;
}

h6 {
  font-size: 12px;
}

h4 {
  font-weight: 600;
}

h5,
h6 {
  font-weight: bold;
}

@media (max-width: 767.98px) {
  h1 {
    font-size: 1.75rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  h3 {
    font-size: 1.25rem;
  }

  h4 {
    font-size: 1rem;
  }
}

h1 > span:not(.nocolor):not(.badge),
h2 > span:not(.nocolor):not(.badge),
h3 > span:not(.nocolor):not(.badge),
h4 > span:not(.nocolor):not(.badge),
h5 > span:not(.nocolor):not(.badge),
h6 > span:not(.nocolor):not(.badge) {
  color: #1abc9c;
}

p,
pre,
ul,
ol,
dl,
dd,
blockquote,
address,
table,
fieldset,
form {
  margin-bottom: 30px;
}

small {
  font-family: 'Lato', sans-serif;
}

@media (max-width: 1200px) {
  .display-1 {
    font-size: calc(1.725rem + 5.7vw);
  }
  .display-2 {
    font-size: calc(1.675rem + 5.1vw);
  }
  .display-3 {
    font-size: calc(1.575rem + 3.9vw);
  }
  .display-4 {
    font-size: calc(1.475rem + 2.7vw);
  }
}

/* ----------------------------------------------------------------
	Helper Classes
-----------------------------------------------------------------*/

#wrapper {
  position: relative;
  float: none;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1200px) {
  body:not(.stretched) #wrapper {
    max-width: 1200px;
  }
}

@media (min-width: 1440px) {
  body:not(.stretched) #wrapper {
    max-width: 1440px;
  }
}

.line,
.double-line {
  clear: both;
  position: relative;
  width: 100%;
  margin: 4rem 0;
  border-top: 1px solid #eee;
}

.line.line-sm {
  margin: 2rem 0;
}

span.middot {
  display: inline-block;
  margin: 0 5px;
}

.double-line {
  border-top: 3px double #e5e5e5;
}

.nott {
  text-transform: none !important;
}

.emptydiv {
  display: block !important;
  position: relative !important;
}

.allmargin {
  margin: 3rem !important;
}

.leftmargin {
  margin-left: 3rem !important;
}

.rightmargin {
  margin-right: 3rem !important;
}

.topmargin {
  margin-top: 3rem !important;
}

.bottommargin {
  margin-bottom: 3rem !important;
}

.allmargin-sm {
  margin: 2rem !important;
}

.leftmargin-sm {
  margin-left: 2rem !important;
}

.rightmargin-sm {
  margin-right: 2rem !important;
}

.topmargin-sm {
  margin-top: 2rem !important;
}

.bottommargin-sm {
  margin-bottom: 2rem !important;
}

.allmargin-lg {
  margin: 5rem !important;
}

.leftmargin-lg {
  margin-left: 5rem !important;
}

.rightmargin-lg {
  margin-right: 5rem !important;
}

.topmargin-lg {
  margin-top: 5rem !important;
}

.bottommargin-lg {
  margin-bottom: 5rem !important;
}

.header-stick {
  margin-top: -3rem !important;
}

.content-wrap .header-stick {
  margin-top: -5rem !important;
}

.footer-stick {
  margin-bottom: -3rem !important;
}

.content-wrap .footer-stick {
  margin-bottom: -5rem !important;
}

.border-f5 {
  border-color: #f5f5f5 !important;
}

.col-padding {
  padding: 4rem;
}

.notextshadow {
  text-shadow: none !important;
}

.inline-block {
  float: none !important;
  display: inline-block !important;
}

.center {
  text-align: center !important;
}

.mx-auto {
  float: none !important;
}

.bg-color,
.bg-color #header-wrap {
  background-color: #1abc9c !important;
}

.color {
  color: #1abc9c !important;
}

.border-color {
  border-color: #1abc9c !important;
}

.ls0 {
  letter-spacing: 0px !important;
}

.ls1 {
  letter-spacing: 1px !important;
}

.ls2 {
  letter-spacing: 2px !important;
}

.ls3 {
  letter-spacing: 3px !important;
}

.ls4 {
  letter-spacing: 4px !important;
}

.ls5 {
  letter-spacing: 5px !important;
}

.noheight {
  height: 0 !important;
}

.nolineheight {
  line-height: 0 !important;
}

.font-body {
  font-family: 'Lato', sans-serif;
}

.font-primary {
  font-family: 'Poppins', sans-serif;
}

.font-secondary {
  font-family: 'PT Serif', serif;
}

.fw-extralight {
  font-weight: 100 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fst-normal {
  font-style: normal !important;
}

.bgicon {
  display: block;
  position: absolute;
  bottom: -60px;
  right: -50px;
  font-size: 210px;
  color: rgba(0, 0, 0, 0.1);
}

.imagescale,
.imagescalein {
  display: block;
  overflow: hidden;
}

.imagescale img,
.imagescalein img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.imagescale:hover img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.imagescalein img {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.imagescalein:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.grayscale {
  filter: brightness(80%) grayscale(1) contrast(90%);
  -webkit-filter: brightness(80%) grayscale(1) contrast(90%);
  -moz-filter: brightness(80%) grayscale(1) contrast(90%);
  -o-filter: brightness(80%) grayscale(1) contrast(90%);
  -ms-filter: brightness(80%) grayscale(1) contrast(90%);
  transition: 1s filter ease;
  -webkit-transition: 1s -webkit-filter ease;
  -moz-transition: 1s -moz-filter ease;
  -ms-transition: 1s -ms-filter ease;
  -o-transition: 1s -o-filter ease;
}

.grayscale:hover {
  filter: brightness(100%) grayscale(0);
  -webkit-filter: brightness(100%) grayscale(0);
  -moz-filter: brightness(100%) grayscale(0);
  -o-filter: brightness(100%) grayscale(0);
  -ms-filter: brightness(100%) grayscale(0);
}

/* MOVING BG -  TESTIMONIALS */
.bganimate {
  -webkit-animation: BgAnimated 30s infinite linear;
  -moz-animation: BgAnimated 30s infinite linear;
  -ms-animation: BgAnimated 30s infinite linear;
  -o-animation: BgAnimated 30s infinite linear;
  animation: BgAnimated 30s infinite linear;
}
@-webkit-keyframes BgAnimated {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 400px;
  }
}
@-moz-keyframes BgAnimated {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 400px;
  }
}
@-ms-keyframes BgAnimated {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 400px;
  }
}
@-o-keyframes BgAnimated {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 400px;
  }
}
@keyframes BgAnimated {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 400px;
  }
}

.input-block-level {
  display: block;
  width: 100% !important;
  min-height: 30px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.vertical-middle {
  z-index: 3;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-height: 100%;
  justify-content: center;
  flex-flow: column;
}

.vertical-middle-overlay {
  position: absolute;
  top: 0;
  left: 0;
}

.vertical-middle + .video-wrap {
  z-index: 2 !important;
}

.magnific-max-width .mfp-content {
  max-width: 800px;
}

.overflow-visible {
  overflow: visible !important;
}

/* ----------------------------------------------------------------
	Opacity Utility Classes
-----------------------------------------------------------------*/

.op-ts {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

.op-0,
.h-op-0:hover {
  opacity: 0 !important;
}

.op-01,
.h-op-01:hover {
  opacity: 0.1 !important;
}

.op-02,
.h-op-02:hover {
  opacity: 0.2 !important;
}

.op-03,
.h-op-03:hover {
  opacity: 0.3 !important;
}

.op-04,
.h-op-04:hover {
  opacity: 0.4 !important;
}

.op-05,
.h-op-05:hover {
  opacity: 0.5 !important;
}

.op-06,
.h-op-06:hover {
  opacity: 0.6 !important;
}

.op-07,
.h-op-07:hover {
  opacity: 0.7 !important;
}

.op-08,
.h-op-08:hover {
  opacity: 0.8 !important;
}

.op-09,
.h-op-09:hover {
  opacity: 0.9 !important;
}

.op-1,
.h-op-1:hover {
  opacity: 1 !important;
}

/* ----------------------------------------------------------------
	Text Color Utility Classes
-----------------------------------------------------------------*/

.text-ts {
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}

.h-text-color:hover,
a.h-text-color:hover {
  color: #1abc9c !important;
}

.h-text-primary:hover,
a.h-text-primary:hover {
  color: #007bff !important;
}

.h-text-secondary:hover,
a.h-text-secondary:hover {
  color: #6c757d !important;
}

.h-text-success:hover,
a.h-text-success:hover {
  color: #28a745 !important;
}

.h-text-info:hover,
a.h-text-info:hover {
  color: #17a2b8 !important;
}

.h-text-warning:hover,
a.h-text-warning:hover {
  color: #ffc107 !important;
}

.h-text-danger:hover,
a.h-text-danger:hover {
  color: #dc3545 !important;
}

.h-text-light:hover,
a.h-text-light:hover {
  color: #f8f9fa !important;
}

.h-text-dark:hover,
a.h-text-dark:hover {
  color: #343a40 !important;
}

/* ----------------------------------------------------------------
	Text Size Utility Classes
-----------------------------------------------------------------*/

.text-smaller {
  font-size: 80% !important;
}

.text-larger {
  font-size: 120% !important;
}

.text-smaller small {
  font-size: 90% !important;
}

/* ----------------------------------------------------------------
	BG Color Utility Classes
-----------------------------------------------------------------*/

.bg-ts {
  -webkit-transition: background-color 0.5s ease;
  transition: background-color 0.5s ease;
}

.h-nobg:hover {
  background-color: transparent !important;
}

.h-bg-color:hover {
  background-color: #1abc9c !important;
}

.h-bg-primary:hover {
  background-color: #007bff !important;
}

.h-bg-secondary:hover {
  background-color: #6c757d !important;
}

.h-bg-success:hover {
  background-color: #28a745 !important;
}

.h-bg-info:hover {
  background-color: #17a2b8 !important;
}

.h-bg-warning:hover {
  background-color: #ffc107 !important;
}

.h-bg-danger:hover {
  background-color: #dc3545 !important;
}

.h-bg-light:hover {
  background-color: #f8f9fa !important;
}

.h-bg-dark:hover {
  background-color: #343a40 !important;
}

.bg-clip {
  border: 1rem solid transparent;
  -moz-background-clip: padding;
  -webkit-background-clip: padding;
  background-clip: padding-box;
  transform: translate3d(0, 0, 0);
}

.bg-clip-sm {
  border-width: 0.5rem;
}

.bg-clip-lg {
  border-width: 2rem;
}

/* ----------------------------------------------------------------
	Gradient Utility Classes
-----------------------------------------------------------------*/

.gradient-light-grey,
.h-gradient-light-grey:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #2c3e50,
    #bdc3c7
  ) !important;
  background-image: linear-gradient(to right, #2c3e50, #bdc3c7) !important;
}

.gradient-green-dark,
.h-gradient-green-dark:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #99f2c8,
    #1f4037
  ) !important;
  background-image: linear-gradient(to right, #99f2c8, #1f4037) !important;
}

.gradient-grey-brown,
.h-gradient-grey-brown:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #c06c84,
    #6c5b7b,
    #355c7d
  ) !important;
  background-image: linear-gradient(
    to right,
    #c06c84,
    #6c5b7b,
    #355c7d
  ) !important;
}

.gradient-light-pink,
.h-gradient-light-pink:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #ffdde1,
    #ee9ca7
  ) !important;
  background-image: linear-gradient(to right, #ffdde1, #ee9ca7) !important;
}

.gradient-blue-purple,
.h-gradient-blue-purple:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #4a00e0,
    #8e2de2
  ) !important;
  background-image: linear-gradient(to right, #4a00e0, #8e2de2) !important;
}
.gradient-multiples,
.h-gradient-multiples:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #eea2a2 0%,
    #bbc1bf 19%,
    #57c6e1 42%,
    #b49fda 79%,
    #7ac5d8 100%
  ) !important;
  background-image: linear-gradient(
    to right,
    #eea2a2 0%,
    #bbc1bf 19%,
    #57c6e1 42%,
    #b49fda 79%,
    #7ac5d8 100%
  ) !important;
}

.gradient-blue-green,
.h-gradient-blue-green:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #2af598 0%,
    #009efd 100%
  ) !important;
  background-image: linear-gradient(
    to right,
    #2af598 0%,
    #009efd 100%
  ) !important;
}

.gradient-light,
.h-gradient-light:hover {
  background-image: -webkit-linear-gradient(
    to top,
    #ddd 0%,
    #fff 100%
  ) !important;
  background-image: linear-gradient(to top, #ddd 0%, #fff 100%) !important;
}

.gradient-grey-orange,
.h-gradient-grey-orange:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #3b4371,
    #f3904f
  ) !important;
  background-image: linear-gradient(to right, #3b4371, #f3904f) !important;
}

.gradient-sunset,
.h-gradient-sunset:hover {
  background-image: -webkit-linear-gradient(
    to top,
    #a8edea 0%,
    #fed6e3 100%
  ) !important;
  background-image: linear-gradient(
    to top,
    #a8edea 0%,
    #fed6e3 100%
  ) !important;
}

.gradient-dark,
.h-gradient-dark:hover {
  background-image: -webkit-linear-gradient(to right, #535353, #000) !important;
  background-image: linear-gradient(to right, #535353, #000) !important;
}

.gradient-lemon,
.h-gradient-lemon:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #cac531,
    #f3f9a7
  ) !important;
  background-image: linear-gradient(to right, #cac531, #f3f9a7) !important;
}

.gradient-earth,
.h-gradient-earth:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #649173,
    #dbd5a4
  ) !important;
  background-image: linear-gradient(to right, #649173, #dbd5a4) !important;
}

.gradient-sky,
.h-gradient-sky:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #2980b9,
    #6dd5fa,
    #f5f5f5
  ) !important;
  background-image: linear-gradient(
    to right,
    #2980b9,
    #6dd5fa,
    #f5f5f5
  ) !important;
}

.gradient-ocean,
.h-gradient-ocean:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #000046,
    #1cb5e0
  ) !important;
  background-image: linear-gradient(to right, #000046, #1cb5e0) !important;
}

.gradient-horizon,
.h-gradient-horizon:hover {
  background-image: -webkit-linear-gradient(
    90deg,
    rgba(131, 58, 180, 1) 0%,
    rgba(253, 29, 29, 1) 50%,
    rgba(252, 176, 69, 1) 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    rgba(131, 58, 180, 1) 0%,
    rgba(253, 29, 29, 1) 50%,
    rgba(252, 176, 69, 1) 100%
  ) !important;
}

.gradient-green-blue,
.h-gradient-green-blue:hover {
  background-image: -webkit-linear-gradient(
    to right,
    #43cea2,
    #185a9d
  ) !important;
  background-image: linear-gradient(to right, #43cea2, #185a9d) !important;
}

.gradient-purple-blue,
.h-gradient-purple-blue:hover {
  background-image: -webkit-linear-gradient(
    19deg,
    rgb(33, 212, 253) 0%,
    rgb(183, 33, 255) 100%
  ) !important;
  background-image: linear-gradient(
    19deg,
    rgb(33, 212, 253) 0%,
    rgb(183, 33, 255) 100%
  ) !important;
}

.gradient-text {
  text-shadow: none !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gradient-underline {
  background-repeat: no-repeat;
  background-size: 100% 8px;
  background-position: 0 88%;
}

/* ----------------------------------------------------------------
	Border Utility Classes
-----------------------------------------------------------------*/

.border-width-0,
.h-border-width-0:hover {
  border-width: 0px !important;
}

.border-width-1,
.h-border-width-1:hover {
  border-width: 1px !important;
}

.border-width-2,
.h-border-width-2:hover {
  border-width: 2px !important;
}

.border-width-3,
.h-border-width-3:hover {
  border-width: 3px !important;
}

.border-width-4,
.h-border-width-4:hover {
  border-width: 4px !important;
}

.border-width-5,
.h-border-width-5:hover {
  border-width: 5px !important;
}

.border-width-6,
.h-border-width-6:hover {
  border-width: 6px !important;
}

.border-dotted {
  border-style: dotted !important;
}

.border-dashed {
  border-style: dashed !important;
}

.border-solid {
  border-style: solid !important;
}

.border-double {
  border-style: double !important;
}

.h-border-primary:hover {
  border-color: #007bff !important;
}

.h-border-secondary:hover {
  border-color: #6c757d !important;
}

.h-border-success:hover {
  border-color: #28a745 !important;
}

.h-border-info:hover {
  border-color: #17a2b8 !important;
}

.h-border-warning:hover {
  border-color: #ffc107 !important;
}

.h-border-danger:hover {
  border-color: #dc3545 !important;
}

.h-border-light:hover {
  border-color: #f8f9fa !important;
}

.h-border-dark:hover {
  border-color: #343a40 !important;
}

.border-transparent,
.h-border-transparent:hover {
  border-color: transparent !important;
}

.border-default,
.h-border-default:hover {
  border-color: #eee !important;
}

.dark.border-default,
.dark .border-default,
.dark.h-border-default:hover .dark .h-border-default:hover {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.border-ts {
  -webkit-transition: border 0.5s ease;
  transition: border 0.5s ease;
}

/* ----------------------------------------------------------------
	Rounded
-----------------------------------------------------------------*/

.rounded-4 {
  border-radius: 0.4rem !important;
}

.rounded-5 {
  border-radius: 0.5rem !important;
}

.rounded-6 {
  border-radius: 0.6rem !important;
}

/* ----------------------------------------------------------------
	Shadows
-----------------------------------------------------------------*/

.h-shadow-sm:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.h-shadow:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.h-shadow-lg:hover {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.h-shadow-none:hover {
  box-shadow: none !important;
}

.shadow-ts {
  -webkit-transition: box-shadow 0.5s ease;
  transition: box-shadow 0.5s ease;
}

/* ----------------------------------------------------------------
	Transform Utility Classes
-----------------------------------------------------------------*/

.translate-y-sm,
.h-translate-y-sm:hover {
  transform: translateY(-3px) !important;
}

.translate-y,
.h-translate-y:hover {
  transform: translateY(-6px) !important;
}

.translate-y-lg,
.h-translate-y-lg:hover {
  transform: translateY(-10px) !important;
}

.translate-x-sm,
.h-translate-x-sm:hover {
  transform: translateX(-3px) !important;
}

.translate-x,
.h-translate-x:hover {
  transform: translateX(-6px) !important;
}

.translate-x-lg,
.h-translate-x-lg:hover {
  transform: translateX(-10px) !important;
}

.translate-x-n-sm,
.h-translate-x-n-sm:hover {
  transform: translateX(3px) !important;
}

.translate-x-n,
.h-translate-x-n:hover {
  transform: translateX(6px) !important;
}

.translate-x-n-lg,
.h-translate-x-n-lg:hover {
  transform: translateX(10px) !important;
}

.scale-sm,
.h-scale-sm:hover {
  transform: scale(1.025) !important;
}

.scale,
.h-scale:hover {
  transform: scale(1.05) !important;
}

.scale-lg,
.h-scale-lg:hover {
  transform: scale(1.1) !important;
}

.scale-n-sm,
.h-scale-n-sm:hover {
  transform: scale(0.975) !important;
}

.scale-n,
.h-scale-n:hover {
  transform: scale(0.95) !important;
}

.scale-n-lg,
.h-scale-n-lg:hover {
  transform: scale(0.9) !important;
}

.transform-ts {
  -webkit-transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.all-ts {
  -webkit-transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* ----------------------------------------------------------------
	Align Wide Utility Classes
-----------------------------------------------------------------*/

.align-wide-lg {
  margin-left: calc(50% - 480px) !important;
  margin-right: calc(50% - 480px) !important;
  max-width: 960px !important;
  width: 960px !important;
}

.align-wide-xl {
  margin-left: calc(50% - 570px) !important;
  margin-right: calc(50% - 570px) !important;
  max-width: 1140px !important;
  width: 1140px !important;
}

.align-wide-xxl {
  margin-left: calc(50% - 660px) !important;
  margin-right: calc(50% - 660px) !important;
  max-width: 1320px !important;
  width: 1320px !important;
}

@media (max-width: 991.98px) {
  .align-wide-lg,
  .align-wide-xl,
  .align-wide-xxl {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
    width: 100vw !important;
  }
}

.align-wide-full {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

/* ----------------------------------------------------------------
	Z-Index Utility Classes
-----------------------------------------------------------------*/

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

.z-4 {
  z-index: 4 !important;
}

.z-5 {
  z-index: 5 !important;
}

.z-6 {
  z-index: 6 !important;
}

.z-7 {
  z-index: 7 !important;
}

.z-8 {
  z-index: 8 !important;
}

.z-9 {
  z-index: 9 !important;
}

.z-10 {
  z-index: 10 !important;
}

.z-auto {
  z-index: auto !important;
}

/* ----------------------------------------------------------------
	Bootstrap Utility Classes: Extended
-----------------------------------------------------------------*/

/*	Spacing Utilities */

.m-6 {
  margin: 5rem !important;
}

.mt-6,
.my-6 {
  margin-top: 5rem !important;
}

.me-6,
.mx-6 {
  margin-right: 5rem !important;
}

.mb-6,
.my-6 {
  margin-bottom: 5rem !important;
}

.ms-6,
.mx-6 {
  margin-left: 5rem !important;
}

.p-6 {
  padding: 5rem !important;
}

.pt-6,
.py-6 {
  padding-top: 5rem !important;
}

.pe-6,
.px-6 {
  padding-right: 5rem !important;
}

.pb-6,
.py-6 {
  padding-bottom: 5rem !important;
}

.ps-6,
.px-6 {
  padding-left: 5rem !important;
}

@media (min-width: 576px) {
  .m-sm-6 {
    margin: 5rem !important;
  }

  .mt-sm-6,
  .my-sm-6 {
    margin-top: 5rem !important;
  }

  .me-sm-6,
  .mx-sm-6 {
    margin-right: 5rem !important;
  }

  .mb-sm-6,
  .my-sm-6 {
    margin-bottom: 5rem !important;
  }

  .ms-sm-6,
  .mx-sm-6 {
    margin-left: 5rem !important;
  }

  .p-sm-6 {
    padding: 5rem !important;
  }

  .pt-sm-6,
  .py-sm-6 {
    padding-top: 5rem !important;
  }

  .pe-sm-6,
  .px-sm-6 {
    padding-right: 5rem !important;
  }

  .pb-sm-6,
  .py-sm-6 {
    padding-bottom: 5rem !important;
  }

  .ps-sm-6,
  .px-sm-6 {
    padding-left: 5rem !important;
  }
}

@media (min-width: 768px) {
  .m-md-6 {
    margin: 5rem !important;
  }

  .mt-md-6,
  .my-md-6 {
    margin-top: 5rem !important;
  }

  .me-md-6,
  .mx-md-6 {
    margin-right: 5rem !important;
  }

  .mb-md-6,
  .my-md-6 {
    margin-bottom: 5rem !important;
  }

  .ms-md-6,
  .mx-md-6 {
    margin-left: 5rem !important;
  }

  .p-md-6 {
    padding: 5rem !important;
  }

  .pt-md-6,
  .py-md-6 {
    padding-top: 5rem !important;
  }

  .pe-md-6,
  .px-md-6 {
    padding-right: 5rem !important;
  }

  .pb-md-6,
  .py-md-6 {
    padding-bottom: 5rem !important;
  }

  .ps-md-6,
  .px-md-6 {
    padding-left: 5rem !important;
  }
}

@media (min-width: 992px) {
  .m-lg-6 {
    margin: 5rem !important;
  }

  .mt-lg-6,
  .my-lg-6 {
    margin-top: 5rem !important;
  }

  .me-lg-6,
  .mx-lg-6 {
    margin-right: 5rem !important;
  }

  .mb-lg-6,
  .my-lg-6 {
    margin-bottom: 5rem !important;
  }

  .ms-lg-6,
  .mx-lg-6 {
    margin-left: 5rem !important;
  }

  .p-lg-6 {
    padding: 5rem !important;
  }

  .pt-lg-6,
  .py-lg-6 {
    padding-top: 5rem !important;
  }

  .pe-lg-6,
  .px-lg-6 {
    padding-right: 5rem !important;
  }

  .pb-lg-6,
  .py-lg-6 {
    padding-bottom: 5rem !important;
  }

  .ps-lg-6,
  .px-lg-6 {
    padding-left: 5rem !important;
  }
}

@media (min-width: 1200px) {
  .m-xl-6 {
    margin: 5rem !important;
  }

  .mt-xl-6,
  .my-xl-6 {
    margin-top: 5rem !important;
  }

  .me-xl-6,
  .mx-xl-6 {
    margin-right: 5rem !important;
  }

  .mb-xl-6,
  .my-xl-6 {
    margin-bottom: 5rem !important;
  }

  .ms-xl-6,
  .mx-xl-6 {
    margin-left: 5rem !important;
  }

  .p-xl-6 {
    padding: 5rem !important;
  }

  .pt-xl-6,
  .py-xl-6 {
    padding-top: 5rem !important;
  }

  .pe-xl-6,
  .px-xl-6 {
    padding-right: 5rem !important;
  }

  .pb-xl-6,
  .py-xl-6 {
    padding-bottom: 5rem !important;
  }

  .ps-xl-6,
  .px-xl-6 {
    padding-left: 5rem !important;
  }
}

@media (min-width: 1400px) {
  .m-xxl-6 {
    margin: 5rem !important;
  }

  .mt-xxl-6,
  .my-xxl-6 {
    margin-top: 5rem !important;
  }

  .me-xxl-6,
  .mx-xxl-6 {
    margin-right: 5rem !important;
  }

  .mb-xxl-6,
  .my-xxl-6 {
    margin-bottom: 5rem !important;
  }

  .ms-xxl-6,
  .mx-xxl-6 {
    margin-left: 5rem !important;
  }

  .p-xxl-6 {
    padding: 5rem !important;
  }

  .pt-xxl-6,
  .py-xxl-6 {
    padding-top: 5rem !important;
  }

  .pe-xxl-6,
  .px-xxl-6 {
    padding-right: 5rem !important;
  }

  .pb-xxl-6,
  .py-xxl-6 {
    padding-bottom: 5rem !important;
  }

  .ps-xxl-6,
  .px-xxl-6 {
    padding-left: 5rem !important;
  }
}

/*	Custom Bootstrap Column */

[class*='col-']:not([class*='sticky-']):not([class*='position-']) {
  position: relative;
}

.col-1-5 {
  flex: 0 0 auto;
  width: 20%;
}

@media (min-width: 576px) {
  .col-sm-1-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}

@media (min-width: 768px) {
  .col-md-1-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}

@media (min-width: 992px) {
  .col-lg-1-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}

@media (min-width: 1200px) {
  .col-xl-1-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}

@media (min-width: 1400px) {
  .col-xxl-1-5 {
    flex: 0 0 auto;
    width: 20%;
  }
}

/*	Gutters */
[class*='gutter-'] {
  --custom-gutter: var(--bs-gutter-x); /* Default Bootstrap */
  margin-right: calc(var(--custom-gutter) / -2);
  margin-left: calc(var(--custom-gutter) / -2);
  margin-top: calc(var(--custom-gutter) * -1);
}

[class*='gutter-'] > .col,
[class*='gutter-'] > [class*='col-'] {
  padding-right: calc(var(--custom-gutter) / 2);
  padding-left: calc(var(--custom-gutter) / 2);
  margin-top: var(--custom-gutter);
}

.gutter-10 {
  --custom-gutter: 10px;
}

.gutter-20 {
  --custom-gutter: 20px;
}

.gutter-30 {
  --custom-gutter: 30px;
}

.gutter-40 {
  --custom-gutter: 40px;
}

.gutter-50 {
  --custom-gutter: 50px;
}

[class*='col-mb-'] {
  margin-bottom: calc(var(--col-mb) / -1);
}

[class*='col-mb-'] > .col,
[class*='col-mb-'] > [class*='col-'] {
  padding-bottom: var(--col-mb);
}

.col-mb-30 {
  --col-mb: 30px;
}

.col-mb-50 {
  --col-mb: 50px;
}

.col-mb-80 {
  --col-mb: 80px;
}

@media (min-width: 576px) {
  .gutter-sm-10 {
    --custom-gutter: 10px;
  }

  .gutter-sm-20 {
    --custom-gutter: 20px;
  }

  .gutter-sm-30 {
    --custom-gutter: 30px;
  }

  .gutter-sm-40 {
    --custom-gutter: 40px;
  }

  .gutter-sm-50 {
    --custom-gutter: 50px;
  }

  .col-mb-sm-30 {
    --col-mb: 30px;
  }

  .col-mb-sm-50 {
    --col-mb: 50px;
  }

  .col-mb-sm-80 {
    --col-mb: 80px;
  }
}

@media (min-width: 768px) {
  .gutter-md-10 {
    --custom-gutter: 10px;
  }

  .gutter-md-20 {
    --custom-gutter: 20px;
  }

  .gutter-md-30 {
    --custom-gutter: 30px;
  }

  .gutter-md-40 {
    --custom-gutter: 40px;
  }

  .gutter-md-50 {
    --custom-gutter: 50px;
  }

  .col-mb-md-30 {
    --col-mb: 30px;
  }

  .col-mb-md-50 {
    --col-mb: 50px;
  }

  .col-mb-md-80 {
    --col-mb: 80px;
  }
}

@media (min-width: 992px) {
  .gutter-lg-10 {
    --custom-gutter: 10px;
  }

  .gutter-lg-20 {
    --custom-gutter: 20px;
  }

  .gutter-lg-30 {
    --custom-gutter: 30px;
  }
  .gutter-lg-40 {
    --custom-gutter: 40px;
  }
  .gutter-lg-50 {
    --custom-gutter: 50px;
  }

  .col-mb-lg-30 {
    --col-mb: 30px;
  }

  .col-mb-lg-50 {
    --col-mb: 50px;
  }

  .col-mb-lg-80 {
    --col-mb: 80px;
  }
}

@media (min-width: 1200px) {
  .gutter-xl-10 {
    --custom-gutter: 10px;
  }

  .gutter-xl-20 {
    --custom-gutter: 20px;
  }

  .gutter-xl-30 {
    --custom-gutter: 30px;
  }
  .gutter-xl-40 {
    --custom-gutter: 40px;
  }
  .gutter-xl-50 {
    --custom-gutter: 50px;
  }

  .col-mb-xl-30 {
    --col-mb: 30px;
  }

  .col-mb-xl-50 {
    --col-mb: 50px;
  }

  .col-mb-xl-80 {
    --col-mb: 80px;
  }
}

@media (min-width: 1400px) {
  .gutter-xxl-10 {
    --custom-gutter: 10px;
  }

  .gutter-xxl-20 {
    --custom-gutter: 20px;
  }

  .gutter-xxl-30 {
    --custom-gutter: 30px;
  }
  .gutter-xxl-40 {
    --custom-gutter: 40px;
  }
  .gutter-xxl-50 {
    --custom-gutter: 50px;
  }

  .col-mb-xxl-30 {
    --col-mb: 30px;
  }

  .col-mb-xxl-50 {
    --col-mb: 50px;
  }

  .col-mb-xxl-80 {
    --col-mb: 80px;
  }
}

/* ----------------------------------------------------------------
	Max Width Utility Classes
-----------------------------------------------------------------*/

.mw-xs {
  max-width: 36rem !important;
}

.mw-sm {
  max-width: 48rem !important;
}

.mw-md {
  max-width: 64rem !important;
}

.mw-lg {
  max-width: 78rem !important;
}

.mw-xl {
  max-width: 88rem !important;
}

.mw-xxl {
  max-width: 100rem !important;
}

/* ----------------------------------------------------------------
	Height Utility Classes
-----------------------------------------------------------------*/

.min-vh-75 {
  min-height: 75vh !important;
}

.min-vh-60 {
  min-height: 60vh !important;
}

.min-vh-50 {
  min-height: 50vh !important;
}

.min-vh-40 {
  min-height: 40vh !important;
}

.min-vh-25 {
  min-height: 25vh !important;
}

.min-vh-0 {
  min-height: 0 !important;
}

.vh-75 {
  height: 75vh !important;
}

.vh-60 {
  height: 60vh !important;
}

.vh-50 {
  height: 50vh !important;
}

.vh-40 {
  height: 40vh !important;
}

.vh-25 {
  height: 25vh !important;
}

.h-60 {
  height: 60% !important;
}

.h-40 {
  height: 40% !important;
}

.max-vh-100 {
  max-height: 100vh !important;
}

.max-vh-75 {
  max-height: 75vh !important;
}

.max-vh-60 {
  max-height: 60vh !important;
}

.max-vh-50 {
  max-height: 50vh !important;
}

.max-vh-40 {
  max-height: 40vh !important;
}

.max-vh-25 {
  max-height: 25vh !important;
}

.max-vh-none {
  max-height: none !important;
}

@media (min-width: 576px) {
  .min-vh-sm-100 {
    min-height: 100vh !important;
  }

  .min-vh-sm-75 {
    min-height: 75vh !important;
  }

  .min-vh-sm-60 {
    min-height: 60vh !important;
  }

  .min-vh-sm-50 {
    min-height: 50vh !important;
  }

  .min-vh-sm-40 {
    min-height: 40vh !important;
  }

  .min-vh-sm-25 {
    min-height: 25vh !important;
  }

  .min-vh-sm-0 {
    min-height: 0 !important;
  }

  .vh-sm-100 {
    height: 100vh !important;
  }

  .vh-sm-75 {
    height: 75vh !important;
  }

  .vh-sm-60 {
    height: 60vh !important;
  }

  .vh-sm-50 {
    height: 50vh !important;
  }

  .vh-sm-40 {
    height: 40vh !important;
  }

  .vh-sm-25 {
    height: 25vh !important;
  }

  .h-sm-100 {
    height: 100% !important;
  }

  .h-sm-75 {
    height: 75% !important;
  }

  .h-sm-60 {
    height: 60% !important;
  }

  .h-sm-50 {
    height: 50% !important;
  }

  .h-sm-40 {
    height: 40% !important;
  }

  .h-sm-25 {
    height: 25% !important;
  }

  .h-sm-auto {
    height: auto !important;
  }

  .max-vh-sm-100 {
    max-height: 100vh !important;
  }

  .max-vh-sm-75 {
    max-height: 75vh !important;
  }

  .max-vh-sm-60 {
    max-height: 60vh !important;
  }

  .max-vh-sm-50 {
    max-height: 50vh !important;
  }

  .max-vh-sm-40 {
    max-height: 40vh !important;
  }

  .max-vh-sm-25 {
    max-height: 25vh !important;
  }

  .max-vh-sm-none {
    max-height: none !important;
  }
}

@media (min-width: 768px) {
  .min-vh-md-100 {
    min-height: 100vh !important;
  }

  .min-vh-md-75 {
    min-height: 75vh !important;
  }

  .min-vh-md-60 {
    min-height: 60vh !important;
  }

  .min-vh-md-50 {
    min-height: 50vh !important;
  }

  .min-vh-md-40 {
    min-height: 40vh !important;
  }

  .min-vh-md-25 {
    min-height: 25vh !important;
  }

  .min-vh-md-0 {
    min-height: 0 !important;
  }

  .vh-md-100 {
    height: 100vh !important;
  }

  .vh-md-75 {
    height: 75vh !important;
  }

  .vh-md-60 {
    height: 60vh !important;
  }

  .vh-md-50 {
    height: 50vh !important;
  }

  .vh-md-40 {
    height: 40vh !important;
  }

  .vh-md-25 {
    height: 25vh !important;
  }

  .h-md-100 {
    height: 100% !important;
  }

  .h-md-75 {
    height: 75% !important;
  }

  .h-md-60 {
    height: 60% !important;
  }

  .h-md-50 {
    height: 50% !important;
  }

  .h-md-40 {
    height: 40% !important;
  }

  .h-md-25 {
    height: 25% !important;
  }

  .h-md-auto {
    height: auto !important;
  }

  .max-vh-md-100 {
    max-height: 100vh !important;
  }

  .max-vh-md-75 {
    max-height: 75vh !important;
  }

  .max-vh-md-60 {
    max-height: 60vh !important;
  }

  .max-vh-md-50 {
    max-height: 50vh !important;
  }

  .max-vh-md-40 {
    max-height: 40vh !important;
  }

  .max-vh-md-25 {
    max-height: 25vh !important;
  }

  .max-vh-md-none {
    max-height: none !important;
  }
}

@media (min-width: 992px) {
  .min-vh-lg-100 {
    min-height: 100vh !important;
  }

  .min-vh-lg-75 {
    min-height: 75vh !important;
  }

  .min-vh-lg-60 {
    min-height: 60vh !important;
  }

  .min-vh-lg-50 {
    min-height: 50vh !important;
  }

  .min-vh-lg-40 {
    min-height: 40vh !important;
  }

  .min-vh-lg-25 {
    min-height: 25vh !important;
  }

  .min-vh-lg-0 {
    min-height: 0 !important;
  }

  .vh-lg-100 {
    height: 100vh !important;
  }

  .vh-lg-75 {
    height: 75vh !important;
  }

  .vh-lg-60 {
    height: 60vh !important;
  }

  .vh-lg-50 {
    height: 50vh !important;
  }

  .vh-lg-40 {
    height: 40vh !important;
  }

  .vh-lg-25 {
    height: 25vh !important;
  }

  .h-lg-100 {
    height: 100% !important;
  }

  .h-lg-75 {
    height: 75% !important;
  }

  .h-lg-60 {
    height: 60% !important;
  }

  .h-lg-50 {
    height: 50% !important;
  }

  .h-lg-40 {
    height: 40% !important;
  }

  .h-lg-25 {
    height: 25% !important;
  }

  .h-lg-auto {
    height: auto !important;
  }

  .max-vh-lg-100 {
    max-height: 100vh !important;
  }

  .max-vh-lg-75 {
    max-height: 75vh !important;
  }

  .max-vh-lg-60 {
    max-height: 60vh !important;
  }

  .max-vh-lg-50 {
    max-height: 50vh !important;
  }

  .max-vh-lg-40 {
    max-height: 40vh !important;
  }

  .max-vh-lg-25 {
    max-height: 25vh !important;
  }

  .max-vh-lg-none {
    max-height: none !important;
  }
}

@media (min-width: 1200px) {
  .min-vh-xl-100 {
    min-height: 100vh !important;
  }

  .min-vh-xl-75 {
    min-height: 75vh !important;
  }

  .min-vh-xl-60 {
    min-height: 60vh !important;
  }

  .min-vh-xl-50 {
    min-height: 50vh !important;
  }

  .min-vh-xl-40 {
    min-height: 40vh !important;
  }

  .min-vh-xl-25 {
    min-height: 25vh !important;
  }

  .min-vh-xl-0 {
    min-height: 0 !important;
  }

  .vh-xl-100 {
    height: 100vh !important;
  }

  .vh-xl-75 {
    height: 75vh !important;
  }

  .vh-xl-60 {
    height: 60vh !important;
  }

  .vh-xl-50 {
    height: 50vh !important;
  }

  .vh-xl-40 {
    height: 40vh !important;
  }

  .vh-xl-25 {
    height: 25vh !important;
  }

  .h-xl-100 {
    height: 100% !important;
  }

  .h-xl-75 {
    height: 75% !important;
  }

  .h-xl-60 {
    height: 60% !important;
  }

  .h-xl-50 {
    height: 50% !important;
  }

  .h-xl-40 {
    height: 40% !important;
  }

  .h-xl-25 {
    height: 25% !important;
  }

  .h-xl-auto {
    height: auto !important;
  }

  .max-vh-xl-100 {
    max-height: 100vh !important;
  }

  .max-vh-xl-75 {
    max-height: 75vh !important;
  }

  .max-vh-xl-60 {
    max-height: 60vh !important;
  }

  .max-vh-xl-50 {
    max-height: 50vh !important;
  }

  .max-vh-xl-40 {
    max-height: 40vh !important;
  }

  .max-vh-xl-25 {
    max-height: 25vh !important;
  }

  .max-vh-xl-none {
    max-height: none !important;
  }
}

@media (min-width: 1400px) {
  .min-vh-xxl-100 {
    min-height: 100vh !important;
  }

  .min-vh-xxl-75 {
    min-height: 75vh !important;
  }

  .min-vh-xxl-60 {
    min-height: 60vh !important;
  }

  .min-vh-xxl-50 {
    min-height: 50vh !important;
  }

  .min-vh-xxl-40 {
    min-height: 40vh !important;
  }

  .min-vh-xxl-25 {
    min-height: 25vh !important;
  }

  .min-vh-xxl-0 {
    min-height: 0 !important;
  }

  .vh-xxl-100 {
    height: 100vh !important;
  }

  .vh-xxl-75 {
    height: 75vh !important;
  }

  .vh-xxl-60 {
    height: 60vh !important;
  }

  .vh-xxl-50 {
    height: 50vh !important;
  }

  .vh-xxl-40 {
    height: 40vh !important;
  }

  .vh-xxl-25 {
    height: 25vh !important;
  }

  .h-xxl-100 {
    height: 100% !important;
  }

  .h-xxl-75 {
    height: 75% !important;
  }

  .h-xxl-60 {
    height: 60% !important;
  }

  .h-xxl-50 {
    height: 50% !important;
  }

  .h-xxl-40 {
    height: 40% !important;
  }

  .h-xxl-25 {
    height: 25% !important;
  }

  .h-xxl-auto {
    height: auto !important;
  }

  .max-vh-xxl-100 {
    max-height: 100vh !important;
  }

  .max-vh-xxl-75 {
    max-height: 75vh !important;
  }

  .max-vh-xxl-60 {
    max-height: 60vh !important;
  }

  .max-vh-xxl-50 {
    max-height: 50vh !important;
  }

  .max-vh-xxl-40 {
    max-height: 40vh !important;
  }

  .max-vh-xxl-25 {
    max-height: 25vh !important;
  }

  .max-vh-xxl-none {
    max-height: none !important;
  }
}

/* ----------------------------------------------------------------
	Position Utility Classes: Extended
-----------------------------------------------------------------*/

@media (min-width: 576px) {
  .position-sm-static {
    position: static !important;
  }

  .position-sm-relative {
    position: relative !important;
  }

  .position-sm-absolute {
    position: absolute !important;
  }

  .position-sm-fixed {
    position: fixed !important;
  }

  .position-sm-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
  }
}

@media (min-width: 768px) {
  .position-md-static {
    position: static !important;
  }

  .position-md-relative {
    position: relative !important;
  }

  .position-md-absolute {
    position: absolute !important;
  }

  .position-md-fixed {
    position: fixed !important;
  }

  .position-md-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
  }
}

@media (min-width: 992px) {
  .position-lg-static {
    position: static !important;
  }

  .position-lg-relative {
    position: relative !important;
  }

  .position-lg-absolute {
    position: absolute !important;
  }

  .position-lg-fixed {
    position: fixed !important;
  }

  .position-lg-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
  }
}

@media (min-width: 1200px) {
  .position-xl-static {
    position: static !important;
  }

  .position-xl-relative {
    position: relative !important;
  }

  .position-xl-absolute {
    position: absolute !important;
  }

  .position-xl-fixed {
    position: fixed !important;
  }

  .position-xl-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
  }
}

@media (min-width: 1400px) {
  .position-xxl-static {
    position: static !important;
  }

  .position-xxl-relative {
    position: relative !important;
  }

  .position-xxl-absolute {
    position: absolute !important;
  }

  .position-xxl-fixed {
    position: fixed !important;
  }

  .position-xxl-sticky {
    position: -webkit-sticky !important;
    position: sticky !important;
  }
}

/* ----------------------------------------------------------------
	X/Y Positioning Classes
-----------------------------------------------------------------*/

.pos-x-start {
  left: 0 !important;
  right: auto !important;
}

.pos-y-start {
  top: 0 !important;
  bottom: auto !important;
}

.pos-x-end {
  left: auto !important;
  right: 0 !important;
}

.pos-y-end {
  top: auto !important;
  bottom: 0 !important;
}

.pos-x-center {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
}

.pos-y-center {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

.pos-x-center.pos-y-center {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* ----------------------------------------------------------------
	Square Sizing Classes
-----------------------------------------------------------------*/

.square-xs {
  width: 1rem !important;
  height: 1rem !important;
}

.square-sm {
  width: 2rem !important;
  height: 2rem !important;
}

.square-md {
  width: 4rem !important;
  height: 4rem !important;
}

.square-lg {
  width: 6rem !important;
  height: 6rem !important;
}

.square-xl {
  width: 8rem !important;
  height: 8rem !important;
}

/* ----------------------------------------------------------------
	Text Sizing Classes
-----------------------------------------------------------------*/

.text-size-xs {
  font-size: 0.875rem !important;
}

.text-size-sm {
  font-size: 1rem !important;
}

.text-size-md {
  font-size: 1.5rem !important;
}

.text-size-lg {
  font-size: 2rem !important;
}

.text-size-xl {
  font-size: calc(1rem + 2.25vw) !important;
}

.text-size-xxl {
  font-size: calc(1rem + 3.5vw) !important;
}

/* ----------------------------------------------------------------
	Lazy Loading
-----------------------------------------------------------------*/

.lazy {
  opacity: 0;
}

.lazy:not(.initial) {
  transition: opacity 1s;
}

.lazy.initial,
.lazy.lazy-loaded,
.lazy.lazy-error {
  opacity: 1;
}

img.lazy {
  max-width: 100%;
  height: auto;
}

img.lazy:not([src]) {
  visibility: hidden;
}

/* ----------------------------------------------------------------
	Sections
-----------------------------------------------------------------*/

.section {
  position: relative;
  width: 100%;
  margin: 60px 0;
  padding: 60px 0;
  background-color: #f9f9f9;
  overflow: hidden;
}

.parallax {
  background-color: transparent;
  background-attachment: fixed;
  background-position: 50% 0;
  background-repeat: no-repeat;
  overflow: hidden;
  will-change: transform;
}

.mobile-parallax,
.video-placeholder {
  background-size: cover !important;
  background-attachment: scroll !important;
  background-position: center center !important;
}

.section .container {
  z-index: 2;
}

.section .container + .video-wrap {
  z-index: 1;
}

.revealer-image {
  position: relative;
  bottom: -100px;
  transition: bottom 0.3s ease-in-out;
  -webkit-transition: bottom 0.3s ease-in-out;
  -o-transition: bottom 0.3s ease-in-out;
}

.section:hover .revealer-image {
  bottom: -50px;
}

/* ----------------------------------------------------------------
	Columns & Grids
-----------------------------------------------------------------*/

.postcontent,
.sidebar {
  position: relative;
}

/* ----------------------------------------------------------------
	Flex Slider
-----------------------------------------------------------------*/

.fslider,
.fslider .flexslider,
.fslider .slider-wrap,
.fslider .slide,
.fslider .slide > a,
.fslider .slide > img,
.fslider .slide > a > img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
}

.fslider.h-100 .flexslider,
.fslider.h-100 .slider-wrap,
.fslider.h-100 .slide {
  height: 100% !important;
}

.fslider {
  min-height: 32px;
}

.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {
  outline: none;
  border: none;
}

.slider-wrap,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  border: none;
}

.flexslider {
  position: relative;
  margin: 0;
  padding: 0;
}

.flexslider .slider-wrap > .slide {
  display: none;
  -webkit-backface-visibility: hidden;
}

.flexslider .slider-wrap img {
  width: 100%;
  display: block;
}

.flex-pauseplay span {
  text-transform: capitalize;
}

.slider-wrap::after {
  content: '\0020';
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

html[xmlns] .slider-wrap {
  display: block;
}

* html .slider-wrap {
  height: 1%;
}

.no-js .slider-wrap > .slide:first-child {
  display: block;
}

.flex-viewport {
  max-height: 2000px;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

/* ----------------------------------------------------------------
	Top Bar
-----------------------------------------------------------------*/

#top-bar {
  position: relative;
  border-bottom: 1px solid #eee;
  font-size: 13px;
}

/* Top Links
---------------------------------*/

.top-links {
  position: relative;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -ms-flex-positive: 0;
  flex-grow: 0;
  border-bottom: 1px solid #eee;
}

@media (min-width: 768px) {
  .top-links {
    border-bottom: 0;
  }
}

.top-links-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  list-style: none;
  margin-bottom: 0;
}

.top-links-item {
  position: relative;
  border-left: 1px solid #eee;
}

.top-links-item:first-child,
.top-links-sub-menu .top-links-item {
  border-left: 0 !important;
}

.top-links-item > a {
  display: block;
  padding: 12px;
  font-size: 0.75rem;
  line-height: 20px;
  font-weight: 700;
  text-transform: uppercase;
  color: #666;
}

.top-links-item > a > i {
  vertical-align: top;
}

.top-links-item > a > i.icon-angle-down {
  margin: 0 0 0 5px !important;
}

.top-links-item > a > i:first-child {
  margin-right: 3px;
}

.top-links-item.full-icon > a > i {
  top: 2px;
  font-size: 0.875rem;
  margin: 0;
}

.top-links-item:hover {
  background-color: #eee;
}

.top-links-sub-menu,
.top-links-section {
  position: absolute;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  list-style: none;
  z-index: -1;
  line-height: 1.5;
  background: #fff;
  border: 0;
  top: 100%;
  left: -1px;
  width: 140px;
  margin-top: 10px;
  border: 1px solid #eee;
  border-top-color: #1abc9c;
  box-shadow: 0px 13px 42px 11px rgba(0, 0, 0, 0.05);
  transition: opacity 0.25s ease, margin 0.2s ease;
}

.top-links:not(.on-click) .top-links-item:hover > .top-links-sub-menu,
.top-links:not(.on-click) .top-links-item:hover > .top-links-section,
.top-links.on-click .top-links-sub-menu,
.top-links.on-click .top-links-section {
  opacity: 1;
  visibility: visible;
  margin-top: 0;
  pointer-events: auto;
  z-index: 499;
}

.top-links.on-click .top-links-sub-menu,
.top-links.on-click .top-links-section {
  display: none;
}

.top-links-sub-menu .top-links-sub-menu {
  top: -1px;
  left: 100%;
}

.top-links-sub-menu .top-links-item:not(:first-child) {
  border-top: 1px solid #f5f5f5;
}

.top-links-sub-menu .top-links-item:hover {
  background-color: #f9f9f9;
}

.top-links-sub-menu .top-links-item > a {
  padding-top: 9px;
  padding-bottom: 9px;
  font-size: 0.6875rem;
}

.top-links-sub-menu .top-links-item > a > img {
  display: inline-block;
  position: relative;
  top: -1px;
  width: 16px;
  height: 16px;
  margin-right: 4px;
}

.top-links-sub-menu.top-demo-lang .top-links-item > a > img {
  top: 4px;
  width: 16px;
  height: 16px;
}

.top-links-sub-menu .top-links-item > a > i.icon-angle-down {
  margin: 0 !important;
  position: absolute;
  top: 50%;
  left: auto;
  right: 10px;
  transform: translateY(-50%) rotate(-90deg);
}

.top-links-section {
  padding: 25px;
  left: 0;
  width: 280px;
}

.top-links-section.menu-pos-invert {
  left: auto;
  right: 0;
}

/* Top Social
-----------------------------------------------------------------*/

#top-social {
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  margin: 0;
}

#top-social li {
  position: relative;
  list-style: none;
}

#top-social li {
  border-left: 1px solid #eee;
}

#top-social li:first-child {
  border-left: 0 !important;
}

#top-social a {
  display: -ms-flexbox;
  display: flex;
  width: auto;
  overflow: hidden;
  font-weight: bold;
  color: #666;
}

#top-social li a:hover {
  color: #fff !important;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

#top-social li .ts-icon,
#top-social li .ts-text {
  display: block;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  height: 44px;
  line-height: 44px;
}

#top-social li .ts-icon {
  width: 40px;
  text-align: center;
  font-size: 0.875rem;
}

#top-social li .ts-text {
  max-width: 0;
  white-space: nowrap;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

#top-social li a:hover .ts-text {
  max-width: 200px;
  padding-right: 12px;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

/* Top Login
-----------------------------------------------------------------*/

#top-login {
  margin-bottom: 0;
}

#top-login .checkbox {
  margin-bottom: 10px;
}

#top-login .form-control {
  position: relative;
}

#top-login .form-control:focus {
  border-color: #ccc;
}

#top-login .input-group#top-login-username {
  margin-bottom: -1px;
}

#top-login #top-login-username input,
#top-login #top-login-username .input-group-addon {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

#top-login .input-group#top-login-password {
  margin-bottom: 10px;
}

#top-login #top-login-password input,
#top-login #top-login-password .input-group-addon {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

/* ----------------------------------------------------------------
	Header
-----------------------------------------------------------------*/

#header {
  position: relative;
  background-color: #fff;
  border-bottom: 1px solid #f5f5f5;
}

#header-wrap {
  position: relative;
  background-color: #fff;
  width: 100%;
}

.header-wrap-clone {
  display: none;
}

.header-row {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  #header-wrap {
    position: fixed;
    height: auto;
    z-index: 299;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
    transition: height 0.2s ease 0s, background-color 0.3s ease 0s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: left, top, transform;
  }

  #top-bar + #header:not(.sticky-header) #header-wrap,
  #slider + #header:not(.sticky-header) #header-wrap,
  .floating-header:not(.sticky-header) #header-wrap,
  div + #header-wrap,
  .no-sticky #header-wrap,
  [data-sticky-offset]:not([data-sticky-offset='full']):not(.sticky-header)
    #header-wrap,
  body:not(.stretched) #header:not(.sticky-header) #header-wrap {
    position: absolute;
  }

  .header-wrap-clone {
    display: block;
    height: calc(100px + 1px);
  }

  .header-size-sm .header-wrap-clone {
    height: calc(60px + 1px);
  }

  .header-size-md .header-wrap-clone {
    height: calc(80px + 1px);
  }

  .header-size-lg .header-wrap-clone {
    height: calc(120px + 1px);
  }

  .header-row {
    position: initial;
  }

  #header.transparent-header,
  #header.transparent-header:not(.sticky-header) #header-wrap {
    background: transparent;
    border-bottom: 1px solid transparent;
    z-index: 299;
  }

  #header.transparent-header.semi-transparent #header-wrap {
    background-color: rgba(255, 255, 255, 0.8);
  }

  #header.transparent-header.floating-header {
    margin-top: 60px;
  }

  .transparent-header.floating-header .container {
    background-color: #fff;
    padding: 0 30px;
  }

  .transparent-header.floating-header:not(.sticky-header) .container {
    position: relative;
  }

  #header + .include-header {
    margin-top: calc(-100px - 2px);
    display: inline-block;
    vertical-align: bottom;
    width: 100%;
  }

  #header.header-size-sm + .include-header {
    margin-top: calc(-60px - 2px);
  }

  #header.header-size-md + .include-header {
    margin-top: calc(-80px - 2px);
  }

  #header.header-size-lg + .include-header {
    margin-top: calc(-120px - 2px);
  }

  #header.floating-header + .include-header {
    margin-top: calc(-160px - 2px);
  }

  #header.transparent-header + .page-title-parallax.include-header .container {
    z-index: 5;
    padding-top: 100px;
  }

  #header.full-header:not(.transparent-header) {
    border-bottom-color: #eee;
  }

  .stretched .full-header #header-wrap > .container {
    width: 100%;
    max-width: none;
    padding: 0 30px;
  }

  #header.transparent-header.full-header #header-wrap {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }

  #slider + #header.transparent-header.full-header #header-wrap {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: none;
  }

  /* ----------------------------------------------------------------
		Sticky Header
	-----------------------------------------------------------------*/

  #logo img {
    -webkit-transition: height 0.4s ease, padding 0.4s ease, margin 0.4s ease,
      opacity 0.3s ease;
    transition: height 0.4s ease, padding 0.4s ease, margin 0.4s ease,
      opacity 0.3s ease;
  }

  #logo img {
    max-height: 100%;
  }

  .sub-menu-container,
  .mega-menu-content {
    -webkit-transition: top 0.4s ease;
    transition: top 0.4s ease;
  }

  .sticky-header #header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }

  .sticky-header.full-header #header-wrap {
    border-bottom: 1px solid #eee;
  }

  .sticky-header.semi-transparent {
    background-color: transparent;
  }

  .semi-transparent.sticky-header #header-wrap {
    background-color: rgba(255, 255, 255, 0.8);
  }

  /* Primary Menu - Style 3
	-----------------------------------------------------------------*/

  .sticky-header .style-3 .menu-container > .menu-item > .menu-link {
    margin: 0;
    border-radius: 0;
  }

  /* Primary Menu - Style 4
	-----------------------------------------------------------------*/

  .sticky-header .style-4 .menu-container > .menu-item > .menu-link {
    padding-top: 8px;
    padding-bottom: 8px;
    margin: 10px 0;
  }

  /* Primary Menu - Style 5
	-----------------------------------------------------------------*/

  .sticky-header-shrink .style-5 .menu-container > .menu-item {
    margin-left: 2px;
  }

  .sticky-header-shrink .style-5 .menu-container > .menu-item:first-child {
    margin-left: 0;
  }

  .sticky-header-shrink .style-5 .menu-container > .menu-item > .menu-link {
    line-height: 22px;
    padding-top: 19px;
    padding-bottom: 19px;
  }

  .sticky-header-shrink
    .style-5
    .menu-container
    > .menu-item
    > .menu-link
    > div {
    padding: 0;
  }

  .sticky-header-shrink
    .style-5
    .menu-container
    > .menu-item
    > .menu-link
    i:not(.icon-angle-down) {
    display: inline-block;
    width: 16px;
    top: -1px;
    margin: 0 6px 0 0;
    font-size: 0.875rem;
    line-height: 22px;
  }
}

@media (max-width: 991.98px) {
  .sticky-header #header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 299;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }

  .sticky-header .header-wrap-clone {
    display: block;
  }

  .sticky-header .menu-container {
    max-height: 60vh;
    margin: 1rem 0;
    overflow-x: hidden;
    overflow-y: scroll;
  }

  body:not(.primary-menu-open) .dark.transparent-header-responsive,
  body:not(.primary-menu-open) .transparent-header-responsive {
    background-color: transparent;
    border: none;
  }

  body:not(.primary-menu-open) .semi-transparent.transparent-header-responsive {
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1;
  }
}

/* ----------------------------------------------------------------
	Logo
-----------------------------------------------------------------*/

#logo {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  -ms-flex-align: center;
  margin-right: auto;
  max-height: 100%;
}

#logo a {
  color: #000;
  font-family: 'Poppins', sans-serif;
  font-size: 36px;
}

#logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  height: 100px;
}

.header-size-sm #header-wrap #logo img {
  height: 60px;
}

.header-size-md #header-wrap #logo img {
  height: 80px;
}

.header-size-lg #header-wrap #logo img {
  height: 120px;
}

#logo a .logo-blue {
  display: none;
}
#logo a .logo-default {
  display: flex;
}

#header.sticky-header .logo-blue {
  display: flex;
}
#header.sticky-header .logo-default {
  display: none;
}

@media (min-width: 992px) {
  .full-header #logo {
    padding-right: 30px;
    border-right: 1px solid #eee;
  }

  #header.transparent-header.full-header #logo {
    border-right-color: rgba(0, 0, 0, 0.1);
  }

  .sticky-header-shrink #header-wrap #logo img {
    height: 60px;
  }
}

/* ----------------------------------------------------------------
	Retina Logo
-----------------------------------------------------------------*/

@media only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min--moz-device-pixel-ratio: 2),
  only screen and (-o-min-device-pixel-ratio: 2/1),
  only screen and (min-device-pixel-ratio: 2),
  only screen and (min-resolution: 192dpi),
  only screen and (min-resolution: 2dppx) {
  #logo a.standard-logo {
    display: none;
  }

  #logo a.retina-logo {
    display: -ms-flexbox;
    display: flex;
  }
}

/* ----------------------------------------------------------------
	Header Right Area
-----------------------------------------------------------------*/

.header-extras {
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin-bottom: 0;
}

.header-extras li {
  display: -ms-flexbox;
  display: flex;
  margin-left: 1.25rem;
  overflow: hidden;
  list-style: none;
}

.header-extras li:first-child {
  margin-left: 0;
}

.header-extras li .he-text {
  padding-left: 10px;
  font-weight: bold;
  font-size: 0.875rem;
}

.header-extras li .he-text span {
  display: block;
  font-weight: 400;
  color: #1abc9c;
}

/* ----------------------------------------------------------------
	Primary Menu
-----------------------------------------------------------------*/

.primary-menu {
  display: -ms-flexbox;
  display: flex;
  flex-basis: 100%;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-align: center;
  align-items: center;
}

.primary-menu + .primary-menu {
  border-top: 1px solid #eee;
}

#primary-menu-trigger,
#page-menu-trigger {
  display: -ms-flex;
  display: flex;
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
  cursor: pointer;
  font-size: 0.875rem;
  width: 50px;
  height: 50px;
  line-height: 50px;
  justify-content: center;
  align-items: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
  .primary-menu-trigger,
  #page-menu-trigger {
    transition: none;
  }
}
.is-expanded-menu .primary-menu-trigger,
.is-expanded-menu #page-menu-trigger {
  display: none;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}

body:not(.top-search-open) .top-search-parent #primary-menu-trigger {
  opacity: 1;
  -webkit-transition: opacity 0.2s 0.2s ease, top 0.4s ease;
  -o-transition: opacity 0.2s 0.2s ease, top 0.4s ease;
  transition: opacity 0.2s 0.2s ease, top 0.4s ease;
}

.top-search-open .top-search-parent #primary-menu-trigger {
  opacity: 0;
}

.primary-menu-trigger .primary-menu-trigger-text {
  margin-left: 0.25rem;
}

.svg-trigger {
  width: 30px;
  height: 30px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.svg-trigger path {
  fill: none;
  transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
  stroke: #333;
  stroke-width: 5;
  stroke-linecap: round;
}

.svg-trigger path:nth-child(1) {
  stroke-dasharray: 40 160;
}

.svg-trigger path:nth-child(2) {
  stroke-dasharray: 40 142;
  transform-origin: 50%;
  transition: transform 400ms;
}

.svg-trigger path:nth-child(3) {
  stroke-dasharray: 40 85;
  transform-origin: 50%;
  transition: transform 400ms, stroke-dashoffset 400ms;
}
.primary-menu-open .svg-trigger {
  transform: rotate(45deg);
}

.primary-menu-open .svg-trigger path:nth-child(1),
.primary-menu-open .svg-trigger path:nth-child(3) {
  stroke-dashoffset: -64px;
}

.primary-menu-open .svg-trigger path:nth-child(2) {
  transform: rotate(90deg);
}

.menu-item {
  position: relative;
}

.menu-item:not(:first-child) {
  border-top: 1px solid #eee;
}

.menu-link {
  display: block;
  line-height: 22px;
  padding: 14px 5px;
  color: #444;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-family: 'Poppins', sans-serif;
}

.menu-link span {
  display: none;
}

.menu-link i {
  position: relative;
  top: -1px;
  font-size: 0.875rem;
  width: 16px;
  text-align: center;
  margin-right: 6px;
  vertical-align: top;
}

.menu-item:hover > .menu-link,
.menu-item.current > .menu-link {
  color: #1abc9c;
}

.menu-item.sub-menu > .menu-link > div {
}

.sub-menu-container,
.mega-menu-content {
  position: relative;
  padding-left: 15px;
  border-top: 1px solid #eee;
  list-style: none;
  margin-bottom: 0;
}

.sub-menu-container .menu-item:not(:first-child) {
  border-top: 1px solid #eee;
}

.sub-menu-container .menu-item > .menu-link {
  position: relative;
  padding: 11px 5px;
  font-size: 0.75rem;
  font-weight: 400;
  color: #666;
  letter-spacing: 0;
  font-family: 'Lato', sans-serif;
}

.sub-menu-container .menu-item:hover > .menu-link {
  font-weight: 700;
}

.sub-menu-container .menu-link div {
  position: relative;
}

.menu-item .sub-menu-trigger {
  display: block;
  position: absolute;
  cursor: pointer;
  outline: none;
  border: none;
  background: none;
  padding: 0;
  top: 9px;
  right: 0;
  width: 32px;
  height: 32px;
  font-size: 12px;
  line-height: 32px;
  text-align: center;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}

.menu-link div > i.icon-angle-down {
  display: none;
}

.sub-menu-container .sub-menu-trigger {
  font-size: 10px;
}

.sub-menu-container .menu-item .sub-menu-trigger {
  top: 6px;
}

/* ----------------------------------------------------------------
	Mega Menu
-----------------------------------------------------------------*/

.mega-menu:not(.mega-menu-full) .mega-menu-content .container {
  max-width: none;
}

.mega-menu-content {
  padding-left: 0;
}

@media (max-width: 991.98px) {
  .primary-menu {
    max-width: 100%;
  }

  .primary-menu > .container {
    max-width: none;
    padding: 0;
  }

  .mega-menu-content .sub-menu-container {
    border-top: 1px solid #eee;
  }

  .mega-menu-content .sub-menu-container:not(.mega-menu-dropdown) {
    display: block !important;
  }

  .mega-menu-content .mega-menu-column {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-right: 0;
  }

  .mega-menu-column .widget {
    padding: 30px 0;
  }
}

.mega-menu-content .mega-menu-column:first-child {
  border-top: 0;
}

/* Off Canvas Menu
-----------------------------------------------------------------*/

@media (max-width: 991.98px) {
  #header:not(.sticky-header)
    .mobile-menu-off-canvas.from-right
    .menu-container {
    left: auto !important;
    right: 0;
    border-right: 0 !important;
    border-left: 1px solid #eee !important;
    -webkit-transform: translate(280px, 0);
    -o-transform: translate(280px, 0);
    transform: translate(280px, 0);
  }

  #header:not(.sticky-header) .mobile-menu-off-canvas .menu-container {
    -webkit-transition: -webkit-transform 0.3s ease-in-out, opacity 0.2s ease !important;
    -o-transition: -o-transform 0.3s ease-in-out, opacity 0.2s ease !important;
    transition: transform 0.3s ease-in-out, opacity 0.2s ease !important;
  }

  #header:not(.sticky-header) .mobile-menu-off-canvas .menu-container.d-block {
    -webkit-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@media (min-width: 992px) {
  .primary-menu {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -ms-flex-positive: 0;
    flex-grow: 0;
  }

  .primary-menu + .primary-menu {
    border-top: 0;
  }

  #primary-menu-trigger,
  #page-menu-trigger {
    display: none;
    opacity: 0;
    pointer-events: none;
    z-index: 0;
  }

  .menu-container:not(.mobile-primary-menu) {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
  }

  .full-header .primary-menu .menu-container {
    padding-right: 0.5rem;
    margin-right: 0.5rem;
    border-right: 1px solid #eee;
  }

  .transparent-header.full-header .primary-menu .menu-container {
    border-right-color: rgba(0, 0, 0, 0.1);
  }

  .mega-menu {
    position: inherit;
  }

  .menu-container > .menu-item:not(:first-child) {
    margin-left: 2px;
  }

  .menu-item:not(:first-child) {
    border-top: 0;
  }

  .menu-item.menu-item-important .menu-link > div::after {
    content: '';
    display: inline-block;
    position: relative;
    top: -5px;
    left: 5px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #dc3545;
  }

  .menu-link {
    padding: 39px 15px;
    -webkit-transition: margin 0.4s ease, padding 0.4s ease;
    -o-transition: margin 0.4s ease, padding 0.4s ease;
    transition: margin 0.4s ease, padding 0.4s ease;
  }

  .header-size-sm .menu-container > .menu-item > .menu-link {
    padding-top: 19px;
    padding-bottom: 19px;
  }

  .header-size-md .menu-container > .menu-item > .menu-link {
    padding-top: 29px;
    padding-bottom: 29px;
  }

  .header-size-lg .menu-container > .menu-item > .menu-link {
    padding-top: 49px;
    padding-bottom: 49px;
  }

  .sticky-header-shrink .menu-container > .menu-item > .menu-link {
    padding-top: 19px;
    padding-bottom: 19px;
  }

  .with-arrows
    .menu-container
    > .menu-item
    > .menu-link
    div
    > i.icon-angle-down {
    display: inline-block;
  }

  .sub-menu-container,
  .mega-menu-content {
    position: absolute;
    visibility: hidden;
    background-color: #fff;
    box-shadow: 0px 13px 42px 11px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
    border-top: 2px solid #1abc9c;
    z-index: 399;
    top: 100%;
    left: 0;
    padding: 0;
  }

  .menu-container
    > .menu-item:not(.mega-menu)
    .sub-menu-container:not([class*='col']) {
    width: 220px;
  }

  /* Sub-Menu On-Hover Dropdown */
  .primary-menu:not(.on-click) .menu-item:not(.mega-menu) .sub-menu-container,
  .primary-menu:not(.on-click) .mega-menu-content {
    display: block;
    opacity: 0;
    margin-top: 15px;
    z-index: -9999;
    pointer-events: none;
    transition: opacity 0.3s ease, margin 0.25s ease;
  }

  .primary-menu:not(.on-click)
    .menu-item.mega-menu
    .mega-menu-content
    .sub-menu-container:not(.mega-menu-dropdown) {
    margin-top: 0;
    z-index: auto;
  }

  .primary-menu:not(.on-click)
    .menu-item.mega-menu:hover
    > .mega-menu-content
    .sub-menu-container:not(.mega-menu-dropdown) {
    pointer-events: auto;
  }

  .primary-menu:not(.on-click) .menu-item:hover > .sub-menu-container,
  .primary-menu:not(.on-click) .menu-item:hover > .mega-menu-content {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    z-index: 399;
    pointer-events: auto;
  }

  .is-expanded-menu
    .primary-menu:not(.on-click)
    .menu-item:hover
    > .sub-menu-container,
  .is-expanded-menu
    .primary-menu:not(.on-click)
    .menu-item:hover
    > .mega-menu-content {
    opacity: 1;
    visibility: visible;
    margin-top: 0;
    z-index: 399;
    pointer-events: auto;
    transition: opacity var(--cnvs-primary-menu-submenu-display-speed) ease,
      margin var(--cnvs-primary-menu-submenu-display-speed) ease;
  }

  .primary-menu:not(.on-click) .menu-item:not(:hover) > .sub-menu-container > *,
  .primary-menu:not(.on-click) .menu-item:not(:hover) > .mega-menu-content > * {
    display: none;
  }

  .primary-menu:not(.on-click)
    .menu-item.mega-menu
    .mega-menu-content
    .sub-menu-container:not(.mega-menu-dropdown)
    > * {
    display: block;
  }

  .sub-menu-container .sub-menu-container {
    list-style: none;
    top: -2px !important;
    left: 100%;
  }

  .sub-menu-container.menu-pos-invert,
  .mega-menu-content.menu-pos-invert {
    left: auto;
    right: 0;
  }

  .sub-menu-container .sub-menu-container.menu-pos-invert {
    right: 100%;
  }

  .sub-menu-container .menu-item:not(:first-child) {
    border-top: 0;
  }

  .sub-menu-container .menu-item > .menu-link {
    padding: 10px 15px;
    font-weight: 700;
    border: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }

  .sub-menu-container .menu-item > .menu-link i {
    vertical-align: middle;
  }

  .sub-menu-container .menu-item:hover > .menu-link {
    background-color: #f9f9f9;
    padding-left: 18px;
    color: #1abc9c;
  }

  .menu-link div > i.icon-angle-down {
    top: 0;
    font-size: 0.875rem;
    margin: 0 0 0 5px;
  }

  .sub-menu-container .menu-link div > i.icon-angle-down,
  .side-header .primary-menu:not(.on-click) .menu-link i.icon-angle-down {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0;
    transform: translateY(-50%) rotate(-90deg);
  }

  .menu-item .sub-menu-trigger,
  .side-header
    .on-click
    .sub-menu-container
    .menu-link
    i.icon-angle-down:last-child {
    display: none;
  }

  /* ----------------------------------------------------------------
		Mega Menu
	-----------------------------------------------------------------*/

  .mega-menu:not(.mega-menu-full) .mega-menu-content .container {
    max-width: none;
    padding: 0 var(--bs-gutter-x, 0.75rem) !important;
    margin: 0 auto !important;
  }

  .mega-menu-content {
    margin: 0;
    width: 100%;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
  }

  .mega-menu-full .mega-menu-content {
    width: 100%;
    left: 0;
    transform: none;
  }

  .mega-menu-small {
    position: relative;
  }

  .mega-menu-small .mega-menu-content {
    left: 0;
    width: 400px;
    transform: none;
  }

  .floating-header:not(.sticky-header) .mega-menu .mega-menu-content {
    max-width: 100%;
  }

  .sub-menu-container .mega-menu {
    position: relative;
  }

  .sub-menu-container .mega-menu-small .mega-menu-content {
    top: 0;
    left: 100%;
  }

  .sub-menu-container .mega-menu-small .mega-menu-content.menu-pos-invert {
    left: auto;
    right: 100%;
  }

  .mega-menu-content.mega-menu-style-2 {
    padding: 0 10px;
  }

  .mega-menu-content .sub-menu-container:not(.mega-menu-dropdown) {
    position: relative;
    display: block !important;
    visibility: visible !important;
    top: 0 !important;
    left: 0;
    min-width: inherit;
    height: auto !important;
    list-style: none;
    border: 0;
    box-shadow: none;
    background-color: transparent;
    opacity: 1 !important;
    z-index: auto;
  }

  .mega-menu-content .sub-menu-container.mega-menu-dropdown {
    padding: 0.75rem;
    width: 220px;
  }

  .mega-menu-column {
    display: block !important;
    padding-left: 0;
    padding-right: 0;
  }

  .sub-menu-container.mega-menu-column:not(:first-child) {
    border-left: 1px solid #f2f2f2;
  }

  .mega-menu-style-2 .mega-menu-column {
    padding: 30px 20px;
  }

  .mega-menu-style-2 .mega-menu-title:not(:first-child) {
    margin-top: 20px;
  }

  .mega-menu-style-2 .mega-menu-title > .menu-link {
    font-size: 0.8125rem;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase !important;
    margin-bottom: 15px;
    color: #444;
    padding: 0 !important;
    line-height: 1.3 !important;
  }

  .mega-menu-style-2 .mega-menu-title:hover > .menu-link {
    background-color: transparent;
  }

  .mega-menu-style-2 .mega-menu-title > .menu-link:hover {
    color: #1abc9c;
  }

  .mega-menu-style-2 .sub-menu-container:not(.mega-menu-dropdown) .menu-item {
    border: 0;
  }

  .mega-menu-style-2 .sub-menu-container .menu-link {
    padding-left: 5px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .mega-menu-style-2 .sub-menu-container .menu-item:hover > .menu-link {
    padding-left: 12px;
  }

  /* Sub-Menu On-Click Dropdown */
  .on-click .sub-menu-container,
  .on-click .mega-menu-content {
    display: none;
    visibility: visible;
  }

  .on-click
    .menu-item:not(.mega-menu-small)
    .mega-menu-content
    .sub-menu-container:not(.mega-menu-dropdown) {
    display: block;
  }

  /* Primary Menu - Style 2
	-----------------------------------------------------------------*/

  .style-2 #logo {
    margin-right: 1.5rem;
  }

  .style-2 .primary-menu {
    margin-right: auto;
  }

  .style-2.menu-center .primary-menu {
    margin-right: auto;
    margin-left: auto;
  }

  /* Primary Menu - Style 3
	-----------------------------------------------------------------*/

  .style-3 .menu-container > .menu-item > .menu-link {
    margin: 28px 0;
    padding-top: 11px;
    padding-bottom: 11px;
    border-radius: 2px;
  }

  .style-3 .menu-container > .menu-item:hover > .menu-link {
    color: #444;
    background-color: #f5f5f5;
  }

  .style-3 .menu-container > .menu-item.current > .menu-link {
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    background-color: #1abc9c;
  }

  /* Primary Menu - Style 4
	-----------------------------------------------------------------*/

  .style-4 .menu-container > .menu-item > .menu-link {
    margin: 28px 0;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 2px;
    border: 1px solid transparent;
  }

  .style-4 .menu-container > .menu-item:hover > .menu-link,
  .style-4 .menu-container > .menu-item.current > .menu-link {
    border-color: #1abc9c;
  }

  /* Primary Menu - Style 5
	-----------------------------------------------------------------*/

  .style-5 .menu-container {
    padding-right: 10px;
    margin-right: 5px;
    border-right: 1px solid #eee;
  }

  .style-5 .menu-container > .menu-item:not(:first-child) {
    margin-left: 15px;
  }

  .style-5 .menu-container > .menu-item > .menu-link {
    padding-top: 27px;
    padding-bottom: 27px;
    line-height: 1;
  }

  .style-5 .menu-container > .menu-item > .menu-link i:not(.icon-angle-down) {
    display: block;
    width: auto;
    margin: 0 0 12px;
    font-size: 20px;
    line-height: 1;
    transition: all 0.3s ease;
  }

  /* Primary Menu - Style 6
	-----------------------------------------------------------------*/

  .style-6 .menu-container > .menu-item > .menu-link {
    position: relative;
  }

  .style-6 .menu-container > .menu-item > .menu-link::after,
  .style-6 .menu-container > .menu-item.current > .menu-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    height: 2px;
    width: 0;
    border-top: 2px solid #1abc9c;
    -webkit-transition: width 0.3s ease;
    -o-transition: width 0.3s ease;
    transition: width 0.3s ease;
    transform: translateX(-50%);
  }

  .style-6 .menu-container > .menu-item.current > .menu-link::after,
  .style-6 .menu-container > .menu-item:hover > .menu-link::after {
    width: 100%;
  }

  /* Primary Menu - Sub Title
	-----------------------------------------------------------------*/

  .sub-title .menu-container > .menu-item {
    margin-left: 0;
  }

  .sub-title .menu-container > .menu-item > .menu-link {
    position: relative;
    line-height: 14px;
    padding: 32px 20px;
    text-transform: uppercase;
  }

  .sub-title
    .menu-container
    > .menu-item:not(:first-child)
    > .menu-link::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -2;
    width: 1px;
    height: 36px;
    background-color: #eee;
    transform: translateY(-50%);
  }

  .sub-title .menu-container > .menu-item > .menu-link span {
    display: block;
    margin-top: 10px;
    line-height: 12px;
    font-size: 11px;
    font-weight: 400;
    color: #888;
    text-transform: capitalize;
  }

  .sub-title .menu-container > .menu-item:hover > .menu-link,
  .sub-title .menu-container > .menu-item.current > .menu-link {
    color: #fff;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
  }

  .sub-title .menu-container > .menu-item:hover > .menu-link span,
  .sub-title .menu-container > .menu-item.current > .menu-link span {
    color: #eee;
  }

  .sub-title .menu-container > .menu-item:hover > .menu-link::after,
  .sub-title .menu-container > .menu-item.current > .menu-link::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #1abc9c;
    border-top: 5px solid rgba(0, 0, 0, 0.1);
  }

  /* ----------------------------------------------------------------
		Side Header
	-----------------------------------------------------------------*/

  .side-header:not(.open-header) #wrapper {
    margin: 0 0 0 260px !important;
    width: auto !important;
  }

  .side-header .container {
    padding-left: 30px;
    padding-right: 30px;
  }

  .side-header #header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 260px;
    height: 100%;
    height: calc(100vh);
    background-color: #fff;
    border: none;
    border-right: 1px solid #eee;
    overflow: hidden;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.065);
  }

  .side-header #header-wrap {
    position: relative;
    width: 300px;
    width: calc(100% + 40px);
    height: 100%;
    overflow-y: scroll;
    padding-right: 40px;
  }

  .side-header #header-wrap > .container {
    width: 260px;
    max-width: none;
    padding: 0 30px;
    margin: 0 !important;
    min-height: 100%;
    display: -ms-flexbox;
    display: flex;
  }

  .side-header .header-wrap-clone {
    display: none;
  }

  .side-header .header-row {
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .side-header #logo {
    margin: 3rem 0;
    width: 100%;
  }

  .side-header #logo img {
    max-width: 100%;
  }

  .side-header .header-misc {
    width: 100%;
    margin: 0;
  }

  .side-header .primary-menu {
    margin-bottom: 30px;
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
    width: 100%;
  }

  .side-header .primary-menu:not(.border-bottom-0)::after {
    margin-top: 40px;
  }

  .side-header .menu-container {
    display: block;
    height: auto;
    width: 100%;
  }

  .no-triggers .menu-container .sub-menu-trigger {
    display: none;
  }

  .side-header .on-click .menu-item .sub-menu-trigger {
    display: block;
    top: 0;
    right: -5px;
    font-size: 10px;
  }

  .side-header .primary-menu:not(.on-click) .text-center i.icon-angle-down {
    display: inline-block;
    position: relative;
    top: 2px;
    margin-left: 5px;
    transform: none;
  }

  .side-header
    .primary-menu:not(.on-click)
    .text-center
    .sub-menu-container
    i.icon-angle-down {
    top: -1px;
  }

  .side-header .menu-item {
    width: 100%;
  }

  .side-header .menu-item:not(:first-child) {
    margin: 10px 0 0;
    border-top: 0;
  }

  .side-header .menu-link {
    position: relative;
    padding: 5px 0 !important;
    margin: 0 !important;
    text-transform: uppercase;
  }

  .side-header .sub-menu-container,
  .side-header .mega-menu-content {
    position: relative;
    width: 100%;
    background-color: transparent;
    box-shadow: none;
    border: none;
    height: auto;
    z-index: 1;
    top: 0;
    left: 0;
    margin: 5px 0;
    padding: 0 0 0 12px !important;
  }

  .side-header .mega-menu-content {
    padding: 0 !important;
    margin-bottom: 0 !important;
  }

  .side-header .mega-menu-column {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    border: none !important;
  }

  .side-header .sub-menu-container .sub-menu-container {
    top: 0 !important;
    left: 0;
  }

  .side-header .sub-menu-container.menu-pos-invert {
    left: 0;
    right: auto;
  }

  .side-header .sub-menu-container .sub-menu-container.menu-pos-invert {
    right: auto;
  }

  .side-header .sub-menu-container .menu-item {
    margin: 0;
    border: 0;
  }

  .side-header .sub-menu-container .menu-item:first-child {
    border-top: 0;
  }

  .side-header .menu-item:hover > .menu-link {
    background-color: transparent !important;
  }

  .side-header .menu-container > .menu-item.sub-menu > .menu-link,
  .side-header .menu-container > .menu-item.sub-menu:hover > .menu-link {
    background-image: none !important;
  }

  /* Side Header - Push Header
	-----------------------------------------------------------------*/

  .side-header.open-header.push-wrapper {
    overflow-x: hidden;
  }

  .side-header.open-header #header {
    left: -260px;
  }

  .side-header.open-header.side-header-open #header {
    left: 0;
  }

  .side-header.open-header #wrapper {
    left: 0;
  }

  .side-header.open-header.push-wrapper.side-header-open #wrapper {
    left: 260px;
  }

  #header-trigger {
    display: none;
  }

  .side-header.open-header #header-trigger {
    display: block;
    position: fixed;
    cursor: pointer;
    top: 20px;
    left: 20px;
    z-index: 11;
    font-size: 1rem;
    width: 32px;
    height: 32px;
    line-height: 32px;
    background-color: #fff;
    text-align: center;
    border-radius: 2px;
  }

  .side-header.open-header.side-header-open #header-trigger {
    left: 280px;
  }

  .side-header.open-header #header-trigger i:nth-child(1),
  .side-header.open-header.side-header-open #header-trigger i:nth-child(2) {
    display: block;
  }

  .side-header.open-header.side-header-open #header-trigger i:nth-child(1),
  .side-header.open-header #header-trigger i:nth-child(2) {
    display: none;
  }

  .side-header.open-header #header,
  .side-header.open-header #header-trigger,
  .side-header.open-header.push-wrapper #wrapper {
    -webkit-transition: left 0.4s ease;
    -o-transition: left 0.4s ease;
    transition: left 0.4s ease;
  }

  /* Side Header - Right Aligned
	-----------------------------------------------------------------*/

  .side-header.side-header-right #header {
    left: auto;
    right: 0;
    border: none;
    border-left: 1px solid #eee;
  }

  .side-header.side-header-right:not(.open-header) #wrapper {
    margin: 0 260px 0 0 !important;
  }

  .side-header.side-header-right.open-header #header {
    left: auto;
    right: -260px;
  }

  .side-header.side-header-right.open-header.side-header-open #header {
    left: auto;
    right: 0;
  }

  .side-header.side-header-right.open-header.push-wrapper.side-header-open
    #wrapper {
    left: -260px;
  }

  .side-header.side-header-right.open-header #header-trigger {
    left: auto;
    right: 20px;
  }

  .side-header.side-header-right.open-header.side-header-open #header-trigger {
    left: auto;
    right: 280px;
  }

  .side-header.side-header-right.open-header #header,
  .side-header.side-header-right.open-header #header-trigger {
    -webkit-transition: right 0.4s ease;
    -o-transition: right 0.4s ease;
    transition: right 0.4s ease;
  }

  /* Primary Menu - Overlay Menu
	-----------------------------------------------------------------*/

  .overlay-menu:not(.top-search-open) #primary-menu-trigger {
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
    pointer-events: auto;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }

  .overlay-menu .primary-menu > #overlay-menu-close {
    position: fixed;
    top: 25px;
    left: auto;
    right: 25px;
    width: 48px;
    height: 48px;
    line-height: 48px;
    font-size: 1.5rem;
    text-align: center;
    color: #444;
  }

  .overlay-menu #primary-menu-trigger {
    z-index: 599;
  }

  .overlay-menu .primary-menu {
    position: fixed;
    top: 0;
    left: 0;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    width: 100%;
    height: 100%;
    height: calc(100vh);
    background-color: rgba(255, 255, 255, 0.95);
  }

  .overlay-menu .primary-menu,
  .overlay-menu .primary-menu > #overlay-menu-close {
    opacity: 0 !important;
    pointer-events: none;
    z-index: -2;
    -webkit-transform: translateY(-80px);
    transform: translateY(-80px);
    -webkit-transition: opacity 0.4s ease, transform 0.45s ease !important;
    transition: opacity 0.4s ease, transform 0.45s ease !important;
  }

  .overlay-menu.primary-menu-open .primary-menu,
  .overlay-menu.primary-menu-open #overlay-menu-close {
    opacity: 1 !important;
    pointer-events: auto;
    z-index: 499;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: opacity 0.3s ease, transform 0.45s ease !important;
    transition: opacity 0.3s ease, transform 0.45s ease !important;
  }

  .overlay-menu .primary-menu,
  .overlay-menu.primary-menu-open .primary-menu {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
    -webkit-transition: opacity 0.3s ease !important;
    transition: opacity 0.3s ease !important;
  }

  .overlay-menu .primary-menu > .container {
    max-height: 90%;
    overflow-y: scroll;
  }

  .overlay-menu .menu-container {
    display: -ms-flexbox !important;
    display: flex !important;
    flex-direction: column;
    max-width: 250px;
    padding: 0 !important;
    margin: 0 auto !important;
    border: 0 !important;
  }

  .overlay-menu .menu-container > .menu-item > .menu-link {
    font-size: 0.9375rem;
  }

  .overlay-menu .menu-item {
    width: 100%;
  }

  .overlay-menu .menu-link {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
  }

  .overlay-menu .sub-menu-container,
  .overlay-menu .mega-menu-content {
    display: none;
    position: relative;
    top: 0 !important;
    left: 0 !important;
    right: auto;
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    background: transparent;
    border: 0;
    padding: 10px 0 !important;
    transform: translateX(0);
  }

  .overlay-menu .mega-menu-content .sub-menu-container {
    padding: 5px 0 !important;
  }

  .overlay-menu .mega-menu-title .sub-menu-container {
    padding-top: 0 !important;
  }

  .overlay-menu .mega-menu-content .mega-menu-column {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    border: 0 !important;
  }

  .overlay-menu .sub-menu-container .menu-link {
    padding: 5px 0;
  }

  .overlay-menu .sub-menu-container .menu-item:hover > .menu-link {
    padding-left: 0;
    padding-right: 0;
    background: transparent;
  }

  .overlay-menu .sub-menu-container .menu-link i.icon-angle-down {
    position: relative;
    display: inline-block;
    top: -1px;
    left: 0;
    margin-left: 5px;
    transform: rotate(0deg);
  }
}

@media (max-width: 991.98px) {
  .side-push-panel #side-panel-trigger-close a {
    display: block;
    position: absolute;
    z-index: 12;
    top: 0;
    left: auto;
    right: 0;
    width: 40px;
    height: 40px;
    font-size: 18px;
    line-height: 40px;
    color: #444;
    text-align: center;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 0 0 0 2px;
  }
}

/* ----------------------------------------------------------------
	Top Search
-----------------------------------------------------------------*/
.header-misc {
  position: initial;
  display: flex;
  align-items: center;
  margin-left: 15px;
}
.is-expanded-menu .header-misc {
  order: 6;
}
.header-misc-element,
.header-misc-icon {
  margin: 0 8px;
}
.header-misc-icon > a {
  display: flex;
  position: relative;
  width: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
  height: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
  font-size: calc(var(--cnvs-header-misc-icons-size));
  line-height: calc(var(--cnvs-header-misc-icons-size) + 0.125rem);
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--cnvs-header-misc-icons-color);
  transition: color 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .header-misc-icon > a {
    transition: none;
  }
}

.is-expanded-menu .header-misc:not([class*='order-']) {
  order: 6;
}

#top-search {
  transition: opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  #top-search {
    transition: none;
  }
}
#top-search a {
  z-index: 11;
}
#top-search a i {
  transition: opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  #top-search a i {
    transition: none;
  }
}

.top-search-open #top-search a i:nth-child(1),
#top-search a i:nth-child(2) {
  display: none;
}

.top-search-open #top-search a i:nth-child(2) {
  display: block;
  z-index: 11;
  font-size: 1.125rem;
}

.top-search-form {
  opacity: 0;
  z-index: -2;
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0 auto;
  top: 0;
  left: 0;
  right: 0;
  transition: opacity 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .top-search-form {
    transition: none;
  }
}
.top-search-open .top-search-form {
  opacity: 1;
  z-index: 10;
  pointer-events: auto;
}
.top-search-form input {
  box-shadow: none !important;
  border-radius: 0;
  border: 0;
  outline: 0 !important;
  font-size: 1.175rem;
  padding: 10px 80px 10px 0;
  height: 100%;
  background-color: transparent !important;
  color: var(--cnvs-primary-menu-color) !important;
  font-weight: 500;
  margin-top: 0 !important;
  font-family: var(--cnvs-primary-font);
}

@media (min-width: 992px) {
  .top-search-form input {
    font-size: var(--cnvs-top-search-font-size);
  }
  .full-header .top-search-form input,
  .container-fluid .top-search-form input,
  .container-sm .top-search-form input,
  .container-md .top-search-form input,
  .container-lg .top-search-form input,
  .container-xl .top-search-form input,
  .container-xxl .top-search-form input {
    padding-left: 30px;
  }
  .transparent-header:not(.sticky-header):not(.full-header):not(
      .floating-header
    )
    .top-search-form
    input {
    border-bottom: 2px solid var(--cnvs-header-transparent-border-color);
  }
}
.search-overlay .top-search-form {
  position: fixed;
  width: 100vw !important;
  height: 100vh;
  top: 0;
  left: 0;
  display: flex;
  background-color: var(--cnvs-contrast-0);
  align-items: center;
  justify-content: center;
}
.search-overlay .top-search-form input {
  max-width: 580px;
  margin: 0 auto;
  text-align: center;
  padding: 0 40px;
}

.top-search-form input::-moz-placeholder {
  color: var(--cnvs-top-search-placeholder);
  opacity: 1;
}

.top-search-form input:-ms-input-placeholder {
  color: var(--cnvs-top-search-placeholder);
  opacity: 1;
}

.top-search-form input::-webkit-input-placeholder {
  color: var(--cnvs-top-search-placeholder);
  opacity: 1;
}

.primary-menu .container .top-search-form input,
.sticky-header .top-search-form input {
  border: none !important;
}

/* Top Search Animation */
body:not(.top-search-open) .top-search-parent #logo,
body:not(.top-search-open) .top-search-parent .primary-menu,
body:not(.top-search-open)
  .top-search-parent
  .header-misc
  > *:not(#top-search) {
  opacity: 1;
  transition: padding 0.4s ease, margin 0.4s ease, opacity 0.2s 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  body:not(.top-search-open) .top-search-parent #logo,
  body:not(.top-search-open) .top-search-parent .primary-menu,
  body:not(.top-search-open)
    .top-search-parent
    .header-misc
    > *:not(#top-search) {
    transition: none;
  }
}

.top-search-open .top-search-parent #logo,
.top-search-open .top-search-parent .primary-menu,
.top-search-open .top-search-parent .header-misc > *:not(#top-search) {
  opacity: 0;
}

/* ----------------------------------------------------------------
	Top Cart
-----------------------------------------------------------------*/
.top-cart-number {
  --cnvs-top-cart-number-size: 1.125rem;
  display: block;
  position: absolute;
  top: -7px;
  left: auto;
  right: -8px;
  font-size: 0.625rem;
  color: #fff;
  width: var(--cnvs-top-cart-number-size);
  height: var(--cnvs-top-cart-number-size);
  line-height: var(--cnvs-top-cart-number-size);
  text-align: center;
  background-color: var(--cnvs-themecolor);
  opacity: 0.8;
  border-radius: 50%;
}
@media (min-width: 992px) {
  #top-cart {
    position: relative;
  }
}
.top-cart-content {
  position: fixed;
  top: 0;
  left: auto;
  width: 300px;
  background-color: var(--cnvs-primary-menu-submenu-bg);
  border: 0;
  box-shadow: 0px 20px 50px 10px rgba(0, 0, 0, 0.05);
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .top-cart-content {
    transition: none;
  }
}
@media (max-width: 991.98px) {
  .top-cart-content {
    right: 0 !important;
    transform: translate3d(300px, 0, 0);
    height: 100vh;
    z-index: -1;
  }
}
@media (min-width: 992px) {
  .top-cart-content {
    opacity: 0;
    position: absolute;
    width: 280px;
    border: 1px solid var(--cnvs-header-border-color);
    border-top: 2px solid var(--cnvs-themecolor);
    top: calc((var(--cnvs-sticky-header-height) + 20px) * 0.5);
    right: 0;
    margin: -10000px 0 0;
    z-index: auto;
    transition: opacity 0.5s ease, top 0.4s ease;
  }
}
@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .top-cart-content {
    transition: none;
  }
}
.top-cart-title {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--cnvs-header-border-color);
}
.top-cart-title h4,
.top-cart-title .h4 {
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.top-cart-items {
  padding: 1rem;
}
@media (min-width: 992px) {
  .top-cart-items {
    padding: 1rem;
  }
}
.top-cart-item,
.top-cart-action,
.top-cart-item-desc {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.top-cart-item {
  justify-content: flex-start;
}
.top-cart-item:not(:first-child) {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--cnvs-header-border-color);
}
.top-cart-item-image a,
.top-cart-item-image img {
  display: block;
  width: 60px;
  height: 60px;
}
.top-cart-item-image:hover {
  border-color: var(--cnvs-themecolor);
}
.top-cart-item-desc,
.top-cart-item-desc-title {
  padding-left: 1rem;
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}
.top-cart-item-desc {
  align-items: flex-start;
}
.top-cart-item-desc-title {
  padding-left: 0;
}
.top-cart-item-desc a {
  display: block;
  font-size: 0.875rem;
  line-height: 1.25rem;
  color: var(--cnvs-contrast-800);
  font-weight: 500;
  margin-bottom: 5px;
}
.top-cart-item-desc a:hover {
  color: var(--cnvs-themecolor);
}
.top-cart-item-price {
  font-size: 0.75rem;
  color: var(--cnvs-primary-menu-color);
}
.top-cart-item-quantity {
  padding-top: 5px;
  font-size: 0.75rem;
  line-height: 1.25rem;
  color: var(--cnvs-primary-menu-color);
}
.top-cart-action {
  align-items: center;
  padding: 1rem;
  border-top: 1px solid var(--cnvs-header-border-color);
}
.top-cart-action .top-checkout-price {
  font-size: 1.25rem;
  color: var(--cnvs-themecolor);
  font-weight: 500;
}
@media (max-width: 991.98px) {
  .top-cart-open .top-cart-content {
    transform: translate3d(0, 0, 0);
    z-index: 499;
  }
}
@media (min-width: 992px) {
  .top-cart-open .top-cart-content {
    opacity: 1;
    z-index: 399;
    margin-top: 0;
  }
}

/* ----------------------------------------------------------------
	Page Menu
-----------------------------------------------------------------*/
#page-menu {
  --cnvs-page-submenu-sticky-offset: var(--cnvs-header-height-shrink);
  --cnvs-page-submenu-link-size: 0.875rem;
  --cnvs-page-submenu-link-marging-x: 4px;
  --cnvs-page-submenu-link-marging-y: 10px;
  --cnvs-page-submenu-link-rounded: 14px;
  --cnvs-page-submenu-dropdown-width: 150px;
  --cnvs-page-submenu-trigger: 44px;
  --cnvs-page-dotsmenu-size: 10px;
  --cnvs-page-dotsmenu-gutters: 10px;
  --cnvs-page-dotsmenu-rounded: 50%;
  position: relative;
}
#page-menu-wrap {
  position: absolute;
  z-index: 199;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--cnvs-themecolor);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}
#page-menu.sticky-page-menu #page-menu-wrap {
  position: fixed;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

body:not(.is-expanded-pagemenu) #page-menu,
#header.no-sticky ~ #page-menu {
  --cnvs-page-submenu-sticky-offset: 0;
}

body:not(.is-expanded-pagemenu)
  #header[data-mobile-sticky='true']
  ~ #page-menu {
  --cnvs-page-submenu-sticky-offset: var(--cnvs-header-height);
}

#page-menu.sticky-page-menu:not(.dots-menu) #page-menu-wrap {
  top: var(--cnvs-page-submenu-sticky-offset);
}

#page-menu-trigger {
  opacity: 1;
  pointer-events: auto;
  top: 0;
  margin-top: 0;
  left: auto;
  right: 15px;
  width: var(--cnvs-page-submenu-trigger);
  height: var(--cnvs-page-submenu-trigger);
  line-height: var(--cnvs-page-submenu-trigger);
  color: #fff;
}

.page-menu-open #page-menu-trigger {
  background-color: rgba(105, 18, 18, 0.2);
}

.page-menu-row {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.page-menu-title {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 300;
  margin-right: auto;
}
.page-menu-title span {
  font-weight: 700;
}
.page-menu-nav {
  display: none;
  position: absolute;
  width: 200px;
  top: 100%;
  left: auto;
  right: 0;
  height: auto;
  background-color: var(--cnvs-themecolor);
}
.is-expanded-pagemenu .page-menu-nav {
  display: -ms-flex;
  display: flex;
  position: relative;
  width: auto;
  top: 0;
  left: 0;
  background-color: transparent !important;
  flex: 0 0 auto;
  flex-grow: 0;
}
#page-menu.page-menu-open .page-menu-nav {
  display: block;
}
.page-menu-nav .page-menu-container {
  margin: 0;
  list-style: none;
  background-color: rgba(0, 0, 0, 0.2);
}
.is-expanded-pagemenu .page-menu-nav .page-menu-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  list-style: none;
  background-color: transparent;
}
.page-menu-item {
  position: relative;
}
.page-menu-item > a {
  display: block;
  position: relative;
  line-height: 22px;
  padding: 11px 14px;
  color: var(--cnvs-white);
  font-size: var(--cnvs-page-submenu-link-size);
}
.is-expanded-pagemenu .page-menu-item > a {
  margin: var(--cnvs-page-submenu-link-marging-y)
    var(--cnvs-page-submenu-link-marging-x);
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: var(--cnvs-page-submenu-link-rounded);
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .is-expanded-pagemenu .page-menu-item > a {
    transition: none;
  }
}

.page-menu-item:hover > a,
.page-menu-item.current > a {
  background-color: rgba(0, 0, 0, 0.15);
}
.page-menu-sub-menu {
  display: none;
  background-color: rgba(0, 0, 0, 0.15);
  list-style: none;
  padding: 1px 10px 5px;
}
.is-expanded-pagemenu .page-menu-sub-menu {
  display: none;
  position: absolute;
  list-style: none;
  width: var(--cnvs-page-submenu-dropdown-width);
  top: 100%;
  left: 0;
  padding: 0;
  background-color: var(--cnvs-themecolor);
}
.page-menu-item:hover > .page-menu-sub-menu {
  display: block;
}
.page-menu-sub-menu .page-menu-item > a {
  margin: 5px 0;
  padding-top: 3px;
  padding-bottom: 3px;
  border-radius: 14px;
}
.is-expanded-pagemenu .page-menu-sub-menu .page-menu-item > a {
  height: auto;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  border-radius: 0;
  background-color: rgba(0, 0, 0, 0.15);
}

.is-expanded-pagemenu .page-menu-sub-menu li:hover a,
.is-expanded-pagemenu .page-menu-sub-menu li.current a {
  background-color: rgba(0, 0, 0, 0.3);
}

/* Page Menu - Dots Style
-----------------------------------------------------------------*/
.is-expanded-pagemenu #page-menu.dots-menu {
  position: fixed;
  top: 50%;
  right: 20px;
  width: 24px;
  line-height: 1.5;
  transform: translateY(-50%);
  z-index: 299;
}
.is-expanded-pagemenu #page-menu.dots-menu #page-menu-wrap {
  position: relative;
  top: 0 !important;
  box-shadow: none;
  background-color: transparent !important;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-wrap-clone {
  display: none;
}
.is-expanded-pagemenu #page-menu.dots-menu .container {
  padding: 0;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-title {
  display: none;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-nav {
  display: block;
  width: 100%;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-container {
  flex-direction: column;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item {
  width: var(--cnvs-page-dotsmenu-size);
  height: var(--cnvs-page-dotsmenu-size);
  margin: var(--cnvs-page-dotsmenu-gutters) 0;
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item > a {
  position: absolute;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  background-color: rgba(0, 0, 0, 0.4);
  border-radius: var(--cnvs-page-dotsmenu-rounded);
  color: var(--cnvs-contrast-600);
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item > a:hover {
  background-color: rgba(0, 0, 0, 0.7);
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item.current > a {
  background-color: var(--cnvs-themecolor);
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item div {
  position: absolute;
  width: auto;
  top: 50%;
  right: 25px;
  background-color: var(--cnvs-themecolor);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  padding: 6px 14px;
  white-space: nowrap;
  pointer-events: none;
  border-radius: 0.25rem;
  opacity: 0;
  transform: translateY(-50%);
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .is-expanded-pagemenu #page-menu.dots-menu .page-menu-item div {
    transition: none;
  }
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item div::after {
  position: absolute;
  content: '';
  top: 50%;
  left: auto;
  right: -5px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 6px solid var(--cnvs-themecolor);
  transform: translateY(-50%);
}
.is-expanded-pagemenu #page-menu.dots-menu .page-menu-item > a:hover div {
  opacity: 1;
  right: 30px;
}
.is-expanded-pagemenu #page-menu.dots-menu .dots-menu-border .page-menu-item {
  width: 12px;
  height: 12px;
}
.is-expanded-pagemenu
  #page-menu.dots-menu
  .dots-menu-border
  .page-menu-item
  > a {
  background-color: transparent !important;
  border: 3px solid rgba(0, 0, 0, 0.4);
}
.is-expanded-pagemenu
  #page-menu.dots-menu
  .dots-menu-border
  .page-menu-item
  > a:hover {
  border-color: rgba(0, 0, 0, 0.7);
}
.is-expanded-pagemenu
  #page-menu.dots-menu
  .dots-menu-border
  .page-menu-item.current
  > a {
  border-color: var(--cnvs-themecolor);
}

/* ----------------------------------------------------------------
	One Page
-----------------------------------------------------------------*/
.one-page-arrow {
  position: absolute;
  z-index: 3;
  bottom: 20px;
  left: 50%;
  margin-left: -1rem;
  width: 32px;
  height: 32px;
  font-size: 2rem;
  text-align: center;
  color: #222;
}

/* ----------------------------------------------------------------
	Side Push Panel
-----------------------------------------------------------------*/
.side-push-panel {
  overflow-x: hidden;
}

#side-panel {
  --cnvs-side-panel-bg: var(--cnvs-contrast-100);
  position: fixed;
  top: 0;
  right: calc(-1 * var(--cnvs-side-panel-size));
  z-index: 699;
  width: var(--cnvs-side-panel-size);
  height: 100%;
  background-color: var(--cnvs-side-panel-bg);
  overflow: hidden;
  -webkit-backface-visibility: hidden;
}
.side-panel-left #side-panel {
  left: calc(-1 * var(--cnvs-side-panel-size));
  right: auto;
}

.side-push-panel.stretched #wrapper,
.side-push-panel.stretched .sticky-header .container {
  position: relative;
  right: 0;
}

.side-panel-left.side-push-panel.stretched #wrapper,
.side-panel-left.side-push-panel.stretched .sticky-header .container {
  left: 0;
  right: auto;
}

#side-panel .side-panel-wrap {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: calc(var(--cnvs-side-panel-size) + 30px);
  height: 100%;
  overflow: auto;
  padding: var(--cnvs-side-panel-padding);
}
.device-touch #side-panel .side-panel-wrap {
  overflow-y: scroll;
}
#side-panel .widget {
  margin-top: var(--cnvs-side-panel-widget-padding);
  padding-top: var(--cnvs-side-panel-widget-padding);
  width: calc(var(--cnvs-side-panel-size) - 80px);
  border-top: 1px solid var(--cnvs-contrast-200);
}
#side-panel .widget:first-child {
  padding-top: 0;
  border-top: 0;
  margin: 0;
}
.side-panel-open #side-panel {
  right: 0;
}
.side-panel-left.side-panel-open #side-panel {
  left: 0;
  right: auto;
}

.side-push-panel.side-panel-open.stretched #wrapper,
.side-push-panel.side-panel-open.stretched .sticky-header .container {
  right: var(--cnvs-side-panel-size);
}

.side-push-panel.side-panel-open.stretched.device-xxl
  .slider-parallax
  .slider-inner,
.side-push-panel.side-panel-open.stretched.device-xl
  .slider-parallax
  .slider-inner,
.side-push-panel.side-panel-open.stretched.device-lg
  .slider-parallax
  .slider-inner {
  left: calc(-1 * var(--cnvs-side-panel-size));
}

.side-panel-left.side-push-panel.side-panel-open.stretched #wrapper,
.side-panel-left.side-push-panel.side-panel-open.stretched
  .sticky-header
  .container,
.side-panel-left.side-push-panel.side-panel-open.stretched .slider-inner {
  left: var(--cnvs-side-panel-size);
  right: auto;
}

#side-panel-trigger {
  display: block;
  cursor: pointer;
  z-index: 11;
  margin-right: 5px;
}
#side-panel-trigger-close a {
  display: none;
}

#side-panel,
.side-push-panel.stretched #wrapper,
.side-push-panel.stretched #header .container {
  transition: right 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  #side-panel,
  .side-push-panel.stretched #wrapper,
  .side-push-panel.stretched #header .container {
    transition: none;
  }
}

.side-panel-left #side-panel,
.side-panel-left.side-push-panel.stretched #wrapper,
.side-panel-left.side-push-panel.stretched #header .container,
.side-push-panel.stretched .slider-inner {
  transition: left 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  .side-panel-left #side-panel,
  .side-panel-left.side-push-panel.stretched #wrapper,
  .side-panel-left.side-push-panel.stretched #header .container,
  .side-push-panel.stretched .slider-inner {
    transition: none;
  }
}

.body-overlay {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: -1;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  transition: opacity 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .body-overlay {
    transition: none;
  }
}
.side-panel-open .body-overlay {
  opacity: 1;
  z-index: 599;
  pointer-events: auto;
}

.side-panel-open:not(.device-xs):not(.device-sm):not(.device-md)
  .body-overlay:hover {
  cursor: url('images/icons/close.png') 15 15, default;
}

/* ----------------------------------------------------------------

	slider.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Flex Slider
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-slider-caption-font-color: var(--cnvs-contrast-800);
  --cnvs-slider-arrows-bg-color: rgba(0, 0, 0, 0.3);
  --cnvs-slider-arrows-bg-hover-color: rgba(0, 0, 0, 0.6);
  --cnvs-slider-arrow-color: var(--bs-gray-100);
  --cnvs-owl-dots-slider-color: #fff;
}

:root {
  --cnvs-fslider-dots-position-top: 14px;
  --cnvs-fslider-dots-position-right: 10px;
  --cnvs-fslider-dots-size: 0.625rem;
  --cnvs-fslider-dots-border-color: #fff;
  --cnvs-fslider-dots-border-radius: 50%;
  --cnvs-fslider-thumbs-gutters: 2px;
  --cnvs-fslider-thumbs-width: 100px;
  --cnvs-canvas-slider-dots-size: 0.625rem;
  --cnvs-slider-pagination-gutters: 4px;
  --cnvs-slider-pagination-rounded: 50%;
  --cnvs-swiper-dots-position-bottom: 20px;
  --cnvs-slider-caption-width: 550px;
  --cnvs-slider-caption-font-size: 1.375rem;
  --cnvs-slider-caption-font-weight: 300;
  --cnvs-slider-caption-transition: top 0.3s ease;
  --cnvs-slider-caption-p-size: 1.5rem;
  --cnvs-slider-caption-offset: 50px;
  --cnvs-slider-caption-bg-light: rgba(255, 255, 255, 0.8);
  --cnvs-slider-caption-bg-dark: rgba(0, 0, 0, 0.6);
  --cnvs-slider-caption-bg-radius: 2px;
  --cnvs-slider-caption-bg-padding: 5px 12px;
  --cnvs-slider-arrows-size: 52px;
  --cnvs-slider-arrows-sm-size: calc(var(--cnvs-slider-arrows-size) - 20px);
  --cnvs-slider-arrows-border-radius: 0.25rem;
  --cnvs-slider-arrow-sm-offset: 20px;
  --cnvs-owl-dots-slider-position: top auto bottom 15px;
}

.fslider,
.fslider .flexslider,
.fslider .slider-wrap,
.fslider .slide,
.fslider .slide > a,
.fslider .slide > img,
.fslider .slide > a > img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
}

.fslider.h-100 .flexslider,
.fslider.h-100 .flex-viewport,
.fslider.h-100 .slider-wrap,
.fslider.h-100 .slide,
.fslider.h-100 .slide > a,
.fslider.h-100 .slide > a > img {
  height: 100% !important;
}
.fslider.h-100 .slide > a > img {
  -o-object-fit: cover;
  object-fit: cover;
}

.fslider {
  min-height: 32px;
}

.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus {
  outline: none;
  border: none;
}

.slider-wrap,
.flex-control-nav,
.flex-direction-nav {
  margin: 0;
  padding: 0;
  list-style: none;
  border: none;
}

.flexslider {
  position: relative;
  margin: 0;
  padding: 0;
}
.flexslider .slider-wrap > .slide {
  display: none;
  -webkit-backface-visibility: hidden;
}

.flexslider .slider-wrap img {
  width: 100%;
  display: block;
}

.flex-pauseplay span {
  text-transform: capitalize;
}

.slider-wrap::after {
  content: ' ';
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

html[xmlns] .slider-wrap {
  display: block;
}

* html .slider-wrap {
  height: 1%;
}

.no-js .slider-wrap > .slide:first-child {
  display: block;
}

.flex-viewport {
  max-height: 2000px;
  transition: all 1s ease;
}
@media (prefers-reduced-motion: reduce) {
  .flex-viewport {
    transition: none;
  }
}

/* ----------------------------------------------------------------
	Slider
-----------------------------------------------------------------*/
.slider-element {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.slider-parallax {
  position: relative;
}

.slider-parallax,
.slider-parallax .swiper {
  visibility: visible;
  -webkit-backface-visibility: hidden;
}

.slider-inner {
  position: absolute;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.slider-parallax .slider-inner {
  position: fixed;
}

.h-auto:not(.slider-parallax) .slider-inner,
.h-auto .swiper,
.min-vh-0:not(.slider-parallax) .slider-inner,
.min-vh-0 .swiper {
  position: relative !important;
  height: auto !important;
}

.slider-parallax-invisible .slider-inner {
  opacity: 0;
  visibility: hidden;
}

@media (min-width: 992px) {
  .h-auto .swiper-wrapper,
  .min-vh-0 .swiper-wrapper {
    height: 75vh;
  }
}
.slider-inner.slider-inner-relative {
  position: relative !important;
  height: auto !important;
}

.device-touch .slider-parallax .slider-inner {
  position: relative;
}

body:not(.side-header) .slider-parallax .slider-inner {
  left: 0;
}

body:not(.stretched) .slider-parallax .slider-inner {
  left: auto;
}

.slider-parallax .slider-inner,
.slider-parallax .slider-caption {
  will-change: transform;
  backface-visibility: hidden;
  transition: transform 0s cubic-bezier(0.14, 0.15, 0.13, 0.99);
}
@media (prefers-reduced-motion: reduce) {
  .slider-parallax .slider-inner,
  .slider-parallax .slider-caption {
    transition: none;
  }
}

.scroll-detect .slider-inner {
  transform: translate3d(0px, calc(400px * var(--cnvs-scroll-end)), 0px);
  backface-visibility: hidden;
  will-change: transform;
}

.scroll-detect .slider-caption {
  transform: translate3d(0px, calc(100px * var(--cnvs-scroll-end)), 0px);
  backface-visibility: hidden;
  opacity: calc(1 * var(--cnvs-scroll-ratio));
  will-change: transform;
}

@media (max-width: 991.98px) {
  #slider {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
  }
  #slider .slider-inner {
    position: relative;
    display: flex;
    flex-grow: 1;
    align-items: center;
  }
}
/* Boxed Slider
-----------------------------------------------------------------*/
.boxed-slider {
  padding-top: 40px;
}

/* Swiper Slider
-----------------------------------------------------------------*/
.swiper_wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.full-screen .swiper_wrapper {
  height: auto;
}
.swiper_wrapper .swiper {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: 0;
}
.swiper_wrapper .swiper-slide {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.swiper_wrapper .swiper-slide [data-caption-animate] {
  -webkit-backface-visibility: hidden;
}

.swiper-slide-bg {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.slider-element .video-wrap,
.section .video-wrap,
.swiper-slide .yt-bg-player,
.section .yt-bg-player,
.swiper-slide-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
}

.yt-bg-player .inlinePlayButton,
.yt-bg-player .loading {
  display: none !important;
}

.slider-element .container,
.slider-element .container-fluid,
.slider-element .container-sm,
.slider-element .container-md,
.slider-element .container-lg,
.slider-element .container-xl,
.slider-element .container-xxl {
  position: relative;
  height: 100%;
}

.slider-element.canvas-slider .swiper-slide img {
  width: 100%;
}

.slider-element.canvas-slider a {
  display: block;
  height: 100%;
}

.swiper-pagination {
  position: absolute;
  width: 100%;
  z-index: 20;
  margin: 0;
  top: auto;
  bottom: var(--cnvs-swiper-dots-position-bottom) !important;
  text-align: center;
  line-height: 1;
}
.swiper-pagination span {
  display: inline-block;
  cursor: pointer;
  width: var(--cnvs-canvas-slider-dots-size);
  height: var(--cnvs-canvas-slider-dots-size);
  margin: 0 var(--cnvs-slider-pagination-gutters);
  opacity: 1;
  background-color: transparent;
  border: 1px solid var(--cnvs-slider-arrow-color);
  border-radius: var(--cnvs-slider-pagination-rounded);
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .swiper-pagination span {
    transition: none;
  }
}
.swiper-pagination span:hover,
.swiper-pagination span.swiper-pagination-bullet-active {
  background-color: var(--cnvs-slider-arrow-color) !important;
}

/* Video Overlay
-----------------------------------------------------------------*/
.video-wrap {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.video-wrap video {
  position: relative;
  z-index: 1;
  opacity: 1;
  width: 100%;
  transition: opacity 0.3s 1s ease;
}
@media (prefers-reduced-motion: reduce) {
  .video-wrap video {
    transition: none;
  }
}
body:not(.has-plugin-html5video) .video-wrap video {
  opacity: 0;
}

.video-overlay,
.video-placeholder {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 5;
  background: transparent url('images/grid.png') repeat;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
}

.video-placeholder {
  z-index: 4;
  background-repeat: no-repeat !important;
}

/* Slider Caption
-----------------------------------------------------------------*/
.slider-caption,
.flex-caption {
  --cnvs-slider-caption-font-color: var(--cnvs-contrast-800);
  position: relative;
  display: flex;
  height: 100%;
  flex-flow: column;
  justify-content: center;
  z-index: 20;
  max-width: var(--cnvs-slider-caption-width);
  color: var(--cnvs-slider-caption-font-color);
  font-size: var(--cnvs-slider-caption-font-weight);
  font-weight: var(--cnvs-slider-caption-font-weight);
  transition: top 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .slider-caption,
  .flex-caption {
    transition: none;
  }
}

.slider-caption h2,
.slider-caption .h2 {
  color: var(--cnvs-slider-caption-font-color);
  text-shadow: none;
}
.slider-caption h2,
.slider-caption .h2 {
  font-size: 4.5rem;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .slider-caption h2,
  .slider-caption .h2 {
    font-size: 5.5vw;
  }
}
.slider-caption p {
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  font-size: var(--cnvs-slider-caption-p-size);
}
@media (max-width: 767.98px) {
  .slider-caption p {
    font-size: 2.6vw;
  }
}

.slider-caption.slider-caption-right {
  margin-left: auto;
}

.slider-caption.slider-caption-center {
  position: relative;
  max-width: 800px;
  text-align: center;
  margin: 0 auto;
  left: 0;
  right: 0;
}

.slider-caption-bg {
  padding: var(--cnvs-slider-caption-bg-padding);
  border-radius: var(--cnvs-slider-caption-bg-radius);
  background-color: var(--cnvs- slider-caption-bg-dark);
  top: auto;
  bottom: var(--cnvs-slider-caption-offset);
  left: var(--cnvs-slider-caption-offset);
}

.slider-caption-bg.slider-caption-bg-light {
  background-color: var(--cnvs-slider-caption-bg-light);
  color: var(--cnvs-contrast-900);
  font-weight: 400;
  text-shadow: none;
}

.slider-caption-top-left {
  top: var(--cnvs-slider-caption-offset);
  bottom: auto;
}

.slider-caption-top-right {
  top: var(--cnvs-slider-caption-offset);
  bottom: auto;
  left: auto;
  right: var(--cnvs-slider-caption-offset);
}

.slider-caption-bottom-right {
  left: auto;
  right: var(--cnvs-slider-caption-offset);
}

/* Slider Arrows
-----------------------------------------------------------------*/
.slider-element .owl-carousel {
  margin: 0;
}

.slider-arrow-left,
.slider-arrow-right,
.flex-prev,
.flex-next,
.slider-arrow-top-sm,
.slider-arrow-bottom-sm {
  position: absolute;
  cursor: pointer;
  z-index: 10;
  top: 50%;
  left: 0;
  background-color: var(--cnvs-slider-arrows-bg-color);
  width: var(--cnvs-slider-arrows-size);
  height: var(--cnvs-slider-arrows-size);
  border: 0;
  border-radius: 0 var(--cnvs-slider-arrows-border-radius)
    var(--cnvs-slider-arrows-border-radius) 0;
  transform: translateY(-50%);
  transition: background-color 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .slider-arrow-left,
  .slider-arrow-right,
  .flex-prev,
  .flex-next,
  .slider-arrow-top-sm,
  .slider-arrow-bottom-sm {
    transition: none;
  }
}

.slider-arrow-top-sm,
.slider-arrow-bottom-sm {
  top: auto;
  bottom: 57px;
  left: auto;
  right: var(--cnvs-slider-arrow-sm-offset);
  margin: 0;
  width: var(--cnvs-slider-arrows-sm-size);
  height: var(--cnvs-slider-arrows-sm-size);
  border-radius: var(--cnvs-slider-arrows-border-radius)
    var(--cnvs-slider-arrows-border-radius) 0 0;
}

.slider-arrow-bottom-sm {
  bottom: var(--cnvs-slider-arrow-sm-offset);
  border-radius: 0 0 var(--cnvs-slider-arrows-border-radius)
    var(--cnvs-slider-arrows-border-radius);
}

.fslider[data-thumbs='true'] .flex-prev,
.fslider[data-thumbs='true'] .flex-next {
  margin-top: calc(-1 * var(--cnvs-slider-arrow-sm-offset));
}

.slider-arrow-right,
.slider-element .owl-next,
.flex-next {
  left: auto;
  right: 0;
  border-radius: var(--cnvs-slider-arrows-border-radius) 0 0
    var(--cnvs-slider-arrows-border-radius);
}

.slider-arrow-left i,
.slider-arrow-right i,
.flex-prev i,
.flex-next i,
.slider-arrow-top-sm i,
.slider-arrow-bottom-sm i {
  line-height: var(--cnvs-slider-arrows-size);
  width: 100%;
  height: 100%;
  color: var(--cnvs-slider-arrow-color);
  font-size: calc(var(--cnvs-slider-arrows-size) / 1.75);
  text-align: center;
  transition: color 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .slider-arrow-left i,
  .slider-arrow-right i,
  .flex-prev i,
  .flex-next i,
  .slider-arrow-top-sm i,
  .slider-arrow-bottom-sm i {
    transition: none;
  }
}

.slider-arrow-top-sm i,
.slider-arrow-bottom-sm i {
  width: var(--cnvs-slider-arrows-sm-size);
  height: var(--cnvs-slider-arrows-sm-size);
  margin: 0;
  line-height: calc(var(--cnvs-slider-arrows-sm-size) - 2px);
  font-size: 18px;
  color: var(--cnvs-owl-dots-slider-color);
}

.slider-element .owl-prev i {
  margin-left: 0;
}

.slider-element .owl-next i {
  margin-right: 4px;
}

.slider-arrow-left:hover,
.slider-arrow-right:hover,
.flex-prev:hover,
.flex-next:hover,
.slider-arrow-top-sm:hover,
.slider-arrow-bottom-sm:hover {
  background-color: var(--cnvs-slider-arrows-bg-hover-color) !important;
}

/* Slide Number
-----------------------------------------------------------------*/
.slide-number {
  position: absolute;
  opacity: 0;
  top: auto;
  right: 20px;
  bottom: 20px;
  z-index: 20;
  width: 36px;
  height: 40px;
  text-align: center;
  color: white;
  font-size: 1.125rem;
  font-weight: 300;
  transition: all 0.3s linear;
}
@media (prefers-reduced-motion: reduce) {
  .slide-number {
    transition: none;
  }
}

.slider-element:hover .slide-number {
  opacity: 1;
}

.slide-number-current,
.slide-number-total {
  position: absolute;
  line-height: 1;
  top: 5px;
  left: 0;
}

.slide-number-total {
  top: auto;
  bottom: 5px;
  left: auto;
  right: 0;
}

.slide-number span {
  display: block;
  font-size: 32px;
  line-height: 40px;
}

/* Pagination
-----------------------------------------------------------------*/
.slider-element .owl-dots {
  position: absolute;
  width: 100%;
  z-index: 20;
  margin: 0;
  top: auto;
  bottom: 15px;
}

.slider-element .owl-dots button {
  width: var(--cnvs-canvas-slider-dots-size);
  height: var(--cnvs-canvas-slider-dots-size);
  margin: 0 var(--cnvs-slider-pagination-gutters);
  opacity: 1 !important;
  background-color: transparent !important;
  border: var(--cnvs-owl-nav-border) !important;
}

.slider-element .owl-dots .owl-dot.active,
.slider-element .owl-dots .owl-dot:hover {
  background-color: var(--cnvs-owl-nav-background) !important;
}

/* Flex Slider - Navigation
-----------------------------------------------------------------*/
.nav-offset .flex-prev,
.nav-offset .flex-next {
  border-radius: 3px;
}

.nav-offset .flex-prev {
  left: 20px;
}

.nav-offset .flex-next {
  right: 20px;
}

.nav-circle .flex-prev,
.nav-circle .flex-next {
  border-radius: 50%;
}

.nav-solid .flex-prev,
.nav-solid .flex-next {
  opacity: 1;
  background-color: var(--cnvs-slider-arrow-color);
}

.nav-solid .flex-prev:hover,
.nav-solid .flex-next:hover {
  background-color: #333 !important;
}

.nav-solid .flex-prev:not(:hover) i,
.nav-solid .flex-next:not(:hover) i {
  color: #444;
  text-shadow: none;
}

.nav-size-sm .flex-prev,
.nav-size-sm .flex-next {
  width: var(--cnvs-slider-arrows-sm-size);
  height: var(--cnvs-slider-arrows-sm-size);
}

.nav-size-sm .flex-prev i,
.nav-size-sm .flex-next i {
  line-height: var(--cnvs-slider-arrows-sm-size);
  font-size: 1.5rem;
}

.fslider[class*='nav-pos-'] .flex-prev,
.fslider[class*='nav-pos-'] .flex-next {
  position: relative;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 5px;
  transform: none;
}

.fslider.nav-size-sm[class*='nav-pos-'] .flex-prev,
.fslider.nav-size-sm[class*='nav-pos-'] .flex-next {
  margin: 0 3px;
}

.fslider[class*='nav-pos-'] .flex-direction-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 100%;
}

.nav-pos-top .flex-direction-nav,
.nav-pos-top-left .flex-direction-nav,
.nav-pos-top-right .flex-direction-nav {
  top: 20px;
  left: 0;
}

.nav-pos-bottom .flex-direction-nav,
.nav-pos-bottom-left .flex-direction-nav,
.nav-pos-bottom-right .flex-direction-nav {
  top: auto;
  bottom: 20px;
}

.nav-pos-top-left .flex-direction-nav,
.nav-pos-bottom-left .flex-direction-nav {
  width: auto !important;
  left: 16px;
}

.nav-pos-top-right .flex-direction-nav,
.nav-pos-bottom-right .flex-direction-nav {
  width: auto !important;
  left: auto;
  right: 16px;
}

/* Flex Slider - Pagination & Thumbs
-----------------------------------------------------------------*/
.fslider[data-animation='fade'][data-thumbs='true'] .flexslider,
.fslider.testimonial[data-animation='fade'] .flexslider {
  height: auto !important;
}

.flex-control-nav {
  display: flex;
  position: absolute;
  align-items: center;
  justify-content: center;
  width: auto;
  z-index: 10;
  text-align: center;
  top: var(--cnvs-fslider-dots-position-top);
  right: var(--cnvs-fslider-dots-position-right);
  margin: 0;
}

.flex-control-nav li {
  display: block;
  margin: 0 var(--cnvs-slider-pagination-gutters);
  width: var(--cnvs-fslider-dots-size);
  height: var(--cnvs-fslider-dots-size);
}

.flex-control-nav li a {
  display: block;
  cursor: pointer;
  text-indent: -9999px;
  width: 100% !important;
  height: 100% !important;
  border: 1px solid var(--cnvs-fslider-dots-border-color);
  color: transparent;
  border-radius: var(--cnvs-fslider-dots-border-radius);
  transition: 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .flex-control-nav li a {
    transition: none;
  }
}

.flex-control-nav li:hover a,
.flex-control-nav li a.flex-active {
  background-color: var(--cnvs-fslider-dots-border-color);
}

.control-solid .flex-control-nav li a {
  border: none;
  background-color: var(--cnvs-fslider-dots-border-color);
}

.control-solid .flex-control-nav li:hover a,
.control-solid .flex-control-nav li a.flex-active {
  background-color: var(--cnvs-themecolor);
}

.control-square .flex-control-nav li a {
  border-radius: 3px;
}

.control-diamond .flex-control-nav li a {
  border-radius: 3px;
  transform: rotate(45deg);
}

/* Flex Slider: Pagination Positions
-----------------------------------------------------------------*/
.control-offset-lg .flex-control-nav {
  top: calc(var(--cnvs-fslider-dots-position-top10));
  right: calc(var(--cnvs-fslider-dots-position-right10));
}

.control-pos-top-left .flex-control-nav,
.control-pos-bottom-left .flex-control-nav {
  left: var(--cnvs-fslider-dots-position-right);
  right: auto;
}

.control-offset-lg.control-pos-top-left .flex-control-nav,
.control-offset-lg.control-pos-bottom-left .flex-control-nav {
  left: calc(var(--cnvs-fslider-dots-position-right10));
}

.control-pos-bottom-right .flex-control-nav,
.control-pos-bottom-left .flex-control-nav,
.control-pos-bottom .flex-control-nav,
.control-pos-bottom .flex-control-nav {
  top: auto;
  bottom: var(--cnvs-fslider-dots-position-top);
}

.control-offset-lg.control-pos-bottom-right .flex-control-nav,
.control-offset-lg.control-pos-bottom-left .flex-control-nav,
.control-offset-lg.control-pos-bottom .flex-control-nav,
.control-offset-lg.control-pos-bottom .flex-control-nav {
  bottom: calc(var(--cnvs-fslider-dots-position-top10));
}

.control-pos-bottom .flex-control-nav,
.control-pos-bottom .flex-control-nav,
.control-pos-top .flex-control-nav,
.control-pos-top .flex-control-nav {
  width: 100%;
  right: 0;
}

.control-size-lg .flex-control-nav li {
  width: 0.9325rem;
  height: 0.9325rem;
  margin: 0 5px;
}

/* Flex Slider: Thumbs
-----------------------------------------------------------------*/
.flex-control-nav.flex-control-thumbs {
  position: relative;
  justify-content: left;
  top: 0;
  left: 0;
  right: 0;
  margin: var(--cnvs-fslider-thumbs-gutters)
    calc(-1 * var(--cnvs-fslider-thumbs-gutters))
    calc(-1 * var(--cnvs-fslider-thumbs-gutters)) 0;
  height: auto;
}

.flex-control-nav.flex-control-thumbs li {
  margin: 0 var(--cnvs-fslider-thumbs-gutters)
    var(--cnvs-fslider-thumbs-gutters) 0;
}

.flex-control-nav.flex-control-thumbs li img {
  cursor: pointer;
  text-indent: -9999px;
  border: 0;
  border-radius: 0;
  margin: 0;
  opacity: 0.5;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .flex-control-nav.flex-control-thumbs li img {
    transition: none;
  }
}

.flex-control-nav.flex-control-thumbs li,
.flex-control-nav.flex-control-thumbs li img {
  display: block;
  width: var(--cnvs-fslider-thumbs-width) !important;
  height: auto !important;
}

.flex-control-nav.flex-control-thumbs li:hover img,
.flex-control-nav.flex-control-thumbs li img.flex-active {
  border-width: 0;
  opacity: 1;
}

/* FlexSlider: Thumbs - Flexible
-----------------------------------------------------------------*/
.fslider.flex-thumb-grid .flex-control-nav.flex-control-thumbs {
  margin: var(--cnvs-fslider-thumbs-gutters)
    calc(-1 * var(--cnvs-fslider-thumbs-gutters))
    calc(-1 * var(--cnvs-fslider-thumbs-gutters)) 0;
  height: auto;
  display: flex;
  flex-wrap: wrap;
}

.fslider.flex-thumb-grid .flex-control-nav.flex-control-thumbs li {
  flex-shrink: 0;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto !important;
  margin: 0;
  padding: 0 var(--cnvs-fslider-thumbs-gutters)
    var(--cnvs-fslider-thumbs-gutters) 0;
}

.fslider.flex-thumb-grid .flex-control-nav.flex-control-thumbs li {
  width: 25% !important;
}

.fslider.flex-thumb-grid.grid-3 .flex-control-nav.flex-control-thumbs li {
  width: 33.3333333333% !important;
}

.fslider.flex-thumb-grid.grid-5 .flex-control-nav.flex-control-thumbs li {
  width: 20% !important;
}

.fslider.flex-thumb-grid.grid-6 .flex-control-nav.flex-control-thumbs li {
  width: 16.6666666667% !important;
}

.fslider.flex-thumb-grid.grid-8 .flex-control-nav.flex-control-thumbs li {
  width: 12.5% !important;
}

.fslider.flex-thumb-grid.grid-10 .flex-control-nav.flex-control-thumbs li {
  width: 10% !important;
}

.fslider.flex-thumb-grid.grid-12 .flex-control-nav.flex-control-thumbs li {
  width: 8.3333333333% !important;
}

.fslider.flex-thumb-grid .flex-control-nav.flex-control-thumbs li img {
  width: 100% !important;
  height: auto !important;
}

/* ----------------------------------------------------------------
	pagetitle.scss
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Page Title
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-page-title-bg: var(--cnvs-contrast-bg-offset);
  --cnvs-page-title-color: var(--cnvs-contrast-900);
  --cnvs-page-title-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
}

#page-title,
.page-title {
  --cnvs-page-title-padding: 4rem;
  --cnvs-page-title-parallax-padding: 6.25rem;
  --cnvs-page-title-mini-padding: 1.5rem;
  --cnvs-page-title-bg: var(--cnvs-contrast-bg-offset);
  --cnvs-page-title-color: var(--cnvs-contrast-900);
  --cnvs-page-title-font-size: 2.25rem;
  --cnvs-page-title-font-weight: 500;
  --cnvs-page-title-spacing: 0;
  --cnvs-page-title-subtitle-size: 1.125rem;
  --cnvs-page-title-parallax-font-size: calc(2rem + 1vw);
  --cnvs-page-title-parallax-subtitle-size: 1.25rem;
  --cnvs-page-title-mini-size: 1.25rem;
  --cnvs-page-title-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-page-title-center-mx-width: 48rem;
  position: relative;
  padding: var(--cnvs-page-title-padding) 0;
  background-color: var(--cnvs-page-title-bg);
  border-bottom: 1px solid var(--cnvs-page-title-border-color);
}
@media (max-width: 767.98px) {
  #page-title,
  .page-title {
    --cnvs-page-title-padding: 3rem;
    text-align: center;
  }
}

.page-title-row {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .page-title-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
  }
}

.page-title-content {
  text-align: center;
}
@media (min-width: 768px) {
  .page-title-content {
    text-align: left;
  }
}
.page-title-content h1,
.page-title-content .h1 {
  padding: 0;
  margin: 0;
  line-height: 1;
  font-weight: var(--cnvs-page-title-font-weight);
  color: var(--cnvs-page-title-color);
  font-size: var(--cnvs-page-title-font-size);
  letter-spacing: var(--cnvs-page-title-spacing);
}
@media (max-width: 767.98px) {
  .page-title-content h1,
  .page-title-content .h1 {
    font-size: calc(1.5rem + 1.25vw);
    line-height: 1.5;
  }
}
.page-title-content span {
  display: block;
  margin-top: 1rem;
  color: var(--cnvs-contrast-600);
  font-size: var(--cnvs-page-title-subtitle-size);
}

.breadcrumb {
  position: relative;
  margin: 1.5rem 0 0;
  justify-content: center;
  font-size: 90%;
}
.breadcrumb a {
  color: var(--cnvs-contrast-700);
}
.breadcrumb a:hover {
  color: var(--cnvs-themecolor);
}
.breadcrumb i {
  width: auto !important;
}
@media (min-width: 768px) {
  .breadcrumb {
    margin: 0;
    justify-content: flex-start;
  }
}

.page-title {
  /* Page Title - Right Aligned
  -----------------------------------------------------------------*/
  /* Page Title - Center Aligned
  -	----------------------------------------------------------------*/
  /* Page Title - Background Pattern
  -----------------------------------------------------------------*/
  /* Page Title - Parallax Background
  -----------------------------------------------------------------*/
  /* Page Title - Mini
  -----------------------------------------------------------------*/
  /* Page Title - Video
  -----------------------------------------------------------------*/
}
@media (min-width: 768px) {
  .page-title-right .page-title-row {
    flex-direction: row-reverse;
  }
  .page-title-right .page-title-content {
    text-align: right;
  }
}
.page-title-center .page-title-row {
  flex-direction: column;
  align-items: center;
}
.page-title-center .page-title-content {
  text-align: center;
}
.page-title-center .breadcrumb {
  margin-top: 2rem;
}
.page-title-pattern {
  background-image: url('images/pattern.png');
  background-repeat: repeat;
  background-attachment: fixed;
}
.page-title-parallax {
  --cnvs-page-title-padding: var(--cnvs-page-title-parallax-padding);
  --cnvs-page-title-font-size: var(--cnvs-page-title-parallax-font-size);
  --cnvs-page-title-font-weight: 500;
}
.page-title-parallax .container {
  position: relative;
  z-index: 2;
}
.page-title-parallax span {
  font-size: var(--cnvs-page-title-parallax-subtitle-size);
}
@media (max-width: 767.98px) {
  .page-title-parallax span {
    font-size: 1rem;
  }
}
.page-title-parallax .breadcrumb {
  font-size: 0.875rem;
}
.page-title-mini {
  --cnvs-page-title-color: var(--cnvs-contrast-900);
  --cnvs-page-title-padding: var(--cnvs-page-title-mini-padding);
  --cnvs-page-title-font-size: var(--cnvs-page-title-mini-size);
  --cnvs-page-title-font-weight: 600;
}
@media (max-width: 767.98px) {
  .page-title-mini {
    --cnvs-page-title-padding: 2rem;
  }
  .page-title-mini h1,
  .page-title-mini .h1 {
    font-size: var(--cnvs-page-title-mini-size);
  }
  .page-title-mini .breadcrumb {
    margin-top: 1rem;
  }
}
.page-title-mini span {
  display: none;
}
.page-title-video {
  background: none;
  position: relative;
  overflow: hidden;
}
.page-title-video .container {
  position: relative;
  z-index: 3;
}
.page-title-video .video-wrap {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.page-title-video .video-wrap video {
  width: 100%;
}

@media (max-width: 767.98px) {
  #page-title #portfolio-navigation,
  #portfolio-ajax-title #portfolio-navigation {
    position: relative;
    top: 0;
    left: 0;
    margin: 1rem auto 0;
  }
}
/* ----------------------------------------------------------------

	content.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Content
-----------------------------------------------------------------*/
#content {
  position: relative;
  background-color: var(--cnvs-body-bg);
}

.content-wrap {
  position: relative;
  padding: var(--cnvs-content-padding) 0;
  overflow: hidden;
}
.content-wrap .container {
  position: relative;
}
.content-wrap p {
  line-height: var(--cnvs-line-height-content);
}

.grid-container,
.grid-inner {
  position: relative;
  overflow: hidden;
  will-change: transform;
}

.grid-inner {
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.grid-container {
  transition: height 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  .grid-container {
    transition: none;
  }
}

/* ----------------------------------------------------------------

	portfolio.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Portfolio
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-grid-filter-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-portfolio-meta-color: var(--cnvs-contrast-600);
  --cnvs-portfolio-meta-row-1-color: var(--cnvs-heading-color);
}

/* Grid - Filter
-----------------------------------------------------------------*/
.grid-filter-wrap,
.grid-filter {
  --cnvs-grid-filter-mb: 3.5rem;
  --cnvs-grid-filter-border: 1px;
  --cnvs-grid-filter-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-grid-filter-border-radius: 0.25rem;
  --cnvs-grid-filter-item-padding-x: 1.25rem;
  --cnvs-grid-filter-item-padding-y: 0.75rem;
  --cnvs-grid-filter-item-font-size: 0.9375rem;
  --cnvs-grid-filter-col-sm: 3;
  --cnvs-grid-filter-col-xs: 2;
  --cnvs-grid-filter-styles-m: 0.75rem;
  --cnvs-grid-filter-styles-radius: 1.25rem;
  --cnvs-grid-shuffle-size: 2.5rem;
}

.grid-filter {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--cnvs-grid-filter-mb);
  list-style: none;
  /* Grid - Filter: Style 2
  -----------------------------------------------------------------*/
  /* Grid - Filter: Style 3
  -----------------------------------------------------------------*/
  /* Portfolio - Filter: Style 4
  -----------------------------------------------------------------*/
  /* Portfolio - Filter: Style 5
  -----------------------------------------------------------------*/
}
@media (min-width: 768px) {
  .grid-filter {
    border: var(--cnvs-grid-filter-border) solid
      var(--cnvs-grid-filter-border-color);
    border-radius: var(--cnvs-grid-filter-border-radius);
  }
}
@media (max-width: 767.98px) {
  .grid-filter {
    width: 100%;
  }
}
.grid-filter-wrap {
  display: flex;
  justify-content: space-between;
}
.grid-filter li {
  position: relative;
  width: calc(100% / var(--cnvs-grid-filter-col-xs));
}
@media (min-width: 576px) {
  .grid-filter li {
    width: calc(100% / var(--cnvs-grid-filter-col-sm));
  }
}
@media (min-width: 768px) {
  .grid-filter li {
    width: auto;
  }
}
.grid-filter li a {
  display: block;
  position: relative;
  padding: var(--cnvs-grid-filter-item-padding-y)
    var(--cnvs-grid-filter-item-padding-x);
  font-size: var(--cnvs-grid-filter-item-font-size);
  color: var(--cnvs-contrast-600);
  text-align: center;
  border-radius: 2px;
}
@media (min-width: 768px) {
  .grid-filter li a {
    border-left: var(--cnvs-grid-filter-border) solid
      var(--cnvs-grid-filter-border-color);
    border-radius: 0;
  }
  .bothsidebar .grid-filter li a {
    padding: 12px 14px;
  }
}
.grid-filter li a:hover {
  color: var(--cnvs-themecolor);
}
.grid-filter li.activeFilter a {
  color: #fff;
  font-weight: 600;
  background-color: var(--cnvs-themecolor);
  margin: 0;
}
@media (min-width: 768px) {
  .grid-filter li.activeFilter a {
    margin: -1px 0;
    padding-top: 11px;
    padding-bottom: 11px;
  }
  .bothsidebar .grid-filter li.activeFilter a {
    padding: 13px 18px;
  }
}
@media (min-width: 768px) {
  .grid-filter li:first-child a {
    border-left: none;
    border-radius: var(--cnvs-grid-filter-border-radius) 0 0
      var(--cnvs-grid-filter-border-radius);
  }
  .grid-filter li:last-child a {
    border-radius: 0 var(--cnvs-grid-filter-border-radius)
      var(--cnvs-grid-filter-border-radius) 0;
  }
}
.grid-filter.style-2,
.grid-filter.style-3,
.grid-filter.style-4,
.grid-filter.style-5,
.grid-filter.style-6 {
  border: none;
  border-radius: 0;
  margin-bottom: 2.75rem;
}
.grid-filter.style-2 li,
.grid-filter.style-3 li,
.grid-filter.style-4 li,
.grid-filter.style-5 li,
.grid-filter.style-6 li {
  margin-bottom: var(--cnvs-grid-filter-styles-m);
}
.grid-filter.style-2 li a,
.grid-filter.style-3 li a,
.grid-filter.style-4 li a,
.grid-filter.style-5 li a,
.grid-filter.style-6 li a {
  padding-top: 9px;
  padding-bottom: 9px;
  border-radius: var(--cnvs-grid-filter-styles-radius);
  border: none;
  background-color: transparent;
  margin: 0;
}
.grid-filter.style-2 li.activeFilter a {
  color: #fff !important;
  background-color: var(--cnvs-themecolor);
}
@media (min-width: 768px) {
  .grid-filter.style-2 li:not(:first-child),
  .grid-filter.style-3 li:not(:first-child) {
    margin-left: var(--cnvs-grid-filter-styles-m);
  }
}
.grid-filter.style-3 li a {
  border: var(--cnvs-grid-filter-border) solid transparent;
}
.grid-filter.style-3 li.activeFilter a {
  color: var(--cnvs-themecolor) !important;
  border-color: var(--cnvs-themecolor);
  background-color: transparent;
}
@media (min-width: 768px) {
  .grid-filter.style-4 li:not(:first-child) {
    margin-left: 2.25rem;
  }
}
.grid-filter.style-4 li a {
  padding: 0.75rem 0;
  border-radius: 0;
}
.grid-filter.style-4 li a::after {
  content: '';
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .grid-filter.style-4 li a::after {
    transition: none;
  }
}
.grid-filter.style-4 li.activeFilter a {
  color: var(--cnvs-contrast-900) !important;
}
.grid-filter.style-4 li.activeFilter a::after {
  width: 100%;
  left: 0%;
  background-color: var(--cnvs-themecolor);
}
@media (min-width: 768px) {
  .grid-filter.style-5 li:not(:first-child) {
    margin-left: 2.25rem;
  }
}
.grid-filter.style-5 li a {
  padding: 0.75rem 0 1rem;
  border-radius: 0;
}
.grid-filter.style-5 li a::after {
  content: '';
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scale(0);
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .grid-filter.style-5 li a::after {
    transition: none;
  }
}
.grid-filter.style-5 li.activeFilter a {
  color: var(--cnvs-contrast-900) !important;
}
.grid-filter.style-5 li.activeFilter a::after {
  transform: translateX(-50%) scale(1);
  background-color: var(--cnvs-themecolor);
}

/* Portfolio - Shuffle Icon
-----------------------------------------------------------------*/
.grid-shuffle {
  width: var(--cnvs-grid-shuffle-size);
  height: var(--cnvs-grid-shuffle-size);
  border: var(--cnvs-grid-filter-border) solid
    var(--cnvs-grid-filter-border-color);
  font-size: calc(var(--cnvs-grid-shuffle-size) / 2.625);
  text-align: center;
  line-height: calc(
    var(--cnvs-grid-shuffle-size) - var(--cnvs-grid-filter-border) -
      var(--cnvs-grid-filter-border)
  );
  color: var(--cnvs-contrast-900);
  cursor: pointer;
  transition: all 0.2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .grid-shuffle {
    transition: none;
  }
}
.grid-shuffle:hover {
  background-color: var(--cnvs-themecolor);
  color: #fff;
}

/* Portfolio - Items
-----------------------------------------------------------------*/
.portfolio,
[class*='portfolio-'] {
  --cnvs-portfolio-desc-padding-x: 0.375rem;
  --cnvs-portfolio-desc-padding-y: 1.25rem;
  --cnvs-portfolio-desc-title-size: 1.25rem;
  --cnvs-portfolio-modal-padding: 2.5rem;
  --cnvs-portfolio-ajax-height: 96rem;
  --cnvs-portfolio-meta-font-size: 0.875rem;
  --cnvs-portfolio-meta-color: var(--cnvs-contrast-600);
  --cnvs-portfolio-meta-row-1: 150px;
  --cnvs-portfolio-meta-row-1-color: var(--cnvs-heading-color);
  --cnvs-portfolio-meta-icon: 0.875rem;
  --cnvs-portfolio-navigation-size: 1.5rem;
}

.portfolio {
  position: relative;
  transition: height 0.4s linear;
}
.portfolio-item {
  position: relative;
}
.portfolio-reveal .portfolio-item {
  overflow: hidden;
}
.portfolio-item .portfolio-image {
  position: relative;
  overflow: hidden;
}
.portfolio-item .portfolio-image,
.portfolio-item .portfolio-image > a,
.portfolio-item .portfolio-image img {
  display: block;
  width: 100%;
  height: auto;
}
.portfolio-rounded .portfolio-image {
  border-radius: calc(var(--cnvs-grid-filter-border-radius) + 1);
  overflow: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .portfolio {
    transition: none;
  }
}

@media (min-width: 768px) {
  .portfolio-reveal .portfolio-image img,
  .portfolio-reveal .bg-overlay {
    transition: all 0.3s ease-in-out;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .portfolio-reveal .portfolio-image img,
  .portfolio-reveal .bg-overlay {
    transition: none;
  }
}
/* Portfolio - Item Title
-----------------------------------------------------------------*/
.portfolio-desc {
  position: relative;
  z-index: 6;
  padding: var(--cnvs-portfolio-desc-padding-y)
    var(--cnvs-portfolio-desc-padding-x);
}
.portfolio-desc h3,
.portfolio-desc .h3 {
  margin: 0;
  padding: 0;
  font-size: var(--cnvs-portfolio-desc-title-size);
}
.col-md-9 .portfolio-desc h3,
.col-md-9 .portfolio-desc .h3 {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) / 1.1111);
}
.portfolio-desc h3 a,
.portfolio-desc .h3 a {
  color: var(--cnvs-contrast-900);
}
.portfolio-desc h3 a:hover,
.portfolio-desc .h3 a:hover {
  color: var(--cnvs-themecolor);
}
.portfolio-desc span {
  display: block;
}
.col-md-9 .portfolio-desc span {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) / 1.428);
}
.portfolio-desc span,
.portfolio-desc span a {
  color: var(--cnvs-contrast-600);
}
.portfolio-desc span a:hover {
  color: var(--cnvs-contrast-900);
}
.desc-lg .portfolio-desc {
  padding: 20px 8px;
}
.desc-lg .portfolio-desc h3,
.desc-lg .portfolio-desc .h3 {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) / 0.8333);
}
.desc-lg .portfolio-desc span {
  font-size: 110%;
}
.desc-sm .portfolio-desc {
  padding: var(--cnvs-portfolio-desc-padding-y)
    var(--cnvs-portfolio-desc-padding-x);
}
.desc-sm .portfolio-desc h3,
.desc-sm .portfolio-desc .h3 {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) * 0.8);
}
.desc-sm .portfolio-desc span {
  font-size: 90%;
}
.portfolio.g-0 .portfolio-desc {
  --cnvs-portfolio-desc-padding-x: 15px;
}
.desc-sm.g-0 .portfolio-desc {
  --cnvs-portfolio-desc-padding-x: calc(
    var(--cnvs-portfolio-desc-padding-x) - 5px
  );
}
.portfolio-reveal .portfolio-desc {
  position: absolute;
  top: auto;
  bottom: 0;
  width: 100%;
  background-color: var(--cnvs-body-bg);
  transform: translateY(100%);
}
@media (min-width: 768px) {
  .portfolio-reveal .portfolio-desc {
    transition: all 0.3s ease-in-out;
  }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .portfolio-reveal .portfolio-desc {
    transition: none;
  }
}
@media (max-width: 575.98px) {
  .portfolio-reveal .portfolio-desc {
    display: none !important;
  }
}

.portfolio-reveal .portfolio-item:hover .portfolio-desc {
  transform: translateY(0);
  display: none;
}
@media (min-width: 768px) {
  .portfolio-reveal .portfolio-item:hover .portfolio-desc {
    display: block;
  }
}
.portfolio-reveal .portfolio-item:hover .portfolio-image img,
.portfolio-reveal .portfolio-item:hover .bg-overlay {
  transform: translateY(0);
}
@media (min-width: 768px) {
  .portfolio-reveal .portfolio-item:hover .portfolio-image img,
  .portfolio-reveal .portfolio-item:hover .bg-overlay {
    transform: translateY(-15%);
  }
}

/* Portfolio - Parallax
-----------------------------------------------------------------*/
.portfolio-parallax .portfolio-image {
  height: 60vh;
  background-attachment: fixed;
}
@media (min-width: 992px) {
  .portfolio-parallax .portfolio-image {
    height: 500px;
  }
}

/* Portfolio Single - Image
-----------------------------------------------------------------*/
.portfolio-single-image > a,
.portfolio-single-image .slide a,
.portfolio-single-image img,
.portfolio-single-image iframe,
.portfolio-single-image video {
  display: block;
  width: 100%;
}
.portfolio-single-image-full {
  position: relative;
  height: 600px;
  overflow: hidden;
  margin: calc(-1 * var(--cnvs-content-padding)) 0 var(--cnvs-content-padding);
}
.portfolio-single-video {
  height: auto !important;
}

/* Masonry Thumbs
-----------------------------------------------------------------*/
.masonry-thumbs {
  position: relative;
  --bs-gutter-x: calc(1px * 2);
  --bs-gutter-y: calc(1px * 2);
}
.masonry-thumbs > * {
  overflow: hidden;
}
.masonry-gap-lg {
  --bs-gutter-x: calc(1px * 3);
  --bs-gutter-y: calc(1px * 3);
}
.masonry-gap-xl {
  --bs-gutter-x: calc(1px * 5);
  --bs-gutter-y: calc(1px * 5);
}
.masonry-thumbs > * > img,
.masonry-thumbs .grid-inner > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
}

/* Portfolio Single - Content
-----------------------------------------------------------------*/
.portfolio-single-content h2,
.portfolio-single-content .h2 {
  margin: 0 0 20px;
  padding: 0;
  font-size: var(--cnvs-portfolio-desc-title-size);
  font-weight: 600 !important;
}

.modal-padding {
  --cnvs-portfolio-modal-padding: 2.5rem;
  padding: var(--cnvs-portfolio-modal-padding);
}

.ajax-modal-title {
  background-color: var(--cnvs-contrast-100);
  border-bottom: 1px solid var(--cnvs-contrast-200);
  padding: 25px 40px;
}

.ajax-modal-title h2,
.ajax-modal-title .h2 {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) / 0.714);
  margin-bottom: 0;
}

#portfolio-ajax-wrap {
  position: relative;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  #portfolio-ajax-wrap {
    transition: none;
  }
}

#portfolio-ajax-wrap.portfolio-ajax-opened {
  max-height: var(--cnvs-portfolio-ajax-height);
}

#portfolio-ajax-container {
  display: none;
  padding-bottom: 60px;
}

#portfolio-ajax-single {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}
.portfolio-ajax-opened #portfolio-ajax-single {
  opacity: 1;
  pointer-events: auto;
}

#portfolio-ajax-title h2,
#portfolio-ajax-title .h2 {
  font-size: calc(var(--cnvs-portfolio-desc-title-size) / 0.714);
}

.portfolio-ajax-opened
  ~ .portfolio.grid-container
  .portfolio-item:not(:hover):not(.portfolio-active) {
  opacity: 0.25;
}

/* Portfolio Single - Meta
-----------------------------------------------------------------*/
.portfolio-meta,
.portfolio-share {
  list-style: none;
  font-size: var(--cnvs-portfolio-meta-font-size);
}

.portfolio-meta li {
  margin: 10px 0;
  color: var(--cnvs-portfolio-meta-color);
}
.portfolio-meta li:first-child {
  margin-top: 0;
}
.portfolio-meta li span {
  display: inline-block;
  width: var(--cnvs-portfolio-meta-row-1);
  font-weight: bold;
  color: var(--cnvs-portfolio-meta-row-1-color);
}
.portfolio-meta li span i {
  position: relative;
  top: 1px;
  width: var(--cnvs-portfolio-meta-icon);
  text-align: center;
  margin-right: calc(var(--cnvs-portfolio-meta-icon) * 0.5);
}

/* Portfolio Single Navigation
-----------------------------------------------------------------*/
#portfolio-navigation {
  position: absolute;
  top: 50%;
  left: auto;
  right: 10px;
  max-width: calc(var(--cnvs-portfolio-navigation-size) * 4);
  height: var(--cnvs-portfolio-navigation-size);
  margin-top: calc(var(--cnvs-portfolio-navigation-size) * -0.5);
}
.page-title-right #portfolio-navigation {
  left: 10px;
  right: auto;
}
.page-title-center #portfolio-navigation {
  position: relative;
  top: 0;
  left: 0;
  margin: 20px auto 0;
}
#portfolio-navigation a {
  display: block;
  float: left;
  margin-left: calc(var(--cnvs-portfolio-navigation-size) * 0.5);
  width: var(--cnvs-portfolio-navigation-size);
  height: var(--cnvs-portfolio-navigation-size);
  text-align: center;
  color: var(--cnvs-contrast-900);
  transition: color 0.3s linear;
}
@media (prefers-reduced-motion: reduce) {
  #portfolio-navigation a {
    transition: none;
  }
}
#portfolio-navigation a:first-child {
  margin-left: 0;
}
#portfolio-navigation a:hover {
  color: var(--cnvs-themecolor);
}
#portfolio-ajax-show #portfolio-navigation {
  top: 0;
  margin-top: 0;
}

/* ----------------------------------------------------------------

	blog.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Blog
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-post-title-font-color: var(--cnvs-heading-color);
  --cnvs-post-meta-color: var(--cnvs-contrast-600);
  --cnvs-post-entry-link-bg: var(--cnvs-contrast-100);
  --cnvs-post-entry-link-color: var(--cnvs-heading-color);
  --cnvs-post-timeline-border-color: var(--cnvs-contrast-400);
  --cnvs-post-timeline-date-border-color: var(--cnvs-contrast-400);
}

#posts,
.posts,
.entry,
[class*='entry-'] {
  --cnvs-post-item-margin: 50px;
  --cnvs-post-image-size: 100%;
  --cnvs-post-image-rounded: 0.25rem;
  --cnvs-post-image-mb: 1.5rem;
  --cnvs-post-sm-image: 64px;
  --cnvs-post-title-font-size: 1.75rem;
  --cnvs-post-title-font-weight: 600;
  --cnvs-post-title-font-spacing: 0;
  --cnvs-post-title-text-transform: none;
  --cnvs-post-title-font-color: var(--cnvs-heading-color);
  --cnvs-post-meta-seperator: ⁞;
  --cnvs-post-meta-seperator-width: 0.25rem;
  --cnvs-post-meta-margin: 1rem;
  --cnvs-post-meta-color: var(--cnvs-contrast-600);
  --cnvs-post-meta-fontsize: 90%;
  --cnvs-post-meta-iconsize: 1rem;
  --cnvs-post-content-margin: 2rem;
  --cnvs-post-entry-link-bg: var(--cnvs-contrast-100);
  --cnvs-post-entry-link-padding: 2rem 0;
  --cnvs-post-entry-link-color: var(--cnvs-heading-color);
  --cnvs-post-entry-link-font-family: var(--cnvs-primary-font);
  --cnvs-post-entry-link-text-transform: none;
  --cnvs-post-entry-link-letter-spacing: 0;
  --cnvs-post-entry-link-font-size: 1.75rem;
  --cnvs-post-entry-link-font-weight: 600;
  --cnvs-post-entry-link-border-radius: 0.25rem;
  position: relative;
}

.entry {
  margin-bottom: var(--cnvs-post-item-margin);
}
.posts-md .entry,
.posts-sm .entry {
  margin-bottom: 0;
}
.entry::after {
  content: '';
  position: relative;
  height: 2px;
  margin-top: var(--cnvs-post-item-margin);
  background-color: var(--cnvs-contrast-100);
}
.entry-image {
  margin-bottom: var(--cnvs-post-image-mb);
}

.posts-md .entry-image,
.posts-sm .entry-image {
  margin-bottom: 0;
}

.entry-image,
.entry-image > a,
.entry-image .slide a,
.entry-image img {
  display: block;
  position: relative;
  width: var(--cnvs-post-image-size);
  height: auto;
}

.posts-sm .entry-image,
.posts-sm .entry-image > a,
.posts-sm .entry-image .slide a,
.posts-sm .entry-image img {
  --cnvs-post-image-size: var(--cnvs-post-sm-image);
}

.entry-image iframe {
  display: block;
}
.entry-image video {
  display: block;
  width: 100%;
}
.entry-image img {
  border-radius: var(--cnvs-post-image-rounded);
}

.posts-md .entry-image + .entry-title {
  margin-top: 0.875rem;
}

.entry-title h2,
.entry-title .h2,
.entry-title h3,
.entry-title .h3,
.entry-title h4,
.entry-title .h4 {
  margin: 0;
  font-size: var(--cnvs-post-title-font-size);
  font-weight: var(--cnvs-post-title-font-weight);
  text-transform: var(--cnvs-post-title-text-transform);
  letter-spacing: var(--cnvs-post-title-font-spacing);
}
.entry-title h2 a,
.entry-title .h2 a,
.entry-title h3 a,
.entry-title .h3 a,
.entry-title h4 a,
.entry-title .h4 a {
  color: var(--cnvs-post-title-font-color);
}
.entry-title h2 a:hover,
.entry-title .h2 a:hover,
.entry-title h3 a:hover,
.entry-title .h3 a:hover,
.entry-title h4 a:hover,
.entry-title .h4 a:hover {
  color: var(--cnvs-themecolor);
}
.entry-title.title-sm h2,
.entry-title.title-sm .h2,
.entry-title.title-sm h3,
.entry-title.title-sm .h3 {
  --cnvs-post-title-font-size: 1.25rem;
  letter-spacing: 0;
}
.entry-title.title-sm h3,
.entry-title.title-sm .h3 {
  --cnvs-post-title-font-size: 1.125rem;
}
.entry-title.title-xs h2,
.entry-title.title-xs .h2,
.entry-title.title-xs h3,
.entry-title.title-xs .h3 {
  --cnvs-post-title-font-size: 1rem;
  letter-spacing: 0;
}
.entry-title h4,
.entry-title .h4 {
  --cnvs-post-title-font-size: 0.875rem;
  letter-spacing: 0;
}
.entry-title.nott h2,
.entry-title.nott .h2,
.entry-title.nott h3,
.entry-title.nott .h3,
.entry-title h4,
.entry-title .h4 {
  text-transform: none;
}

.entry-meta {
  position: relative;
  overflow: hidden;
  margin-top: 0.5rem;
}
.posts-sm .entry-meta {
  margin-top: 0.25rem;
}
.single-post .entry-meta {
  margin-bottom: 1.5rem;
}
.posts-md .entry-meta,
.posts-sm .entry-meta {
  margin-bottom: 0;
}
.entry-meta ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 -0.75rem calc(-1 * (var(--cnvs-post-meta-margin) +
            var(--cnvs-post-meta-seperator-width)));
  list-style: none;
}
.entry-meta.no-separator ul,
.entry-meta ul.flex-column {
  margin-left: 0;
}
.entry-meta ul.flex-column {
  align-items: flex-start;
}
.posts-sm .entry-meta ul {
  margin-bottom: -0.25rem;
}
.entry-meta li {
  font-size: var(--cnvs-post-meta-fontsize);
  margin: 0 var(--cnvs-post-meta-margin) 0.75rem 0;
  color: var(--cnvs-contrast-500);
}
.entry-meta ul.flex-column li {
  margin-left: 0;
}
.posts-sm .entry-meta li {
  margin-bottom: 0.25rem;
}
.entry-meta:not(.no-separator) li::before {
  content: '⁞';
  width: var(--cnvs-post-meta-seperator-width);
  text-align: center;
  display: inline-block;
  margin-right: var(--cnvs-post-meta-margin);
  opacity: 0.5;
}
.entry-meta i {
  position: relative;
  font-size: var(--cnvs-post-meta-iconsize);
  padding-left: 1px;
  margin-right: 0.25rem;
}
.entry-meta a:not(:hover) {
  color: var(--cnvs-post-meta-color);
}
.entry-meta ins {
  font-weight: 700;
  text-decoration: none;
}

.entry-content {
  position: relative;
  margin-top: var(--cnvs-post-content-margin);
}
.single-post .entry-content {
  margin-top: 0;
}
.posts-md .entry-content,
.posts-sm .entry-content {
  margin-top: calc(var(--cnvs-post-content-margin) / 1.5);
}
.single-post .entry-content .entry-image {
  max-width: 350px;
}

.entry-link {
  display: block;
  width: 100%;
  background-color: var(--cnvs-post-entry-link-bg);
  padding: var(--cnvs-post-entry-link-padding);
  text-align: center;
  color: var(--cnvs-post-entry-link-color);
  font-family: var(--cnvs-post-entry-link-font-family);
  text-transform: var(--cnvs-post-entry-link-text-transform);
  letter-spacing: var(--cnvs-post-entry-link-letter-spacing);
  font-size: var(--cnvs-post-entry-link-font-size);
  font-weight: var(--cnvs-post-entry-link-font-weight);
  border-radius: var(--cnvs-post-entry-link-border-radius);
  border: 1px solid transparent;
  transition: background-color 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .entry-link {
    transition: none;
  }
}
.entry-link:hover {
  background-color: transparent;
  border-color: var(--cnvs-themecolor);
}
.entry-link span {
  display: block;
  margin-top: 5px;
  font-family: var(--cnvs-secondary-font);
  font-style: italic;
  font-weight: normal;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.875rem;
  color: var(--cnvs-contrast-700);
}
.entry-link:hover span {
  color: var(--cnvs-contrast-500);
}

.entry blockquote {
  margin-bottom: 2rem;
}
.entry blockquote p {
  font-weight: 400;
  font-family: var(--cnvs-secondary-font);
  font-style: italic;
}

/* Blog - Grid
-----------------------------------------------------------------*/
.post-grid {
  --cnvs-post-grid-margin: 1.5rem;
}
.post-grid .entry {
  margin-bottom: var(--cnvs-post-grid-margin);
}
.post-grid .entry-title h2,
.post-grid .entry-title .h2 {
  --cnvs-post-title-font-size: 1.125rem;
  letter-spacing: 0;
  font-weight: var(--cnvs-post-title-font-weight);
}
.post-grid .entry-link {
  font-size: var(--cnvs-post-entry-link-font-size);
}
.post-grid .entry-link span {
  font-size: 0.875rem;
}

/* Blog - Timeline
-----------------------------------------------------------------*/
.post-timeline {
  --cnvs-post-timeline-border-style: dashed;
  --cnvs-post-timeline-border-color: var(--cnvs-contrast-400);
  --cnvs-post-timeline-date-size: 0.75rem;
  --cnvs-post-timeline-date-border: 2px;
  --cnvs-post-timeline-date-border-color: var(--cnvs-contrast-400);
}

.entry-timeline {
  display: none;
}

@media (min-width: 992px) {
  .timeline-border {
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    border-left: 1px dashed var(--cnvs-contrast-400);
    height: 100%;
    transform: translateX(-50%);
  }
  .postcontent .post-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    border-left: 1px dashed var(--cnvs-post-timeline-border-color);
    height: 100%;
  }
  .post-timeline .entry-timeline {
    display: block;
    position: absolute;
    border: var(--cnvs-post-timeline-date-border) solid
      var(--cnvs-post-timeline-border-color);
    background-color: var(--cnvs-body-bg);
    padding-top: 0;
    text-indent: -9999px;
    top: 40px;
    left: auto;
    right: -6px;
    width: var(--cnvs-post-timeline-date-size);
    height: var(--cnvs-post-timeline-date-size);
    border-radius: 50%;
    font-size: 1.75rem;
    font-weight: bold;
    color: var(--cnvs-contrast-500);
    text-align: center;
    line-height: 1;
    transition: all 0.3s ease-in-out;
  }
}
@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .post-timeline .entry-timeline {
    transition: none;
  }
}
@media (min-width: 992px) {
  .post-timeline .entry-timeline .timeline-divider {
    position: absolute;
    top: 50%;
    left: auto;
    right: 15px;
    width: 70px;
    height: 0;
    border-top: 1px dashed var(--cnvs-post-timeline-border-color);
    transition: all 0.3s ease-in-out;
  }
}
@media (min-width: 992px) and (prefers-reduced-motion: reduce) {
  .post-timeline .entry-timeline .timeline-divider {
    transition: none;
  }
}
@media (min-width: 992px) {
  .post-timeline .entry:not(.entry-date-section) {
    padding-right: 85px;
  }
  .post-timeline .entry.alt:not(.entry-date-section) {
    padding-right: inherit;
    padding-left: 85px;
  }
  .post-timeline .alt .entry-timeline {
    right: auto;
    left: -6px;
  }
  .post-timeline .alt .entry-timeline .timeline-divider {
    left: 15px;
    right: auto;
  }
  .post-timeline .entry-timeline span {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    font-weight: normal;
  }
  .post-timeline .entry:hover .entry-timeline,
  .post-timeline .entry:hover .timeline-divider {
    border-color: var(--cnvs-themecolor);
    color: var(--cnvs-themecolor);
  }
}
.entry.entry-date-section {
  margin: 50px 0 80px;
  text-align: center;
}

.entry.entry-date-section:first-child {
  margin-top: 0;
}

.entry.entry-date-section span {
  display: inline-block;
  width: 250px;
  background-color: var(--cnvs-body-bg);
  border: 2px solid var(--cnvs-contrast-100);
  font-size: 18px;
  line-height: 50px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-family: var(--cnvs-primary-font);
}

@media (min-width: 992px) {
  /* Blog - Timeline - Sidebar
  -----------------------------------------------------------------*/
  .postcontent .post-timeline {
    --cnvs-post-timeline-date-size: 64px;
    --cnvs-post-timeline-date-border: 3px;
  }
  .postcontent .post-timeline::before {
    left: calc(
      -1 * var(--cnvs-post-timeline-date-size) - var(
          --cnvs-post-timeline-date-border
        ) - 1px
    );
    margin-left: 0;
  }
  .postcontent .post-timeline {
    padding-left: 0;
    margin-left: calc(var(--cnvs-post-timeline-date-size) + 36px);
    margin-right: 0 !important;
    overflow: visible;
  }
  .postcontent .post-timeline .entry {
    width: 100% !important;
    padding: 0 !important;
  }
  .postcontent .post-timeline .entry-timeline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-indent: 0;
    top: 20px;
    left: calc(-1 * (var(--cnvs-post-timeline-date-size) + 36px));
    right: auto;
    font-size: 1.5rem;
  }
  .postcontent .post-timeline .entry-timeline div.timeline-divider {
    top: 50%;
    left: var(--cnvs-post-timeline-date-size);
    width: calc(var(--cnvs-post-timeline-date-size) / 2);
  }
}
.more-link {
  display: inline-block;
  font-family: var(--cnvs-secondary-font);
  font-style: italic;
  text-underline-offset: 0.375rem;
  text-decoration-thickness: 1px;
}

.post-navigation + .line {
  margin-top: var(--cnvs-contrast-900);
}

/* ----------------------------------------------------------------
	Comments List
-----------------------------------------------------------------*/
#comments {
  position: relative;
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--cnvs-contrast-100);
}

.commentlist {
  list-style: none;
  padding-bottom: 3rem;
  margin: 0 0 3rem;
  border-bottom: 1px solid var(--cnvs-contrast-100);
}

#reviews .commentlist {
  padding-bottom: 2rem;
  margin: 0 0 1.25rem;
}

.commentlist ul {
  list-style: none;
}

.commentlist li,
.commentlist li ul,
.commentlist li ul li {
  margin: 2rem 0 0 0;
}

.commentlist ul:first-child {
  margin-top: 0;
}

.commentlist li {
  position: relative;
  margin: 2rem 0 0 2rem;
}

#reviews .commentlist li {
  margin-top: 1.25rem;
}

.comment-wrap {
  position: relative;
  border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.1);
  border-radius: 0.25rem;
  padding: 1.25rem 1.25rem 1.25rem 2rem;
}

.commentlist ul .comment-wrap {
  margin-left: 1.5rem;
  padding-left: 1.25rem;
}

#reviews .comment-wrap {
  border: 0;
  padding: 0.75rem 0 0 2rem;
}

.commentlist > li:first-child,
#reviews .commentlist > li:first-child {
  padding-top: 0;
  margin-top: 0;
}

.commentlist li .children {
  margin-top: 0;
}

.commentlist li li .children {
  margin-left: 2rem;
}

.commentlist li .comment-content,
.pingback {
  position: relative;
  overflow: hidden;
}

.commentlist li .comment-content p,
.pingback p {
  margin: 1.25rem 0 0 0;
}

.commentlist li .comment-content {
  padding: 0 0 0 1rem;
}

.commentlist li .comment-meta {
  float: left;
  margin-right: 0;
  line-height: 1;
}

.comment-avatar {
  position: absolute;
  top: 15px;
  left: -35px;
  padding: 0.25rem;
  background: var(--cnvs-body-bg);
  border: 1px solid var(--cnvs-contrast-200);
  border-radius: 50%;
}

.comment-avatar img {
  display: block;
  border-radius: 50%;
}

.commentlist li .children .comment-avatar {
  left: -25px;
}

.comment-content .comment-author {
  margin-bottom: -0.75rem;
  font-size: 1rem;
  font-weight: bold;
  color: var(--cnvs-contrast-700);
}

.comment-content .comment-author a {
  border: none;
  color: var(--cnvs-contrast-900);
}

.comment-content .comment-author a:hover {
  color: var(--cnvs-themecolor);
}

.comment-content .comment-author span {
  display: block;
}

.comment-content .comment-author span,
.comment-content .comment-author span a {
  font-size: 0.75rem;
  font-weight: normal;
  font-family: var(--cnvs-primary-font);
  color: var(--cnvs-contrast-500);
}

.comment-content .comment-author span a:hover {
  color: var(--cnvs-contrast-600);
}

.comment-reply-link,
.review-comment-ratings {
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  text-align: center;
  right: 0;
  width: 1rem;
  height: 1rem;
  color: var(--cnvs-contrast-500);
  font-size: 1rem;
  line-height: 1;
}

.review-comment-ratings {
  width: auto;
  color: var(--cnvs-contrast-900);
}

.comment-reply-link:hover {
  color: var(--cnvs-contrast-500);
}

/* ----------------------------------------------------------------
	Comment Form
-----------------------------------------------------------------*/
#respond,
#respond form {
  margin-bottom: 0;
}

.commentlist li #respond {
  margin: 2rem 0 0;
}

.commentlist li li #respond {
  margin-left: 2rem;
}

#respond p {
  margin: 0.75rem 0 0 0;
}

#respond p:first-child {
  margin-top: 0;
}

#respond label small,
#respond label .small {
  color: var(--cnvs-contrast-500);
  font-weight: normal;
}

#respond input[type='text'],
#respond textarea {
  margin-bottom: 0;
}

.fb-comments,
.fb_iframe_widget,
.fb-comments > span,
.fb_iframe_widget > span,
.fb-comments > span > iframe,
.fb_iframe_widget > span > iframe {
  display: block !important;
  width: 100% !important;
  margin: 0;
}

/* Post Elements
-----------------------------------------------------------------*/
img.alignleft,
div.alignleft {
  float: left;
  margin: 5px 20px 13px 0;
  max-width: 100%;
}

div.alignleft > img,
div.alignnone > img,
div.aligncenter > img,
div.alignright > img {
  display: block;
  float: none;
}

img.alignnone,
img.aligncenter,
div.alignnone,
div.aligncenter {
  display: block;
  margin: 10px 0;
  float: none;
}

img.aligncenter,
div.aligncenter,
div.aligncenter img {
  margin-left: auto;
  margin-right: auto;
  clear: both;
}

img.alignright,
div.alignright {
  float: right;
  margin: 5px 0 13px 20px;
}

.wp-caption {
  text-align: center;
  margin: 10px 20px 13px 20px;
  font-family: var(--cnvs-body-font), Georgia, 'Times New Roman', Times, serif;
  font-style: italic;
}

.wp-caption img,
.wp-caption img a {
  display: block;
  margin: 0;
}

p.wp-caption-text {
  display: inline-block;
  margin: 0.75rem 0 0 0;
  padding: 0.25rem 0.75rem;
  background-color: var(--cnvs-contrast-100);
  border-radius: 50px;
}

.wp-smiley {
  max-height: 13px;
  margin: 0 !important;
}

/* ----------------------------------------------------------------

	shop.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Shop
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-cart-quantity-bg: var(--cnvs-contrast-200);
  --cnvs-cart-quantity-color: var(--cnvs-contrast-800);
  --cnvs-cart-quantity-color-hover: var(--cnvs-cart-quantity-color);
  --cnvs-cart-quantity-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-cart-quantity-bg-hover: var(--cnvs-contrast-300);
}

.shop {
  position: relative;
}

.product {
  position: relative;
}
.product .product-image {
  position: relative;
  overflow: hidden;
  border-radius: 0.25rem;
}
.product .product-image > a,
.product .product-image .slide a,
.product .product-image img {
  display: block;
  width: 100%;
}
.product .product-image > a {
  transition: all 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .product .product-image > a {
    transition: none;
  }
}

.product-image > a:nth-of-type(2) {
  opacity: 0;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.product-image:hover > a:nth-of-type(2) {
  opacity: 1;
  z-index: 2;
}

.product-desc {
  padding: 1rem 0;
}

.product-title {
  margin-bottom: 0.5rem;
}

.product-title h3,
.product-title .h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
}

.product-title h3 a,
.product-title .h3 a,
.single-product .product-title h2 a,
.single-product .product-title .h2 a {
  color: var(--cnvs-heading-color);
}

.product-title h3 a:hover,
.product-title .h3 a:hover,
.single-product .product-title h2 a:hover,
.single-product .product-title .h2 a:hover {
  color: var(--cnvs-themecolor);
}

.product-price {
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--cnvs-heading-color);
  margin-bottom: 0.25rem;
}

.product-price del {
  font-weight: 400;
  font-size: 90%;
  color: var(--cnvs-contrast-500);
}

.product-price ins {
  text-decoration: none;
  color: var(--cnvs-themecolor);
}

.product-image > .badge,
.sale-flash {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 5;
}

/* Shop - Single
-----------------------------------------------------------------*/
.single-product .product {
  width: 100%;
  margin: 0;
}

.shop-quick-view-ajax,
.portfolio-ajax-modal {
  position: relative;
  background-color: var(--cnvs-contrast-bg);
  width: auto;
  max-width: 800px;
  margin: 0 auto;
}

.portfolio-ajax-modal {
  max-width: 1000px;
}

.single-product .product-image,
.single-product .product-image img {
  height: auto;
}

.single-product .product-title h2,
.single-product .product-title .h2 {
  font-size: 1.75rem;
  margin-bottom: 8px;
}

.single-product .product-price {
  font-size: 1.5rem;
  color: var(--cnvs-themecolor);
  margin-bottom: 0;
}

.single-product .product-desc .line {
  margin: 20px 0;
}

.quantity {
  --cnvs-cart-quantity-width: 50px;
  --cnvs-cart-quantity-height: 44px;
  --cnvs-cart-quantity-font-size: 1rem;
  --cnvs-cart-quantity-border: 1px;
  --cnvs-cart-quantity-bg: var(--cnvs-contrast-200);
  --cnvs-cart-quantity-color: var(--cnvs-contrast-800);
  --cnvs-cart-quantity-color-hover: var(--cnvs-cart-quantity-color);
  --cnvs-cart-quantity-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-cart-quantity-bg-hover: var(--cnvs-contrast-300);
  display: inline-flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-right: 30px;
}

.quantity input[type='number']::-webkit-inner-spin-button,
.quantity input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
}

.quantity .qty {
  width: var(--cnvs-cart-quantity-width);
  height: var(--cnvs-cart-quantity-height);
  line-height: var(--cnvs-cart-quantity-height);
  border: 0;
  border-left: var(--cnvs-cart-quantity-border) solid
    var(--cnvs-cart-quantity-border-color);
  border-right: var(--cnvs-cart-quantity-border) solid
    var(--cnvs-cart-quantity-border-color);
  background-color: var(--cnvs-cart-quantity-bg);
  text-align: center;
  margin-bottom: 0;
  font-size: var(--cnvs-cart-quantity-font-size);
  color: var(--cnvs-cart-quantity-color);
}

.quantity .plus,
.quantity .minus {
  display: block;
  cursor: pointer;
  border: 0px transparent;
  padding: 0;
  width: calc(
    var(--cnvs-cart-quantity-width) - var(--cnvs-cart-quantity-border) * 4
  );
  height: var(--cnvs-cart-quantity-height);
  line-height: var(--cnvs-cart-quantity-height);
  text-align: center;
  background-color: var(--cnvs-cart-quantity-bg);
  color: var(--cnvs-cart-quantity-color);
  font-size: var(--cnvs-cart-quantity-font-size);
  font-weight: bold;
  transition: background-color 0.2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .quantity .plus,
  .quantity .minus {
    transition: none;
  }
}

.quantity .plus:hover,
.quantity .minus:hover {
  background-color: var(--cnvs-cart-quantity-bg-hover);
  color: var(--cnvs-cart-quantity-color-hover);
}

.quantity .qty:focus,
.quantity .plus:focus,
.quantity .minus:focus {
  box-shadow: none !important;
  outline: 0 !important;
}

.product-meta {
  font-size: 90%;
  color: var(--cnvs-contrast-500);
}

.product-meta > .card-body > span {
  display: inline-block;
  margin: 0 5px;
}

.single-product .fbox-plain.fbox-sm .fbox-icon {
  width: 2.25rem;
}

.single-product .fbox-plain.fbox-sm .fbox-icon i {
  font-size: 1.125rem;
  line-height: 1.5;
}

.cart-border .quantity {
  --cnvs-cart-quantity-bg: transparent;
  --cnvs-cart-quantity-border-color: rgba(var(--cnvs-contrast-rgb), 0.15);
  --cnvs-cart-quantity-bg-hover: var(--cnvs-contrast-200);
  border: var(--cnvs-cart-quantity-border) solid
    var(--cnvs-cart-quantity-border-color);
}

.cart-border-2 .quantity {
  --cnvs-cart-quantity-height: 46px;
  --cnvs-cart-quantity-bg-hover: transparent;
  --cnvs-cart-quantity-color-hover: var(--bs-danger);
}

.cart-border.cart-border-2 .qty {
  --cnvs-cart-quantity-width: 25px;
}

.cart-bg-circle .quantity {
  --cnvs-cart-quantity-border: 0px;
  --cnvs-cart-quantity-width: 43px;
  --cnvs-cart-quantity-height: 43px;
  transition: none;
}

/* ----------------------------------------------------------------
	Cart
-----------------------------------------------------------------*/
.cart .remove {
  font-size: 0.875rem;
  color: #ff0000;
}

.cart .remove:hover {
  color: #000;
}

.cart th {
  padding: 0.75rem 1rem !important;
  font-size: 0.875rem;
  color: var(--cnvs-contrast-700);
}

.cart td {
  padding: 0.75rem 1rem !important;
  vertical-align: middle !important;
  border-color: rgba(var(--cnvs-contrast-rgb), 0.1) !important;
}

.cart-product-thumbnail a {
  display: block;
  width: 68px;
}

.cart-product-thumbnail img {
  display: block;
  width: 64px;
  height: 64px;
  border: 2px solid rgba(var(--cnvs-contrast-rgb), 0.2);
}

.cart-product-thumbnail img:hover {
  border-color: var(--cnvs-themecolor);
}

.cart-product-name a,
.product-name a {
  font-weight: 600;
}
.cart-product-name a:not(:hover),
.product-name a:not(:hover) {
  color: var(--cnvs-heading-color);
}

.cart-product-price,
.cart-product-quantity,
.cart-product-subtotal {
  text-align: center !important;
}

.cart-product-quantity .quantity {
  margin: 0;
}

@media (max-width: 575.98px) {
  .cart:not(.cart-totals) thead th {
    display: none;
  }
  .cart:not(.cart-totals) tbody td {
    display: block;
    width: 100%;
    border: 0;
    padding: 0 !important;
    text-align: center;
  }
  .cart:not(.cart-totals) .cart_item {
    display: block;
    position: relative;
    border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.1);
    margin-bottom: 1.5rem;
    padding: 1.5rem;
  }
  .cart:not(.cart-totals) .cart_item .cart-product-remove {
    display: block;
    position: absolute;
    top: 1.25rem;
    left: auto;
    right: 1.25rem;
    width: 1.25rem;
    height: 1.25rem;
  }
  .cart:not(.cart-totals) .cart-product-thumbnail,
  .cart:not(.cart-totals) .cart-product-name,
  .cart:not(.cart-totals) .cart-product-quantity {
    margin-bottom: 1rem;
  }
  .cart:not(.cart-totals) .cart_item .cart-product-thumbnail a {
    display: inline-block;
  }
  .cart:not(.cart-totals) .cart_item .cart-product-price {
    display: none;
  }
  .cart:not(.cart-totals) .cart_item .cart-product-name a {
    font-size: 1rem;
  }
  .cart:not(.cart-totals) .cart_item .cart-product-subtotal {
    font-size: 1.25rem;
    color: var(--cnvs-themecolor);
  }
  .quantity .qty {
    width: 42px;
  }
  .quantity .qty,
  .quantity .plus,
  .quantity .minus {
    font-size: 0.875rem;
  }
}
td.actions {
  padding: 20px 15px !important;
  vertical-align: top !important;
  background-color: var(--cnvs-contrast-100);
}

/* ----------------------------------------------------------------

	event.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Events
-----------------------------------------------------------------*/
.single-event .entry-overlay,
.parallax .entry-overlay-meta {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  text-align: center;
  font-size: 1.25rem;
  color: var(--cnvs-white);
  z-index: 5;
}

.parallax .entry-overlay,
.parallax .entry-overlay-meta {
  background: transparent;
  width: auto;
  text-align: right;
  left: auto;
  right: 30px;
  bottom: 30px;
  left: 0 !important;
  right: 0 !important;
  width: 90%;
  margin: 0 auto;
}
.parallax .entry-overlay-meta {
  padding: 20px;
  font-size: 0.875rem;
  text-align: left;
  right: 38px;
  bottom: 130px;
  width: 368px;
  height: auto;
  line-height: inherit;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}
.parallax.overlay-left .entry-overlay,
.parallax.overlay-left .entry-overlay-meta {
  right: auto;
  left: 30px;
}
.parallax.overlay-left .entry-overlay-meta {
  left: 38px;
}
.parallax.overlay-center .entry-overlay,
.parallax.overlay-center .entry-overlay-meta {
  bottom: 100px;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
}
.parallax.overlay-center .entry-overlay-meta {
  top: 100px;
  bottom: auto;
  margin-left: -184px;
}

/*-----------------------------------------------------------------------------------
	shortcodes
-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------

	Shortcodes: countdown.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------

	Countdown

-----------------------------------------------------------------*/
.countdown {
  --cnvs-countdown-size: 1.25rem;
  --cnvs-countdown-section: 11px;
  --cnvs-countdown-md-size: 30px;
  --cnvs-countdown-md-section: 0.875rem;
  --cnvs-countdown-lg-size: 44px;
  --cnvs-countdown-lg-section: 18px;
  --cnvs-countdown-border: 1px dotted var(--cnvs-contrast-500);
  --cnvs-countdown-inline-space: 7px;
  --cnvs-countdown-large: 140px;
  position: relative;
  display: block;
  /* Countdown - Inline
  -----------------------------------------------------------------*/
}
.countdown-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.countdown-section {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  font-size: var(--cnvs-countdown-section);
  line-height: 1;
  text-align: center;
  border-left: var(--cnvs-countdown-border);
  color: var(--cnvs-contrast-600);
  text-transform: capitalize;
  /* Countdown - Medium */
  /* Countdown - large */
}
.countdown-medium .countdown-section {
  --cnvs-countdown-section: 0.875rem;
}
.countdown-large .countdown-section {
  --cnvs-countdown-section: 1.125rem;
}
.countdown-section:first-child {
  border-left: 0;
}
.countdown-amount {
  display: block;
  font-size: var(--cnvs-countdown-size);
  color: var(--cnvs-contrast-800);
  margin-bottom: 5px;
  /* Countdown - Medium */
  /* Countdown - large */
}
.countdown-medium .countdown-amount {
  --cnvs-countdown-size: var(--cnvs-countdown-md-size);
  margin-bottom: 7px;
}
.countdown-large .countdown-amount {
  --cnvs-countdown-size: var(--cnvs-countdown-lg-size);
  font-weight: 700;
  margin-bottom: 8px;
}
.countdown-descr {
  display: block;
  width: 100%;
}
.countdown.countdown-inline {
  display: inline-block;
}
.countdown.countdown-inline .countdown-row {
  display: inline-block;
  text-align: center;
}
.countdown.countdown-inline .countdown-section {
  display: inline-block;
  font-size: inherit;
  line-height: inherit;
  width: auto;
  border: none;
  color: inherit;
  margin-left: var(--cnvs-countdown-inline-space);
  text-transform: inherit;
}
.countdown.countdown-inline .countdown-section:first-child {
  margin-left: 0;
}
.countdown.countdown-inline .countdown-amount {
  display: inline-block;
  font-size: inherit;
  color: inherit;
  font-weight: bold;
  margin: 0 3px 0 0;
}
.countdown.countdown-inline .countdown-descr {
  display: inline-block;
  width: auto;
}

/* Countdown - Coming Soon
-----------------------------------------------------------------*/
@media (min-width: 768px) {
  .countdown-large.coming-soon .countdown-section {
    border: none;
    padding: 15px;
  }
  .countdown-large.coming-soon .countdown-amount {
    width: var(--cnvs-countdown-large);
    height: var(--cnvs-countdown-large);
    line-height: var(--cnvs-countdown-large);
    margin-left: auto;
    margin-right: auto;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.2);
    margin-bottom: 15px !important;
  }
}
/*-----------------------------------------------------------------------------------

	Shortcodes: buttons.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Buttons
-----------------------------------------------------------------*/
.button {
  --cnvs-btn-padding-x: 1.375rem;
  --cnvs-btn-padding-y: 0.5rem;
  --cnvs-btn-fontsize: 1rem;
  --cnvs-btn-color: var(--cnvs-themecolor);
  --cnvs-btn-color-dark: var(--bs-gray-900);
  --cnvs-btn-color-light: #e9ecef;
  --cnvs-btn-color-hover: var(--cnvs-btn-color-dark);
  --cnvs-btn-lineheight: calc(var(--cnvs-btn-fontsize) * 1.6);
  --cnvs-btn-border-width: 1px;
  --cnvs-btn-icon-margin: 10px;
  --cnvs-btn-icon-margin-offset: 0px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  outline: none;
  white-space: nowrap;
  margin: 5px;
  padding: var(--cnvs-btn-padding-y) var(--cnvs-btn-padding-x);
  font-size: var(--cnvs-btn-fontsize);
  line-height: var(--cnvs-btn-lineheight);
  text-align: center;
  background-color: var(--cnvs-btn-color);
  color: #fff;
  font-weight: 500;
  border: var(--cnvs-btn-border-width) solid transparent;
  transition: all 0.2s ease-in-out;
  /* Buttons - Border
  -----------------------------------------------------------------*/
  /* Buttons - 3D
  -----------------------------------------------------------------*/
  /* Buttons - Icon Reveal
  -----------------------------------------------------------------*/
}
.button[class*='bg-opacity-'] {
  --cnvs-btn-color: rgba(var(--cnvs-themecolor-rgb), var(--bs-bg-opacity, 1));
}
.button i {
  position: relative;
  margin-right: calc(
    var(--cnvs-btn-icon-margin) + var(--cnvs-btn-icon-margin-offset)
  );
  width: 1rem;
  text-align: center;
}
.button.text-end i {
  margin: 0 0 0
    calc(var(--cnvs-btn-icon-margin) + var(--cnvs-btn-icon-margin-offset));
}
@media (prefers-reduced-motion: reduce) {
  .button {
    transition: none;
  }
}
.button.button-dark {
  background-color: var(--cnvs-btn-color-dark);
}
.button.button-light {
  --cnvs-btn-color: var(--cnvs-btn-color-light);
  color: var(--cnvs-btn-color-dark);
}
.button:hover {
  background-color: var(--cnvs-btn-color-dark);
  color: #fff;
}
.button.button-dark:hover {
  background-color: var(--cnvs-btn-color);
}
.button.button-mini {
  --cnvs-btn-padding-x: 0.875rem;
  --cnvs-btn-padding-y: 0.25rem;
  --cnvs-btn-fontsize: 0.75rem;
}
.button.button-small {
  --cnvs-btn-padding-x: 1.125rem;
  --cnvs-btn-padding-y: 0.5rem;
  --cnvs-btn-fontsize: 0.875rem;
}
.button.button-large {
  --cnvs-btn-padding-x: 1.625rem;
  --cnvs-btn-padding-y: 0.5rem;
  --cnvs-btn-fontsize: 1.125rem;
}
.button.button-xlarge {
  --cnvs-btn-padding-x: 2.25rem;
  --cnvs-btn-padding-y: 0.625rem;
  --cnvs-btn-fontsize: 1.25rem;
}
.button-desc {
  --cnvs-btn-padding-x: 2.25rem;
  --cnvs-btn-padding-y: 1.5rem;
  --cnvs-btn-fontsize: 1.25rem;
  --cnvs-btn-lineheight: 1;
  text-align: left;
  font-family: var(--cnvs-body-font);
  font-weight: 500;
}
.button-desc span {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: var(--cnvs-secondary-font);
  text-transform: none;
}
.button-desc i {
  font-size: 3.4285714286rem;
  width: 3.4285714286rem;
  text-align: center;
  margin-right: 12px;
}
.button-desc.text-end i {
  margin: 0 0 0 12px;
}
.button-desc div {
  display: inline-block;
}
.button-rounded {
  border-radius: 0.25rem;
}
.button.button-border {
  --cnvs-btn-border-color: var(--cnvs-btn-color-dark);
  border: var(--cnvs-btn-border-width) solid var(--cnvs-btn-border-color);
  background: transparent;
  color: var(--cnvs-btn-border-color);
}
.button.button-border.button-desc {
  line-height: 1;
}
.button.button-border:not(.button-fill):hover {
  background-color: var(--cnvs-btn-color);
  color: #fff;
  border-color: transparent !important;
}
.button.button-border.button-light {
  --cnvs-btn-border-color: #fff;
}
.button.button-border.button-light:hover {
  background-color: #fff;
  color: var(--cnvs-btn-color-dark);
}
.button.button-3d {
  border-radius: 0.25rem;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.15);
  transition: none;
}
.button.button-3d:hover {
  background-color: var(--cnvs-btn-color);
  opacity: 0.9;
}
.button.button-reveal {
  padding-left: 28px;
  padding-right: 28px;
  overflow: hidden;
}
.button.button-reveal i {
  display: block;
  position: absolute;
  top: 0;
  left: -32px;
  width: 32px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  background-color: rgba(0, 0, 0, 0.15);
}
.button.button-reveal.button-border i {
  top: -2px;
  height: calc(100% + var(--cnvs-btn-border-width) * 2);
}
.button.button-reveal.text-end i {
  left: auto;
  right: -32px;
}
.button.button-reveal span {
  display: inline-block;
  position: relative;
  left: 0;
}
.button.button-reveal.button-mini {
  padding-left: 17px;
  padding-right: 17px;
}
.button.button-reveal.button-mini i {
  left: -22px;
  width: 22px;
}
.button.button-reveal.button-mini.text-end i {
  left: auto;
  right: -22px;
}
.button.button-reveal.button-mini:hover span {
  left: 11px;
}
.button.button-reveal.button-mini.text-end:hover span {
  left: -11px;
}
.button.button-reveal.button-small {
  padding-left: 20px;
  padding-right: 20px;
}
.button.button-reveal.button-small i {
  left: -26px;
  width: 26px;
}
.button.button-reveal.button-small.text-end i {
  left: auto;
  right: -26px;
}
.button.button-reveal.button-small:hover span {
  left: 13px;
}
.button.button-reveal.button-small.text-end:hover span {
  left: -13px;
}
.button.button-reveal.button-large {
  padding-left: 32px;
  padding-right: 32px;
}
.button.button-reveal.button-large i {
  left: -38px;
  width: 38px;
}
.button.button-reveal.button-large.text-end i {
  left: auto;
  right: -38px;
}
.button.button-reveal.button-large:hover span {
  left: 19px;
}
.button.button-reveal.button-large.text-end:hover span {
  left: -19px;
}
.button.button-reveal.button-xlarge {
  padding-right: 40px;
  padding-left: 40px;
}
.button.button-reveal.button-xlarge i {
  left: -44px;
  width: 44px;
}
.button.button-reveal.button-xlarge.text-end i {
  left: auto;
  right: -44px;
}
.button.button-reveal.button-xlarge:hover span {
  left: 22px;
}
.button.button-reveal.button-xlarge.text-end:hover span {
  left: -22px;
}
.button.button-reveal:hover i {
  left: 0;
}
.button.button-reveal.text-end:hover i {
  left: auto;
  right: 0;
}
.button.button-reveal:hover span {
  left: 16px;
}
.button.button-reveal.text-end:hover span {
  left: -16px;
}
.button.button-reveal.button-light:hover {
  color: var(--cnvs-btn-color-light);
}

.button-reveal i,
.button-reveal span {
  transition: left 0.3s ease, right 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .button-reveal i,
  .button-reveal span {
    transition: none;
  }
}

/* Buttons - Promo 100% Width
-----------------------------------------------------------------*/
.button.button-full {
  display: block;
  width: 100%;
  white-space: normal;
  margin: 0;
  height: auto;
  line-height: 1.6;
  padding: 30px 0;
  font-size: 2.14rem;
  font-weight: 300;
  text-transform: none;
  border-radius: 0;
}
.button.button-full.button-light {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.button.button-full.button-light strong {
  border-bottom-color: var(--cnvs-btn-color-dark);
}
.button.button-full.button-light:hover strong {
  border-bottom-color: rgba(var(--cnvs-contrast-rgb), 0.2);
}
.button.button-full strong {
  font-weight: 700;
  border-bottom: 2px solid rgba(var(--cnvs-contrast-rgb), 0.2);
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .button.button-full strong {
    transition: none;
  }
}

/* Buttons - Circle
-----------------------------------------------------------------*/
.button.button-circle {
  border-radius: 50rem;
}

/* Buttons - Flat
-----------------------------------------------------------------*/
.button-flat {
  --cnvs-btn-color-flat: var(--cnvs-btn-color);
  position: relative;
  background-color: #fff;
  overflow: hidden;
  color: var(--cnvs-btn-color-flat);
  border: 0;
}
.button-flat-border {
  border: var(--cnvs-btn-border-width) solid var(--cnvs-btn-color-flat);
}
.button-flat::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cnvs-btn-color-flat);
  opacity: 0.1;
}
.button-flat:hover {
  background-color: var(--cnvs-btn-color);
  color: #fff;
}

/* Buttons - Action
-----------------------------------------------------------------*/
.button-action {
  --cnvs-btn-padding-x: 0 !important;
  --cnvs-btn-action-padding-x: 1rem;
  --cnvs-btn-action-width: 2.625rem;
  --cnvs-btn-action-radius: 50rem;
  --cnvs-btn-action-border: 3px;
  --cnvs-btn-action-border-color: var(--cnvs-themecolor);
  --cnvs-btn-action-transition-speed: 0.2s;
  --cnvs-btn-action-icon-move: -4px;
  border-radius: var(--cnvs-btn-action-radius);
  border: var(--cnvs-btn-action-border) solid
    var(--cnvs-btn-action-border-color);
}
.button-action span {
  position: relative;
  display: inline-block;
  padding-right: var(--cnvs-btn-action-padding-x);
  padding-left: calc(var(--cnvs-btn-action-padding-x) + 0.5rem);
  z-index: 1;
  transition: color var(--cnvs-btn-action-transition-speed) ease;
}
.button-action i {
  color: #000;
  width: var(--cnvs-btn-action-width);
  height: 100%;
  margin: 0;
  z-index: 1;
  transition: transform var(--cnvs-btn-action-transition-speed) ease;
}
.button-action::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  background-color: #fff;
  color: #000;
  width: var(--cnvs-btn-action-width);
  height: 100%;
  text-align: center;
  border-radius: var(--cnvs-btn-action-radius);
  transition: width var(--cnvs-btn-action-transition-speed) ease,
    height var(--cnvs-btn-action-transition-speed) ease;
  will-change: width, height;
}
.button-action:hover {
  background-color: inherit;
}
.button-action:hover::after {
  width: 100%;
}
.button-action:hover i {
  transform: translateX(var(--cnvs-btn-action-icon-move));
}
.button-action:hover span {
  color: #000;
}
.button-action.button-large {
  --cnvs-btn-action-width: 3rem;
}
.button-action.button-xlarge {
  --cnvs-btn-action-border: 4px;
  --cnvs-btn-action-width: 3.5rem;
}

/* Buttons - Fill Effect
-----------------------------------------------------------------*/
.button-shadow {
  --cnvs-btn-shadow-size: 4px;
  --cnvs-btn-shadow-color: var(--cnvs-btn-color);
  box-shadow: var(--cnvs-btn-shadow-size) var(--cnvs-btn-shadow-size) 0px 0px
    var(--cnvs-btn-shadow-color);
}
.button-shadow-dark {
  --cnvs-btn-shadow-color: var(--bs-dark);
}
.button-shadow-contrast {
  --cnvs-btn-shadow-color: var(--cnvs-contrast-900);
}
.button-shadow:not(.button-shadow-nohover):hover {
  box-shadow: none;
}
.button-shadow-effect:not(.button-shadow-nohover):hover {
  transform: translate3d(
    var(--cnvs-btn-shadow-size),
    var(--cnvs-btn-shadow-size),
    0
  );
}

/* Buttons - Fill Effect
-----------------------------------------------------------------*/
.button.button-border.button-fill {
  overflow: hidden;
  transform-style: preserve-3d;
  -webkit-mask-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC);
  -webkit-backface-visibility: hidden;
}
.button.button-border.button-fill span {
  position: relative;
}
.button.button-border.button-fill:hover {
  background: transparent !important;
  color: #fff;
}
.button.button-border.button-fill.button-light:hover {
  border-color: var(--cnvs-btn-color-light) !important;
  color: var(--cnvs-btn-color-dark) !important;
}
.button.button-border.button-fill.button-light ::before {
  background-color: var(--cnvs-btn-color-light);
}
.button.button-border.button-fill::before {
  content: '';
  position: absolute;
  background-color: var(--cnvs-contrast-900);
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all 0.4s ease;
  -webkit-backface-visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .button.button-border.button-fill::before {
    transition: none;
  }
}
.button.button-border.button-fill::before ::before {
  width: 100%;
}
.button.button-border.button-fill.fill-from-right::before {
  left: auto;
  right: 0;
}
.button.button-border.button-fill:hover::before {
  width: 100%;
}
.button.button-border.button-fill.fill-from-top::before,
.button.button-border.button-fill.fill-from-bottom::before {
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .button.button-border.button-fill.fill-from-top::before,
  .button.button-border.button-fill.fill-from-bottom::before {
    transition: none;
  }
}
.button.button-border.button-fill.fill-from-top::before {
  width: 100%;
  height: 0;
}
.button.button-border.button-fill.fill-from-top:hover::before {
  height: 100%;
}
.button.button-border.button-fill.fill-from-bottom::before {
  width: 100%;
  height: 0;
  top: auto;
  bottom: 0;
}
.button.button-border.button-fill.fill-from-bottom:hover::before {
  height: 100%;
}

/* Buttons - Icon Animations
-----------------------------------------------------------------*/
.button-icon-effect {
  overflow: hidden;
  vertical-align: top;
}
.button-icon-effect i {
  --cnvs-btn-icon-margin-offset: 0.25rem;
}
.button-icon-effect.button-icon-flip-x i {
  animation: buttonIconSlideBack 0.3s ease;
}
.button-icon-effect.button-icon-flip-x:hover i {
  animation: buttonIconSlideFront 0.5s forwards;
}
@keyframes buttonIconSlideBack {
  0% {
    transform: translateX(0);
  }
  25% {
    opacity: 0;
  }
  26% {
    transform: translateX(-100%);
  }
  27% {
    transform: translateX(100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes buttonIconSlideFront {
  0% {
    transform: translateX(0);
  }
  25% {
    opacity: 0;
  }
  26% {
    transform: translateX(100%);
  }
  27% {
    transform: translateX(-100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateX(0);
  }
}
.button-icon-effect.button-icon-flip-y i {
  animation: buttonIconSlideUp 0.3s ease;
}
.button-icon-effect.button-icon-flip-y:hover i {
  animation: buttonIconSlideDown 0.5s forwards;
}
@keyframes buttonIconSlideUp {
  0% {
    transform: translateY(0);
  }
  25% {
    opacity: 0;
  }
  26% {
    transform: translateY(-100%);
  }
  27% {
    transform: translateY(100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes buttonIconSlideDown {
  0% {
    transform: translateY(0);
  }
  25% {
    opacity: 0;
  }
  26% {
    transform: translateY(100%);
  }
  27% {
    transform: translateY(-100%);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translateY(0);
  }
}

/* Buttons - Text Animations
-----------------------------------------------------------------*/
.button-text-effect {
  overflow: hidden;
  vertical-align: top;
}
.button-text-effect .button-inner {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}
.button-text-effect .button-inner span {
  transition: all 0.3s cubic-bezier(0.17, 0.75, 0.8, 1);
}
.button-text-effect .button-inner span:nth-child(1) {
  display: inline-block;
  opacity: 1;
}
.button-text-effect .button-inner span:nth-child(2) {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.button-text-effect:hover span:nth-child(1) {
  opacity: 0;
}
.button-text-effect:hover span:nth-child(2) {
  opacity: 1;
}
.button-text-effect.button-text-flip-x span:nth-child(1) {
  transform: translate(0, 0);
}
.button-text-effect.button-text-flip-x span:nth-child(2) {
  transform: translate(100%, 0);
}
.button-text-effect.button-text-flip-x:hover span:nth-child(1) {
  transform: translate(-100%, 0);
}
.button-text-effect.button-text-flip-x:hover span:nth-child(2) {
  transform: translate(0, 0);
}
.button-text-effect.button-text-flip-y span:nth-child(1) {
  transform: translate(0, 0);
}
.button-text-effect.button-text-flip-y span:nth-child(2) {
  transform: translate(0, 100%);
}
.button-text-effect.button-text-flip-y:hover span:nth-child(1) {
  transform: translate(0, -100%);
}
.button-text-effect.button-text-flip-y:hover span:nth-child(2) {
  transform: translate(0, 0);
}

/* Buttons - Colors
-----------------------------------------------------------------*/
.button-red {
  --cnvs-btn-color: #c02942;
}
.button-red.button-3d:hover,
.button-red.button-reveal:hover,
.button-red.button-border:hover {
  --cnvs-btn-color: #c02942 !important;
}
.button-red.button-border.button-fill::before {
  background-color: #c02942;
}
.button-red.button-action {
  --cnvs-btn-action-border-color: #c02942;
}

.button-border.button-red,
.button-border.button-light.button-red {
  color: #c02942;
  border-color: #c02942;
}

.button-teal {
  --cnvs-btn-color: #53777a;
}
.button-teal.button-3d:hover,
.button-teal.button-reveal:hover,
.button-teal.button-border:hover {
  --cnvs-btn-color: #53777a !important;
}
.button-teal.button-border.button-fill::before {
  background-color: #53777a;
}
.button-teal.button-action {
  --cnvs-btn-action-border-color: #53777a;
}

.button-border.button-teal,
.button-border.button-light.button-teal {
  color: #53777a;
  border-color: #53777a;
}

.button-yellow {
  --cnvs-btn-color: #ecd078;
}
.button-yellow.button-3d:hover,
.button-yellow.button-reveal:hover,
.button-yellow.button-border:hover {
  --cnvs-btn-color: #ecd078 !important;
}
.button-yellow.button-border.button-fill::before {
  background-color: #ecd078;
}
.button-yellow.button-action {
  --cnvs-btn-action-border-color: #ecd078;
}

.button-border.button-yellow,
.button-border.button-light.button-yellow {
  color: #ecd078;
  border-color: #ecd078;
}

.button-purple {
  --cnvs-btn-color: #5d4157;
}
.button-purple.button-3d:hover,
.button-purple.button-reveal:hover,
.button-purple.button-border:hover {
  --cnvs-btn-color: #5d4157 !important;
}
.button-purple.button-border.button-fill::before {
  background-color: #5d4157;
}
.button-purple.button-action {
  --cnvs-btn-action-border-color: #5d4157;
}

.button-border.button-purple,
.button-border.button-light.button-purple {
  color: #5d4157;
  border-color: #5d4157;
}

.button-pink {
  --cnvs-btn-color: #f89fa1;
}
.button-pink.button-3d:hover,
.button-pink.button-reveal:hover,
.button-pink.button-border:hover {
  --cnvs-btn-color: #f89fa1 !important;
}
.button-pink.button-border.button-fill::before {
  background-color: #f89fa1;
}
.button-pink.button-action {
  --cnvs-btn-action-border-color: #f89fa1;
}

.button-border.button-pink,
.button-border.button-light.button-pink {
  color: #f89fa1;
  border-color: #f89fa1;
}

.button-blue {
  --cnvs-btn-color: #1265a8;
}
.button-blue.button-3d:hover,
.button-blue.button-reveal:hover,
.button-blue.button-border:hover {
  --cnvs-btn-color: #1265a8 !important;
}
.button-blue.button-border.button-fill::before {
  background-color: #1265a8;
}
.button-blue.button-action {
  --cnvs-btn-action-border-color: #1265a8;
}

.button-border.button-blue,
.button-border.button-light.button-blue {
  color: #1265a8;
  border-color: #1265a8;
}

.button-green {
  --cnvs-btn-color: #59ba41;
}
.button-green.button-3d:hover,
.button-green.button-reveal:hover,
.button-green.button-border:hover {
  --cnvs-btn-color: #59ba41 !important;
}
.button-green.button-border.button-fill::before {
  background-color: #59ba41;
}
.button-green.button-action {
  --cnvs-btn-action-border-color: #59ba41;
}

.button-border.button-green,
.button-border.button-light.button-green {
  color: #59ba41;
  border-color: #59ba41;
}

.button-brown {
  --cnvs-btn-color: #774f38;
}
.button-brown.button-3d:hover,
.button-brown.button-reveal:hover,
.button-brown.button-border:hover {
  --cnvs-btn-color: #774f38 !important;
}
.button-brown.button-border.button-fill::before {
  background-color: #774f38;
}
.button-brown.button-action {
  --cnvs-btn-action-border-color: #774f38;
}

.button-border.button-brown,
.button-border.button-light.button-brown {
  color: #774f38;
  border-color: #774f38;
}

.button-aqua {
  --cnvs-btn-color: #40c0cb;
}
.button-aqua.button-3d:hover,
.button-aqua.button-reveal:hover,
.button-aqua.button-border:hover {
  --cnvs-btn-color: #40c0cb !important;
}
.button-aqua.button-border.button-fill::before {
  background-color: #40c0cb;
}
.button-aqua.button-action {
  --cnvs-btn-action-border-color: #40c0cb;
}

.button-border.button-aqua,
.button-border.button-light.button-aqua {
  color: #40c0cb;
  border-color: #40c0cb;
}

.button-lime {
  --cnvs-btn-color: #aee239;
}
.button-lime.button-3d:hover,
.button-lime.button-reveal:hover,
.button-lime.button-border:hover {
  --cnvs-btn-color: #aee239 !important;
}
.button-lime.button-border.button-fill::before {
  background-color: #aee239;
}
.button-lime.button-action {
  --cnvs-btn-action-border-color: #aee239;
}

.button-border.button-lime,
.button-border.button-light.button-lime {
  color: #aee239;
  border-color: #aee239;
}

.button-leaf {
  --cnvs-btn-color: #a8caba;
}
.button-leaf.button-3d:hover,
.button-leaf.button-reveal:hover,
.button-leaf.button-border:hover {
  --cnvs-btn-color: #a8caba !important;
}
.button-leaf.button-border.button-fill::before {
  background-color: #a8caba;
}
.button-leaf.button-action {
  --cnvs-btn-action-border-color: #a8caba;
}

.button-border.button-leaf,
.button-border.button-light.button-leaf {
  color: #a8caba;
  border-color: #a8caba;
}

.button-dirtygreen {
  --cnvs-btn-color: #1693a5;
}
.button-dirtygreen.button-3d:hover,
.button-dirtygreen.button-reveal:hover,
.button-dirtygreen.button-border:hover {
  --cnvs-btn-color: #1693a5 !important;
}
.button-dirtygreen.button-border.button-fill::before {
  background-color: #1693a5;
}
.button-dirtygreen.button-action {
  --cnvs-btn-action-border-color: #1693a5;
}

.button-border.button-dirtygreen,
.button-border.button-light.button-dirtygreen {
  color: #1693a5;
  border-color: #1693a5;
}

.button-amber {
  --cnvs-btn-color: #eb9c4d;
}
.button-amber.button-3d:hover,
.button-amber.button-reveal:hover,
.button-amber.button-border:hover {
  --cnvs-btn-color: #eb9c4d !important;
}
.button-amber.button-border.button-fill::before {
  background-color: #eb9c4d;
}
.button-amber.button-action {
  --cnvs-btn-action-border-color: #eb9c4d;
}

.button-border.button-amber,
.button-border.button-light.button-amber {
  color: #eb9c4d;
  border-color: #eb9c4d;
}

.button-black {
  --cnvs-btn-color: #111;
}
.button-black.button-3d:hover,
.button-black.button-reveal:hover,
.button-black.button-border:hover {
  --cnvs-btn-color: #111 !important;
}
.button-black.button-border.button-fill::before {
  background-color: #111;
}
.button-black.button-action {
  --cnvs-btn-action-border-color: #111;
}

.button-border.button-black,
.button-border.button-light.button-black {
  color: #111;
  border-color: #111;
}

.button-light.button-yellow {
  --cnvs-btn-color: #ecd078;
}

.button-border.button-yellow:hover,
.button-border.button-yellow.button-fill.button-light:hover {
  color: #333 !important;
}

.button-white {
  --cnvs-btn-color: var(--bs-gray-100);
}

.button-3d.button-white:hover {
  color: var(--bs-gray-900) !important;
}

.button-reveal.button-white:hover {
  --cnvs-btn-color: var(--bs-gray-100) !important;
}

.button[class*='gradient-'] {
  border: 0;
}

/* Buttons - No Hover
-----------------------------------------------------------------*/
.button.button-nohover:hover {
  opacity: inherit !important;
  background-color: inherit !important;
  color: inherit !important;
  border-color: inherit !important;
}

/* Buttons - States
-----------------------------------------------------------------*/
.button.disabled,
.button:disabled {
  opacity: 0.65 !important;
  pointer-events: none !important;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: promo.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Promo Boxes
-----------------------------------------------------------------*/
.promo {
  --cnvs-promo-span-font-size: 1.125rem;
  --cnvs-promo-uppercase-font-size: 1.25rem;
  --cnvs-promo-uppercase-span-font-size: 1rem;
  --cnvs-promo-border: 1px solid var(--cnvs-contrast-200);
  --cnvs-promo-light: rgba(var(--cnvs-contrast-rgb), 0.05);
  --cnvs-promo-light-text-color: var(--cnvs-heading-color);
  --cnvs-promo-dark: #343a40;
  --cnvs-promo-dark-text-color: #fff;
  --cnvs-promo-parallax-padding: 5rem;
  position: relative;
  /* Promo - Light
  -----------------------------------------------------------------*/
  /* Promo - Dark
  -----------------------------------------------------------------*/
  /* Promo - 100% Full Width
  -----------------------------------------------------------------*/
  /* Promo - Parallax
  -----------------------------------------------------------------*/
  /* Promo - Mini
  -----------------------------------------------------------------*/
}
.promo h3,
.promo .h3 {
  font-weight: bold;
  margin-bottom: 0;
}
.promo h3 + span,
.promo .h3 + span {
  display: block;
  color: var(--cnvs-promo-light-text-color);
  font-weight: 300;
  font-size: var(--cnvs-promo-span-font-size);
  margin-top: 6px;
}
.promo-uppercase {
  text-transform: uppercase;
}
.promo-uppercase h3,
.promo-uppercase .h3 {
  font-size: var(--cnvs-promo-uppercase-span-font-size);
}
.promo-uppercase h3 + span,
.promo-uppercase .h3 + span {
  font-size: var(--cnvs-promo-span-font-size);
}
.promo-border {
  border: var(--cnvs-promo-border);
  border-radius: 3px;
}
.promo-light {
  background-color: var(--cnvs-promo-light);
  border-radius: 3px;
}
.promo-dark {
  border: 0 !important;
  background-color: var(--cnvs-promo-dark);
  border-radius: 3px;
}
.promo-dark h3,
.promo-dark .h3 {
  color: var(--cnvs-promo-dark-text-color);
}
.promo-dark h3 + span,
.promo-dark .h3 + span {
  color: var(--bs-gray-100);
  font-weight: 400;
}
.promo-full {
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}
.promo.parallax {
  padding: var(--cnvs-promo-parallax-padding) 0 !important;
}
.promo-mini {
  text-align: left;
}
.promo-mini h3,
.promo-mini .h3 {
  font-size: var(--cnvs-promo-uppercase-span-font-size);
}
.promo-mini.promo-uppercase h3,
.promo-mini.promo-uppercase .h3 {
  font-size: var(--cnvs-promo-span-font-size);
}

/*-----------------------------------------------------------------------------------

	Shortcodes: feature-box.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Featured Boxes
-----------------------------------------------------------------*/
.feature-box {
  --cnvs-featured-box-icon: 4rem;
  --cnvs-featured-box-padding-x: 0.75rem;
  --cnvs-featured-box-icon-size: 1.75rem;
  --cnvs-featured-box-font-size: 1.125rem;
  --cnvs-featured-box-font-color: var(--cnvs-heading-color);
  --cnvs-featured-box-font-weight: 600;
  --cnvs-featured-box-font-tt: none;
  --cnvs-featured-box-icon-sm: calc(4rem * 0.5);
  --cnvs-featured-box-padding-x-sm: calc(0.75rem / 1.5);
  --cnvs-featured-box-icon-size-sm: calc(1.75rem / 1.75);
  --cnvs-featured-box-icon-lg: calc(4rem * 1.5);
  --cnvs-featured-box-icon-size-lg: calc(1.75rem * 1.4285714286);
  --cnvs-featured-box-icon-xl: calc(4rem * 2);
  --cnvs-featured-box-icon-size-xl: calc(1.75rem * 2.5714285714);
  --cnvs-featured-box-outline-border: 1px;
  --cnvs-featured-box-outline-padding: 0.25rem;
  --cnvs-featured-box-rounded: 0.25rem;
  --cnvs-featured-box-bg-light: var(--cnvs-contrast-200);
  --cnvs-featured-box-bg-dark: #343a40;
  --cnvs-featured-box-plain-font-size: 3rem;
  --cnvs-featured-box-plain-icon-size: 3rem;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-left: calc(-1 * var(--cnvs-featured-box-padding-x));
  margin-right: calc(-1 * var(--cnvs-featured-box-padding-x));
}
.feature-box:first-child {
  margin-top: 0;
}

.fbox {
  /* Feature Box - Icon Small
  -----------------------------------------------------------------*/
  /* Feature Box - Icon Large
  -----------------------------------------------------------------*/
  /* Feature Box - Icon X-Large
  -----------------------------------------------------------------*/
  /* Feature Box - Icon Outline
  -----------------------------------------------------------------*/
  /* Feature Box - Icon Rounded
  -----------------------------------------------------------------*/
  /* Feature Box - Light Background
  -----------------------------------------------------------------*/
  /* Feature Box - Dark Background
  -----------------------------------------------------------------*/
  /* Feature Box - Border
  -----------------------------------------------------------------*/
  /* Feature Box - Plain
  -----------------------------------------------------------------*/
  /* Feature Box - Center
  -----------------------------------------------------------------*/
  /* Feature Box - Subtitle
  -----------------------------------------------------------------*/
  /* Feature Box - Background
  -----------------------------------------------------------------*/
}
.fbox-icon {
  width: calc(
    var(--cnvs-featured-box-icon) + var(--cnvs-featured-box-padding-x) * 2
  );
  height: var(--cnvs-featured-box-icon);
  padding: 0 var(--cnvs-featured-box-padding-x);
}
.fbox-icon a,
.fbox-icon i,
.fbox-icon img {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  color: #fff;
}
.fbox-icon i,
.fbox-icon img {
  border-radius: 50%;
  background-color: var(--cnvs-themecolor);
}
.fbox-icon i {
  font-style: normal;
  font-size: var(--cnvs-featured-box-icon-size);
  line-height: var(--cnvs-featured-box-icon);
  text-align: center;
}
.fbox-content {
  flex-basis: 0;
  flex-grow: 1;
  min-width: 0;
  max-width: 100%;
  padding: 0 var(--cnvs-featured-box-padding-x);
}
.fbox-content h3,
.fbox-content .h3 {
  font-size: var(--cnvs-featured-box-font-size);
  font-weight: var(--cnvs-featured-box-font-weight);
  font-family: var(--cnvs-primary-font);
  text-transform: var(--cnvs-featured-box-font-tt);
  margin-bottom: 0;
  color: var(--cnvs-featured-box-font-color);
}
.fbox-content p {
  margin-top: 0.5rem;
  margin-bottom: 0px;
  color: var(--cnvs-contrast-600);
}
.fbox-content .before-heading {
  font-size: calc(var(--cnvs-featured-box-font-size) / 1.142);
}
.fbox-content-sm h3,
.fbox-content-sm .h3,
.fbox-content-sm p {
  font-size: calc(var(--cnvs-featured-box-font-size) / 1.142);
}
.fbox-content-sm .before-heading {
  font-size: calc(var(--cnvs-featured-box-font-size) / 1.333);
}
.fbox-content-lg h3,
.fbox-content-lg .h3 {
  font-size: calc(var(--cnvs-featured-box-font-size) * 1.25);
}
.fbox-content-lg p {
  font-size: calc(var(--cnvs-featured-box-font-size) * 1.25);
  margin-top: 0.75rem;
}
.fbox-content-lg .before-heading {
  font-size: var(--cnvs-featured-box-font-size);
}
.fbox-sm {
  --cnvs-featured-box-padding-x: var(--cnvs-featured-box-padding-x-sm);
  --cnvs-featured-box-icon: var(--cnvs-featured-box-icon-sm);
  --cnvs-featured-box-icon-size: var(--cnvs-featured-box-icon-size-sm);
}
.fbox-lg {
  --cnvs-featured-box-icon: var(--cnvs-featured-box-icon-lg);
  --cnvs-featured-box-icon-size: var(--cnvs-featured-box-icon-size-lg);
}
.fbox-xl {
  --cnvs-featured-box-icon: var(--cnvs-featured-box-icon-xl);
  --cnvs-featured-box-icon-size: var(--cnvs-featured-box-icon-size-xl);
}
.fbox-outline .fbox-icon a {
  border: var(--cnvs-featured-box-outline-border) solid var(--cnvs-themecolor);
  padding: var(--cnvs-featured-box-outline-padding);
  border-radius: 50%;
}
.fbox-outline .fbox-icon i {
  line-height: calc(var(--cnvs-featured-box-icon) / 1.1428);
}
.fbox-rounded {
  /* Feature Box - Icon Rounded Sizes
  -----------------------------------------------------------------*/
}
.fbox-rounded .fbox-icon {
  border-radius: var(--cnvs-featured-box-rounded) !important;
}
.fbox-rounded .fbox-icon i,
.fbox-rounded .fbox-icon img {
  border-radius: var(--cnvs-featured-box-rounded) !important;
}
.fbox-rounded .fbox-lg {
  --cnvs-featured-box-rounded: calc(var(--cnvs-featured-box-rounded) / 0.75);
}
.fbox-rounded .fbox-xl {
  --cnvs-featured-box-rounded: calc(var(--cnvs-featured-box-rounded) * 2);
}
.fbox-light.fbox-outline .fbox-icon a {
  border-color: var(--cnvs-contrast-200);
}
.fbox-light .fbox-icon i,
.fbox-light .fbox-icon img {
  border: var(--cnvs-featured-box-outline-border) solid var(--cnvs-contrast-200);
  background-color: var(--cnvs-featured-box-bg-light);
  color: var(--cnvs-heading-color);
}
.fbox-dark.fbox-outline .fbox-icon a {
  border-color: var(--bs-gray-700);
}
.fbox-dark.fbox-outline .fbox-icon i,
.fbox-dark.fbox-outline .fbox-icon img {
  background-color: var(--cnvs-featured-box-bg-dark);
}
.fbox-border {
  /* Feature Box - Border - Light
  -----------------------------------------------------------------*/
  /* Feature Box - Border - Light / Dark
  -----------------------------------------------------------------*/
}
.fbox-border .fbox-icon a {
  border: var(--cnvs-featured-box-outline-border) solid var(--cnvs-themecolor);
  border-radius: 50%;
}
.fbox-border .fbox-icon i,
.fbox-border .fbox-icon img {
  border: none;
  background-color: transparent !important;
  color: var(--cnvs-themecolor);
}
.fbox-border.fbox-light .fbox-icon a {
  border-color: var(--cnvs-contrast-200);
}
.fbox-border.fbox-light .fbox-icon i,
.fbox-border.fbox-light .fbox-icon img {
  color: var(--cnvs-contrast-600);
}
.fbox-border.fbox-dark .fbox-icon a {
  border-color: var(--cnvs-contrast-200);
}
.fbox-border.fbox-dark .fbox-icon i,
.fbox-border.fbox-dark .fbox-icon img {
  color: var(--cnvs-heading-color);
}
.fbox-plain {
  /* Feature Box - Icon Plain Sizes
  -----------------------------------------------------------------*/
}
.fbox-plain .fbox-icon {
  border: none !important;
  height: auto !important;
}
.fbox-plain .fbox-icon i,
.fbox-plain .fbox-icon img {
  border: none;
  background-color: transparent;
  color: var(--cnvs-themecolor);
  border-radius: 0;
}
.fbox-plain .fbox-icon i {
  font-size: var(--cnvs-featured-box-plain-font-size);
  line-height: 1;
}
.fbox-plain .fbox-icon img {
  height: auto;
}
.fbox-plain.fbox-image .fbox-icon {
  width: auto;
}
.fbox-plain.fbox-image .fbox-icon img {
  width: auto;
  display: inline-block;
}
.fbox-plain.fbox-light .fbox-icon i,
.fbox-plain.fbox-light .fbox-icon img {
  color: var(--cnvs-contrast-600);
}
.fbox-plain.fbox-dark .fbox-icon i,
.fbox-plain.fbox-dark .fbox-icon img {
  color: var(--cnvs-contrast-700);
}
.fbox-plain.fbox-sm .fbox-icon i {
  font-size: calc(var(--cnvs-featured-box-plain-font-size) / 1.5);
}
.fbox-plain.fbox-lg .fbox-icon i {
  font-size: calc(var(--cnvs-featured-box-plain-font-size) * 1.5);
}
.fbox-plain.fbox-xl .fbox-icon i {
  font-size: calc(var(--cnvs-featured-box-plain-font-size) * 2);
}
.fbox-center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.fbox-center .fbox-icon {
  margin-bottom: 1.5rem;
}
.fbox-content h3 + .fbox-icon,
.fbox-content .h3 + .fbox-icon {
  margin-top: 1.5rem;
  margin-bottom: 0 !important;
}
.fbox-content h3 span.subtitle,
.fbox-content .h3 span.subtitle {
  display: block;
  margin-top: 5px;
  color: var(--cnvs-heading-color);
  font-weight: 300;
  text-transform: none;
}
.fbox-center.fbox-sep:not(.fbox-bg) h3::after,
.fbox-center.fbox-sep:not(.fbox-bg) .h3::after {
  content: '';
  display: block;
  margin: 1.25rem auto;
  width: 2rem;
  height: 2px;
  background-color: var(--cnvs-contrast-600);
  transition: width 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .fbox-center.fbox-sep:not(.fbox-bg) h3::after,
  .fbox-center.fbox-sep:not(.fbox-bg) .h3::after {
    transition: none;
  }
}
.fbox-center.fbox-sep:not(.fbox-bg):hover h3::after,
.fbox-center.fbox-sep:not(.fbox-bg):hover .h3::after {
  width: 3rem;
}
.fbox-center.fbox-italic p {
  font-style: italic;
  font-family: var(--cnvs-body-font);
}
.fbox-bg.fbox-center {
  margin-top: 2rem;
  margin-left: 0;
  margin-right: 0;
  padding: 0 2rem 2rem;
  border: 1px solid var(--cnvs-featured-box-bg-light);
  border-radius: 5px;
}
.fbox-bg.fbox-center .fbox-icon {
  margin-top: -2rem;
  background-color: var(--cnvs-body-bg);
}
.fbox-bg.fbox-center .fbox-lg {
  margin-top: 3rem;
}
.fbox-bg.fbox-center .fbox-lg .fbox-icon {
  margin-top: -3rem;
}
.fbox-bg.fbox-center .fbox-xl {
  margin-top: 4rem;
}
.fbox-bg.fbox-center .fbox-xl .fbox-icon {
  margin-top: -4rem;
}

/* Animated Icon Hovers
-----------------------------------------------------------------*/
.fbox-effect .fbox-icon i {
  z-index: 1;
}
.fbox-effect .fbox-icon i::after {
  pointer-events: none;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  content: '';
  box-sizing: content-box;
}

.fbox-rounded.fbox-effect .fbox-icon i::after {
  border-radius: var(--cnvs-featured-box-rounded);
}

.fbox-effect .fbox-icon i {
  transition: background-color 0.3s, color 0.3s;
}
@media (prefers-reduced-motion: reduce) {
  .fbox-effect .fbox-icon i {
    transition: none;
  }
}
.fbox-effect .fbox-icon i::after {
  top: -3px;
  left: -3px;
  padding: 3px;
  box-shadow: 0 0 0 2px var(--cnvs-featured-box-bg-dark);
  transition: opacity 0.3s;
  transform: scale(0.8);
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .fbox-effect .fbox-icon i::after {
    transition: none;
  }
}
.fbox-effect .fbox-icon i:hover,
.fbox-effect:hover .fbox-icon i {
  background-color: var(--cnvs-featured-box-bg-dark);
  color: #fff;
}
.fbox-effect.fbox-dark .fbox-icon i::after {
  box-shadow: 0 0 0 2px var(--cnvs-themecolor);
}
.fbox-effect.fbox-dark .fbox-icon i:hover,
.fbox-effect.fbox-dark:hover .fbox-icon i {
  background-color: var(--cnvs-themecolor);
}
.fbox-effect .fbox-icon i:hover::after,
.fbox-effect:hover .fbox-icon i::after {
  transform: scale(1);
  opacity: 1;
}

/* Icon Effects - Bordered
-----------------------------------------------------------------*/
.fbox-border.fbox-effect .fbox-icon i {
  transition: color 0.5s, box-shadow 0.5s, background-color 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .fbox-border.fbox-effect .fbox-icon i {
    transition: none;
  }
}
.fbox-border.fbox-effect .fbox-icon i::after {
  top: -2px;
  left: -2px;
  padding: 2px;
  z-index: -1;
  box-shadow: none;
  background-image: url('images/icons/iconalt.svg');
  background-position: center center;
  background-size: 100% 100%;
  transition: opacity 0.5s, background-color 0.5s;
}
@media (prefers-reduced-motion: reduce) {
  .fbox-border.fbox-effect .fbox-icon i::after {
    transition: none;
  }
}
.fbox-border.fbox-rounded.fbox-effect .fbox-icon i::after {
  border-radius: 3px;
}
.fbox-border.fbox-effect .fbox-icon i:hover,
.fbox-border.fbox-effect:hover .fbox-icon i {
  color: #fff;
  box-shadow: 0 0 0 1px var(--cnvs-featured-box-bg-dark);
}
.fbox-border.fbox-effect .fbox-icon i::after {
  transform: scale(1.3);
  opacity: 0;
  background-color: var(--cnvs-featured-box-bg-dark);
}
.fbox-border.fbox-effect.fbox-dark .fbox-icon i:hover,
.fbox-border.fbox-effect.fbox-dark:hover .fbox-icon i {
  box-shadow: 0 0 0 1px var(--cnvs-themecolor);
}
.fbox-border.fbox-effect.fbox-dark .fbox-icon i::after {
  background-color: var(--cnvs-themecolor);
}
.fbox-border.fbox-effect .fbox-icon i:hover::after,
.fbox-border.fbox-effect:hover .fbox-icon i::after {
  transform: scale(1);
  opacity: 1;
}

/* Media Featured Box
-----------------------------------------------------------------*/
.media-box {
  padding: 0;
  margin-left: 0;
  margin-right: 0;
  flex-direction: column;
}
.media-box .fbox-media {
  margin: 0 0 1.5rem;
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.media-box .fbox-media a,
.media-box .fbox-media img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}
.media-box .fbox-media iframe {
  display: block;
}
.media-box p {
  margin-top: 1rem;
}
.media-box.fbox-bg .fbox-media {
  margin: 0;
}
.media-box.fbox-bg .fbox-media img {
  border-radius: 5px 5px 0 0;
}
.media-box.fbox-bg .fbox-content {
  padding: 1.5rem;
  background-color: var(--cnvs-body-bg);
  border: 1px solid var(--cnvs-featured-box-bg-light);
  border-top: 0;
  border-radius: 0 0 5px 5px;
}
.media-box .fbox-content {
  -ms-flex-preferred-size: auto;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: process-steps.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Process Steps
-----------------------------------------------------------------*/
.process-steps {
  margin: 0 0 40px;
  list-style: none;
}
.process-steps li {
  position: relative;
  text-align: center;
  overflow: hidden;
}
.process-steps li .i-style {
  position: relative;
  z-index: 1;
}
.process-steps li .i-circled {
  display: block;
  margin-bottom: 0 !important;
}
.process-steps li .i-bordered {
  --cnvs-i-bg-color: var(--cnvs-body-bg) !important;
  display: block;
  z-index: 1;
}
.process-steps li .i-bordered:hover {
  --cnvs-i-bg-color: var(--cnvs-contrast-900) !important;
}
.process-steps li .i-bordered.active {
  --cnvs-i-bg-color: var(--cnvs-themecolor) !important;
  --cnvs-i-color: var(--cnvs-contrast-100);
  border-color: var(--cnvs-themecolor) !important;
}
.process-steps li .i-bordered.active + h5,
.process-steps li .i-bordered.active + .h5 {
  font-weight: 600;
  color: var(--cnvs-themecolor);
}
@media (min-width: 992px) {
  .process-steps li::before,
  .process-steps li::after {
    content: '';
    position: absolute;
    top: 30px;
    left: 0;
    margin-left: calc(var(--cnvs-i-size) / -2);
    width: 50%;
    border-top: 1px dashed var(--cnvs-contrast-300);
  }
  .process-steps li::after {
    left: auto;
    right: 0;
    margin: 0 calc(var(--cnvs-i-size) / -2) 0 0;
  }
  .process-steps li:first-child::before,
  .process-steps li:last-child::after {
    display: none;
  }
  .process-steps li h5,
  .process-steps li .h5 {
    margin: 15px 0 0 0;
    font-size: 1rem;
    font-weight: 300;
  }
}

/*-----------------------------------------------------------------------------------

	Shortcodes: alerts.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Alerts
-----------------------------------------------------------------*/
.style-msg,
.style-msg2 {
  position: relative;
  display: block;
  color: var(--cnvs-heading-color);
  border-left: 4px solid rgba(var(--cnvs-contrast-rgb), 0.1);
  margin-bottom: 20px;
}

.style-msg2 {
  border-left-color: rgba(var(--cnvs-contrast-rgb), 0.1);
}

.primarymsg {
  background: #cfe2ff;
  border-color: #b6d4fe;
  color: #084298;
}

.secondarymsg {
  background: #e2e3e5;
  border-color: #d3d6d8;
  color: #41464b;
}

.successmsg {
  background: #d1e7dd;
  border-color: #badbcc;
  color: #0f5132;
}

.infomsg {
  background: #cff4fc;
  border-color: #b6effb;
  color: #087990;
}

.warningmsg {
  background: #fff3cd;
  border-color: #ffecb5;
  color: #997404;
}

.dangermsg {
  background: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}

.lightmsg {
  background: #fefefe;
  border-color: #fdfdfe;
  color: #959596;
}

.darkmsg {
  background: #d3d3d4;
  border-color: #bcbebf;
  color: #141619;
}

.errormsg {
  background: #f8d7da;
  border-color: #f5c2c7;
  color: #842029;
}

.alertmsg {
  background: #fff3cd;
  border-color: #ffecb5;
  color: #997404;
}

.style-msg .sb-msg,
.style-msg2 .msgtitle,
.style-msg2 .sb-msg {
  display: block;
  padding: 1rem;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  font-size: 0.875rem;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.6);
}

.style-msg2 .msgtitle {
  background: rgba(0, 0, 0, 0.15);
  border-top: none;
  border-bottom: none;
  font-size: 1rem;
  font-weight: bold;
}

.style-msg-light .sb-msg,
.style-msg-light .msgtitle {
  color: var(--bs-white);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

.style-msg2 .sb-msg {
  font-weight: normal;
}

.style-msg2 ol,
.style-msg2 ul {
  margin: 0 0 0 30px;
}

.style-msg2 ol {
  list-style-type: decimal;
}

.style-msg2 ul {
  list-style-type: disc;
}

.alert i,
.sb-msg i,
.msgtitle i {
  position: relative;
  top: 1px;
  font-size: 0.875rem;
  width: 0.875rem;
  text-align: center;
  margin-right: 5px;
}

.style-msg .btn-close {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: styled-icons.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Styled Icons
-----------------------------------------------------------------*/
[class^='i-'] {
  --cnvs-i-size: 3.25rem;
  --cnvs-i-border: 1px;
  --cnvs-i-fontsize: calc(var(--cnvs-i-size) / 2.666666);
  --cnvs-i-color: var(--cnvs-contrast-900);
  --cnvs-i-bg-color: transparent;
}

.i-style,
.i-plain,
.i-bordered,
.social-icon {
  --cnvs-i-color: var(--cnvs-white);
  text-align: center !important;
  font-size: var(--cnvs-i-fontsize);
  color: var(--cnvs-i-color);
  cursor: pointer;
  font-style: normal;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .i-style,
  .i-plain,
  .i-bordered,
  .social-icon {
    transition: none;
  }
}

.i-style,
.i-bordered,
.i-plain {
  --cnvs-i-size: 3.25rem;
  --cnvs-i-border: 1px;
  --cnvs-i-fontsize: calc(var(--cnvs-i-size) / 2.666666);
  --cnvs-i-bg-color: var(--bs-gray-800);
  display: inline-block;
  width: var(--cnvs-i-size) !important;
  height: var(--cnvs-i-size) !important;
  line-height: var(--cnvs-i-size) !important;
  background-color: var(--cnvs-i-bg-color);
}

.i-bordered {
  --cnvs-i-color: var(--cnvs-contrast-900);
  border: var(--cnvs-i-border) solid rgba(var(--cnvs-contrast-rgb), 0.5);
  line-height: calc(var(--cnvs-i-size) - var(--cnvs-i-border) * 2) !important;
}

.i-plain {
  --cnvs-i-size: 3rem;
  --cnvs-i-fontsize: 1.625rem;
  --cnvs-i-color: var(--bs-contrast-900);
}

.i-bordered,
.i-plain {
  --cnvs-i-bg-color: transparent !important;
}

.i-light {
  --cnvs-i-bg-color: var(--bs-gray-100) !important;
  --cnvs-i-color: var(--bs-gray-900);
}

.i-alt {
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 50%,
    rgba(255, 255, 255, 0) 50%
  );
}

.i-style:hover {
  --cnvs-i-bg-color: var(--cnvs-themecolor) !important;
  --cnvs-i-color: var(--bs-gray-100);
}

.i-bordered:hover {
  --cnvs-i-bg-color: var(--cnvs-contrast-800) !important;
  --cnvs-i-color: var(--cnvs-contrast-0) !important;
  border-color: var(--cnvs-i-color);
}

.i-plain:hover {
  --cnvs-i-bg-color: transparent !important;
  --cnvs-i-color: var(--cnvs-themecolor);
}

/* Icon Size - Small
-----------------------------------------------------------------*/
.i-small.i-style {
  --cnvs-i-size: 1.75rem;
}
.i-small.i-plain {
  --cnvs-i-size: 1.5rem;
  --cnvs-i-fontsize: 1rem;
}

/* Icon Size - Small
-----------------------------------------------------------------*/
.i-medium.i-style {
  --cnvs-i-size: 2.25rem;
}
.i-medium.i-plain {
  --cnvs-i-fontsize: 1.25rem;
}

/* Icon Size - Large
-----------------------------------------------------------------*/
.i-large.i-style {
  --cnvs-i-size: 4rem;
}
.i-large.i-plain {
  --cnvs-i-size: 3.75rem;
  --cnvs-i-fontsize: 2.5rem;
}

/* Icon Size - Extra Large
-----------------------------------------------------------------*/
.i-xlarge.i-style {
  --cnvs-i-size: 5.25rem;
}
.i-xlarge.i-plain {
  --cnvs-i-size: 4.5rem;
  --cnvs-i-fontsize: 3rem;
}

/* Icon Size - Extra Extra Large
-----------------------------------------------------------------*/
.i-xxlarge.i-style {
  --cnvs-i-size: 6.5rem;
}

.i-xxlarge.i-plain {
  --cnvs-i-size: 5.25rem;
  --cnvs-i-fontsize: 3.5rem;
}

/* Icon Lists
-----------------------------------------------------------------*/
.iconlist {
  --cnvs-iconlist-size: 1rem;
  --cnvs-iconlist-color: var(--cnvs-themecolor);
  --cnvs-iconlist-margin: 0.5rem;
  --cnvs-iconlist-gutter: 0.75rem;
  --cnvs-iconlist-offset: 0;
  padding-left: 0;
  margin-left: 0;
  list-style-type: none;
}
.iconlist li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  font-size: var(--cnvs-iconlist-size);
}
.iconlist li + li {
  margin-top: var(--cnvs-iconlist-margin);
}
.iconlist li > * {
  flex: 1 0 0%;
}
.iconlist > li i:first-child,
.iconlist > li img:first-child {
  position: relative;
  top: var(--cnvs-iconlist-offset);
  text-align: center;
  width: var(--cnvs-iconlist-size);
  height: var(--cnvs-iconlist-size);
  margin-right: var(--cnvs-iconlist-gutter);
  flex: 0 0 auto;
  color: var(--cnvs-iconlist-color);
}
.iconlist ul {
  flex: 0 0 auto;
  width: 100%;
  list-style-type: none;
  padding: var(--cnvs-iconlist-margin) 0 var(--cnvs-iconlist-margin)
    calc(var(--cnvs-iconlist-margin) * 4);
}
.iconlist ul li {
  margin-top: var(--cnvs-iconlist-margin);
}
.iconlist.iconlist-lg {
  --cnvs-iconlist-size: 1.125rem;
  --cnvs-iconlist-margin: 0.75rem;
  --cnvs-iconlist-gutter: 0.75rem;
}
.iconlist.iconlist-xl {
  --cnvs-iconlist-size: 1.5rem;
  --cnvs-iconlist-margin: 0.75rem;
  --cnvs-iconlist-gutter: 0.875rem;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: social-icons.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Social Icons
-----------------------------------------------------------------*/
.social-icon {
  --cnvs-socialicon-size: 2.5rem;
  --cnvs-socialicon-gap: 5px;
  --cnvs-socialicon-fontsize: calc(var(--cnvs-socialicon-size) / 2.5);
  --cnvs-socialicon-border: 1px;
  --cnvs-socialicon-border-color: var(--cnvs-contrast-600);
  --cnvs-socialicon-lineheight: calc(
    var(--cnvs-socialicon-size) - calc(var(--cnvs-socialicon-border) * 2)
  );
  --cnvs-socialicon-rounded: 0.375rem;
  --cnvs-socialicon-color: var(--bs-contrast-900);
  float: left;
  display: block;
  margin: 0 var(--cnvs-socialicon-gap) var(--cnvs-socialicon-gap) 0;
  width: var(--cnvs-socialicon-size);
  height: var(--cnvs-socialicon-size);
  font-size: var(--cnvs-socialicon-fontsize);
  line-height: var(--cnvs-socialicon-lineheight) !important;
  color: var(--cnvs-socialicon-color);
  text-shadow: none;
  border: var(--cnvs-socialicon-border) solid
    var(--cnvs-socialicon-border-color);
  border-radius: var(--cnvs-socialicon-rounded);
  overflow: hidden;
  /* Social Icons - Large
  -----------------------------------------------------------------*/
  /* Social Icons - Small
  -----------------------------------------------------------------*/
}
[class*='-flex'] > .social-icon,
[class*='row'] > .social-icon {
  float: none;
  margin-right: var(--cnvs-socialicon-gap-x);
  margin-bottom: var(--cnvs-socialicon-gap-y);
  flex: 0 0 auto;
}
.social-icon.si-large {
  --cnvs-socialicon-size: 3.5rem;
}
.social-icon.si-small {
  --cnvs-socialicon-size: 2rem;
  --cnvs-socialicon-fontsize: 0.875rem;
}
.social-icon i {
  display: block;
  position: relative;
  line-height: inherit;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .social-icon i {
    transition: none;
  }
}
.social-icon i:last-child {
  color: #fff;
}
.social-icon:hover i:first-child {
  margin-top: calc(var(--cnvs-socialicon-lineheight) * -1);
}
.social-icon:hover {
  color: var(--cnvs-socialicon-color);
  border-color: transparent;
}
.social-icon.bg-dark,
.social-icon.bg-dark:hover {
  color: var(--bs-gray-200);
}
.social-icon.bg-light {
  --cnvs-socialicon-color: var(--bs-gray-900);
  background-color: var(--bs-gray-200) !important;
}
.social-icon[class*=' bg-'] {
  border-color: transparent;
}
.social-icon.no-transition:hover i:first-child {
  display: none;
  margin-top: 0;
}

/* Social Icons - Group
-----------------------------------------------------------------*/
[class*='-flex'],
[class*='row'] {
  --cnvs-socialicon-gap: 5px;
  --cnvs-socialicon-gap-x: var(--cnvs-socialicon-gap);
  --cnvs-socialicon-gap-y: 0px;
}

/* Social Icons - Sticky
-----------------------------------------------------------------*/
.si-sticky {
  position: fixed;
  top: 50%;
  left: 5px;
  width: 36px;
  z-index: 499;
  transform: translateY(-50%);
  /* Social Icons - Sticky Right
  -----------------------------------------------------------------*/
}
.si-sticky.si-sticky-right {
  left: auto;
  right: 8px;
}

/* Social Icons - colors
-----------------------------------------------------------------*/
.bg-facebook,
.h-bg-facebook:hover {
  background-color: rgba(var(--cnvs-color-facebook-rgb), 1) !important;
}

.bg-whatsapp,
.h-bg-whatsapp:hover {
  background-color: rgba(var(--cnvs-color-whatsapp-rgb), 1) !important;
}

.bg-delicious,
.h-bg-delicious:hover {
  background-color: rgba(var(--cnvs-color-delicious-rgb), 1) !important;
}

.bg-paypal,
.h-bg-paypal:hover {
  background-color: rgba(var(--cnvs-color-paypal-rgb), 1) !important;
}

.bg-waze,
.h-bg-waze:hover {
  background-color: rgba(var(--cnvs-color-waze-rgb), 1) !important;
}

.bg-android,
.h-bg-android:hover {
  background-color: rgba(var(--cnvs-color-android-rgb), 1) !important;
}

.bg-googledrive,
.h-bg-googledrive:hover {
  background-color: rgba(var(--cnvs-color-googledrive-rgb), 1) !important;
}

.bg-wikipedia,
.h-bg-wikipedia:hover {
  background-color: rgba(var(--cnvs-color-wikipedia-rgb), 1) !important;
}

.bg-stumbleupon,
.h-bg-stumbleupon:hover {
  background-color: rgba(var(--cnvs-color-stumbleupon-rgb), 1) !important;
}

.bg-foursquare,
.h-bg-foursquare:hover {
  background-color: rgba(var(--cnvs-color-foursquare-rgb), 1) !important;
}

.bg-call,
.h-bg-call:hover {
  background-color: rgba(var(--cnvs-color-call-rgb), 1) !important;
}

.bg-ninetyninedesigns,
.h-bg-ninetyninedesigns:hover {
  background-color: rgba(var(--cnvs-color-ninetyninedesigns-rgb), 1) !important;
}

.bg-forrst,
.h-bg-forrst:hover {
  background-color: rgba(var(--cnvs-color-forrst-rgb), 1) !important;
}

.bg-digg,
.h-bg-digg:hover {
  background-color: rgba(var(--cnvs-color-digg-rgb), 1) !important;
}

.bg-spotify,
.h-bg-spotify:hover {
  background-color: rgba(var(--cnvs-color-spotify-rgb), 1) !important;
}

.bg-reddit,
.h-bg-reddit:hover {
  background-color: rgba(var(--cnvs-color-reddit-rgb), 1) !important;
}

.bg-blogger,
.h-bg-blogger:hover {
  background-color: rgba(var(--cnvs-color-blogger-rgb), 1) !important;
}

.bg-cc,
.h-bg-cc:hover {
  background-color: rgba(var(--cnvs-color-cc-rgb), 1) !important;
}

.bg-dribbble,
.h-bg-dribbble:hover {
  background-color: rgba(var(--cnvs-color-dribbble-rgb), 1) !important;
}

.bg-evernote,
.h-bg-evernote:hover {
  background-color: rgba(var(--cnvs-color-evernote-rgb), 1) !important;
}

.bg-flickr,
.h-bg-flickr:hover {
  background-color: rgba(var(--cnvs-color-flickr-rgb), 1) !important;
}

.bg-google,
.h-bg-google:hover {
  background-color: rgba(var(--cnvs-color-google-rgb), 1) !important;
}

.bg-salesforce,
.h-bg-salesforce:hover {
  background-color: rgba(var(--cnvs-color-salesforce-rgb), 1) !important;
}

.bg-cloudflare,
.h-bg-cloudflare:hover {
  background-color: rgba(var(--cnvs-color-cloudflare-rgb), 1) !important;
}

.bg-linkedin,
.h-bg-linkedin:hover {
  background-color: rgba(var(--cnvs-color-linkedin-rgb), 1) !important;
}

.bg-vk,
.h-bg-vk:hover {
  background-color: rgba(var(--cnvs-color-vk-rgb), 1) !important;
}

.bg-rss,
.h-bg-rss:hover {
  background-color: rgba(var(--cnvs-color-rss-rgb), 1) !important;
}

.bg-skype,
.h-bg-skype:hover {
  background-color: rgba(var(--cnvs-color-skype-rgb), 1) !important;
}

.bg-twitter,
.h-bg-twitter:hover {
  background-color: rgba(var(--cnvs-color-twitter-rgb), 1) !important;
}

.bg-x-twitter,
.h-bg-x-twitter:hover {
  background-color: rgba(var(--cnvs-color-x-twitter-rgb), 1) !important;
}

.bg-youtube,
.h-bg-youtube:hover {
  background-color: rgba(var(--cnvs-color-youtube-rgb), 1) !important;
}

.bg-vimeo,
.h-bg-vimeo:hover {
  background-color: rgba(var(--cnvs-color-vimeo-rgb), 1) !important;
}

.bg-slack,
.h-bg-slack:hover {
  background-color: rgba(var(--cnvs-color-slack-rgb), 1) !important;
}

.bg-yahoo,
.h-bg-yahoo:hover {
  background-color: rgba(var(--cnvs-color-yahoo-rgb), 1) !important;
}

.bg-email3,
.h-bg-email3:hover {
  background-color: rgba(var(--cnvs-color-email3-rgb), 1) !important;
}

.bg-macstore,
.h-bg-macstore:hover {
  background-color: rgba(var(--cnvs-color-macstore-rgb), 1) !important;
}

.bg-figma,
.h-bg-figma:hover {
  background-color: rgba(var(--cnvs-color-figma-rgb), 1) !important;
}

.bg-podcast,
.h-bg-podcast:hover {
  background-color: rgba(var(--cnvs-color-podcast-rgb), 1) !important;
}

.bg-meetup,
.h-bg-meetup:hover {
  background-color: rgba(var(--cnvs-color-meetup-rgb), 1) !important;
}

.bg-dropbox,
.h-bg-dropbox:hover {
  background-color: rgba(var(--cnvs-color-dropbox-rgb), 1) !important;
}

.bg-ebay,
.h-bg-ebay:hover {
  background-color: rgba(var(--cnvs-color-ebay-rgb), 1) !important;
}

.bg-github,
.h-bg-github:hover {
  background-color: rgba(var(--cnvs-color-github-rgb), 1) !important;
}

.bg-googleplay,
.h-bg-googleplay:hover {
  background-color: rgba(var(--cnvs-color-googleplay-rgb), 1) !important;
}

.bg-itunes,
.h-bg-itunes:hover {
  background-color: rgba(var(--cnvs-color-itunes-rgb), 1) !important;
}

.bg-periscope,
.h-bg-periscope:hover {
  background-color: rgba(var(--cnvs-color-periscope-rgb), 1) !important;
}

.bg-meta,
.h-bg-meta:hover {
  background-color: rgba(var(--cnvs-color-meta-rgb), 1) !important;
}

.bg-soundcloud,
.h-bg-soundcloud:hover {
  background-color: rgba(var(--cnvs-color-soundcloud-rgb), 1) !important;
}

.bg-tumblr,
.h-bg-tumblr:hover {
  background-color: rgba(var(--cnvs-color-tumblr-rgb), 1) !important;
}

.bg-wordpress,
.h-bg-wordpress:hover {
  background-color: rgba(var(--cnvs-color-wordpress-rgb), 1) !important;
}

.bg-yelp,
.h-bg-yelp:hover {
  background-color: rgba(var(--cnvs-color-yelp-rgb), 1) !important;
}

.bg-microsoft,
.h-bg-microsoft:hover {
  background-color: rgba(var(--cnvs-color-microsoft-rgb), 1) !important;
}

.bg-trello,
.h-bg-trello:hover {
  background-color: rgba(var(--cnvs-color-trello-rgb), 1) !important;
}

.bg-scribd,
.h-bg-scribd:hover {
  background-color: rgba(var(--cnvs-color-scribd-rgb), 1) !important;
}

.bg-stripe,
.h-bg-stripe:hover {
  background-color: rgba(var(--cnvs-color-stripe-rgb), 1) !important;
}

.bg-print,
.h-bg-print:hover {
  background-color: rgba(var(--cnvs-color-print-rgb), 1) !important;
}

.bg-btc,
.h-bg-btc:hover {
  background-color: rgba(var(--cnvs-color-btc-rgb), 1) !important;
}

.bg-weibo,
.h-bg-weibo:hover {
  background-color: rgba(var(--cnvs-color-weibo-rgb), 1) !important;
}

.bg-acrobat,
.h-bg-acrobat:hover {
  background-color: rgba(var(--cnvs-color-acrobat-rgb), 1) !important;
}

.bg-drupal,
.h-bg-drupal:hover {
  background-color: rgba(var(--cnvs-color-drupal-rgb), 1) !important;
}

.bg-buffer,
.h-bg-buffer:hover {
  background-color: rgba(var(--cnvs-color-buffer-rgb), 1) !important;
}

.bg-pocket,
.h-bg-pocket:hover {
  background-color: rgba(var(--cnvs-color-pocket-rgb), 1) !important;
}

.bg-bitbucket,
.h-bg-bitbucket:hover {
  background-color: rgba(var(--cnvs-color-bitbucket-rgb), 1) !important;
}

.bg-stackoverflow,
.h-bg-stackoverflow:hover {
  background-color: rgba(var(--cnvs-color-stackoverflow-rgb), 1) !important;
}

.bg-hackernews,
.h-bg-hackernews:hover {
  background-color: rgba(var(--cnvs-color-hackernews-rgb), 1) !important;
}

.bg-xing,
.h-bg-xing:hover {
  background-color: rgba(var(--cnvs-color-xing-rgb), 1) !important;
}

.bg-instagram,
.h-bg-instagram:hover {
  background-color: rgba(var(--cnvs-color-instagram-rgb), 1) !important;
}

.bg-quora,
.h-bg-quora:hover {
  background-color: rgba(var(--cnvs-color-quora-rgb), 1) !important;
}

.bg-openid,
.h-bg-openid:hover {
  background-color: rgba(var(--cnvs-color-openid-rgb), 1) !important;
}

.bg-steam,
.h-bg-steam:hover {
  background-color: rgba(var(--cnvs-color-steam-rgb), 1) !important;
}

.bg-amazon,
.h-bg-amazon:hover {
  background-color: rgba(var(--cnvs-color-amazon-rgb), 1) !important;
}

.bg-line,
.h-bg-line:hover {
  background-color: rgba(var(--cnvs-color-line-rgb), 1) !important;
}

.bg-kickstarter,
.h-bg-kickstarter:hover {
  background-color: rgba(var(--cnvs-color-kickstarter-rgb), 1) !important;
}

.bg-appstore,
.h-bg-appstore:hover {
  background-color: rgba(var(--cnvs-color-appstore-rgb), 1) !important;
}

.bg-pinterest,
.h-bg-pinterest:hover {
  background-color: rgba(var(--cnvs-color-pinterest-rgb), 1) !important;
}

.bg-fivehundredpx,
.h-bg-fivehundredpx:hover {
  background-color: rgba(var(--cnvs-color-fivehundredpx-rgb), 1) !important;
}

.bg-tiktok,
.h-bg-tiktok:hover {
  background-color: rgba(var(--cnvs-color-tiktok-rgb), 1) !important;
}

.bg-airbnb,
.h-bg-airbnb:hover {
  background-color: rgba(var(--cnvs-color-airbnb-rgb), 1) !important;
}

.bg-gpay,
.h-bg-gpay:hover {
  background-color: rgba(var(--cnvs-color-gpay-rgb), 1) !important;
}

.bg-unsplash,
.h-bg-unsplash:hover {
  background-color: rgba(var(--cnvs-color-unsplash-rgb), 1) !important;
}

.bg-snapchat,
.h-bg-snapchat:hover {
  background-color: rgba(var(--cnvs-color-snapchat-rgb), 1) !important;
}

.bg-discord,
.h-bg-discord:hover {
  background-color: rgba(var(--cnvs-color-discord-rgb), 1) !important;
}

.bg-twitch,
.h-bg-twitch:hover {
  background-color: rgba(var(--cnvs-color-twitch-rgb), 1) !important;
}

.border-facebook,
.h-border-facebook:hover {
  border-color: rgba(var(--cnvs-color-facebook-rgb), 1) !important;
}

.border-whatsapp,
.h-border-whatsapp:hover {
  border-color: rgba(var(--cnvs-color-whatsapp-rgb), 1) !important;
}

.border-delicious,
.h-border-delicious:hover {
  border-color: rgba(var(--cnvs-color-delicious-rgb), 1) !important;
}

.border-paypal,
.h-border-paypal:hover {
  border-color: rgba(var(--cnvs-color-paypal-rgb), 1) !important;
}

.border-waze,
.h-border-waze:hover {
  border-color: rgba(var(--cnvs-color-waze-rgb), 1) !important;
}

.border-android,
.h-border-android:hover {
  border-color: rgba(var(--cnvs-color-android-rgb), 1) !important;
}

.border-googledrive,
.h-border-googledrive:hover {
  border-color: rgba(var(--cnvs-color-googledrive-rgb), 1) !important;
}

.border-wikipedia,
.h-border-wikipedia:hover {
  border-color: rgba(var(--cnvs-color-wikipedia-rgb), 1) !important;
}

.border-stumbleupon,
.h-border-stumbleupon:hover {
  border-color: rgba(var(--cnvs-color-stumbleupon-rgb), 1) !important;
}

.border-foursquare,
.h-border-foursquare:hover {
  border-color: rgba(var(--cnvs-color-foursquare-rgb), 1) !important;
}

.border-call,
.h-border-call:hover {
  border-color: rgba(var(--cnvs-color-call-rgb), 1) !important;
}

.border-ninetyninedesigns,
.h-border-ninetyninedesigns:hover {
  border-color: rgba(var(--cnvs-color-ninetyninedesigns-rgb), 1) !important;
}

.border-forrst,
.h-border-forrst:hover {
  border-color: rgba(var(--cnvs-color-forrst-rgb), 1) !important;
}

.border-digg,
.h-border-digg:hover {
  border-color: rgba(var(--cnvs-color-digg-rgb), 1) !important;
}

.border-spotify,
.h-border-spotify:hover {
  border-color: rgba(var(--cnvs-color-spotify-rgb), 1) !important;
}

.border-reddit,
.h-border-reddit:hover {
  border-color: rgba(var(--cnvs-color-reddit-rgb), 1) !important;
}

.border-blogger,
.h-border-blogger:hover {
  border-color: rgba(var(--cnvs-color-blogger-rgb), 1) !important;
}

.border-cc,
.h-border-cc:hover {
  border-color: rgba(var(--cnvs-color-cc-rgb), 1) !important;
}

.border-dribbble,
.h-border-dribbble:hover {
  border-color: rgba(var(--cnvs-color-dribbble-rgb), 1) !important;
}

.border-evernote,
.h-border-evernote:hover {
  border-color: rgba(var(--cnvs-color-evernote-rgb), 1) !important;
}

.border-flickr,
.h-border-flickr:hover {
  border-color: rgba(var(--cnvs-color-flickr-rgb), 1) !important;
}

.border-google,
.h-border-google:hover {
  border-color: rgba(var(--cnvs-color-google-rgb), 1) !important;
}

.border-salesforce,
.h-border-salesforce:hover {
  border-color: rgba(var(--cnvs-color-salesforce-rgb), 1) !important;
}

.border-cloudflare,
.h-border-cloudflare:hover {
  border-color: rgba(var(--cnvs-color-cloudflare-rgb), 1) !important;
}

.border-linkedin,
.h-border-linkedin:hover {
  border-color: rgba(var(--cnvs-color-linkedin-rgb), 1) !important;
}

.border-vk,
.h-border-vk:hover {
  border-color: rgba(var(--cnvs-color-vk-rgb), 1) !important;
}

.border-rss,
.h-border-rss:hover {
  border-color: rgba(var(--cnvs-color-rss-rgb), 1) !important;
}

.border-skype,
.h-border-skype:hover {
  border-color: rgba(var(--cnvs-color-skype-rgb), 1) !important;
}

.border-twitter,
.h-border-twitter:hover {
  border-color: rgba(var(--cnvs-color-twitter-rgb), 1) !important;
}

.border-x-twitter,
.h-border-x-twitter:hover {
  border-color: rgba(var(--cnvs-color-x-twitter-rgb), 1) !important;
}

.border-youtube,
.h-border-youtube:hover {
  border-color: rgba(var(--cnvs-color-youtube-rgb), 1) !important;
}

.border-vimeo,
.h-border-vimeo:hover {
  border-color: rgba(var(--cnvs-color-vimeo-rgb), 1) !important;
}

.border-slack,
.h-border-slack:hover {
  border-color: rgba(var(--cnvs-color-slack-rgb), 1) !important;
}

.border-yahoo,
.h-border-yahoo:hover {
  border-color: rgba(var(--cnvs-color-yahoo-rgb), 1) !important;
}

.border-email3,
.h-border-email3:hover {
  border-color: rgba(var(--cnvs-color-email3-rgb), 1) !important;
}

.border-macstore,
.h-border-macstore:hover {
  border-color: rgba(var(--cnvs-color-macstore-rgb), 1) !important;
}

.border-figma,
.h-border-figma:hover {
  border-color: rgba(var(--cnvs-color-figma-rgb), 1) !important;
}

.border-podcast,
.h-border-podcast:hover {
  border-color: rgba(var(--cnvs-color-podcast-rgb), 1) !important;
}

.border-meetup,
.h-border-meetup:hover {
  border-color: rgba(var(--cnvs-color-meetup-rgb), 1) !important;
}

.border-dropbox,
.h-border-dropbox:hover {
  border-color: rgba(var(--cnvs-color-dropbox-rgb), 1) !important;
}

.border-ebay,
.h-border-ebay:hover {
  border-color: rgba(var(--cnvs-color-ebay-rgb), 1) !important;
}

.border-github,
.h-border-github:hover {
  border-color: rgba(var(--cnvs-color-github-rgb), 1) !important;
}

.border-googleplay,
.h-border-googleplay:hover {
  border-color: rgba(var(--cnvs-color-googleplay-rgb), 1) !important;
}

.border-itunes,
.h-border-itunes:hover {
  border-color: rgba(var(--cnvs-color-itunes-rgb), 1) !important;
}

.border-periscope,
.h-border-periscope:hover {
  border-color: rgba(var(--cnvs-color-periscope-rgb), 1) !important;
}

.border-meta,
.h-border-meta:hover {
  border-color: rgba(var(--cnvs-color-meta-rgb), 1) !important;
}

.border-soundcloud,
.h-border-soundcloud:hover {
  border-color: rgba(var(--cnvs-color-soundcloud-rgb), 1) !important;
}

.border-tumblr,
.h-border-tumblr:hover {
  border-color: rgba(var(--cnvs-color-tumblr-rgb), 1) !important;
}

.border-wordpress,
.h-border-wordpress:hover {
  border-color: rgba(var(--cnvs-color-wordpress-rgb), 1) !important;
}

.border-yelp,
.h-border-yelp:hover {
  border-color: rgba(var(--cnvs-color-yelp-rgb), 1) !important;
}

.border-microsoft,
.h-border-microsoft:hover {
  border-color: rgba(var(--cnvs-color-microsoft-rgb), 1) !important;
}

.border-trello,
.h-border-trello:hover {
  border-color: rgba(var(--cnvs-color-trello-rgb), 1) !important;
}

.border-scribd,
.h-border-scribd:hover {
  border-color: rgba(var(--cnvs-color-scribd-rgb), 1) !important;
}

.border-stripe,
.h-border-stripe:hover {
  border-color: rgba(var(--cnvs-color-stripe-rgb), 1) !important;
}

.border-print,
.h-border-print:hover {
  border-color: rgba(var(--cnvs-color-print-rgb), 1) !important;
}

.border-btc,
.h-border-btc:hover {
  border-color: rgba(var(--cnvs-color-btc-rgb), 1) !important;
}

.border-weibo,
.h-border-weibo:hover {
  border-color: rgba(var(--cnvs-color-weibo-rgb), 1) !important;
}

.border-acrobat,
.h-border-acrobat:hover {
  border-color: rgba(var(--cnvs-color-acrobat-rgb), 1) !important;
}

.border-drupal,
.h-border-drupal:hover {
  border-color: rgba(var(--cnvs-color-drupal-rgb), 1) !important;
}

.border-buffer,
.h-border-buffer:hover {
  border-color: rgba(var(--cnvs-color-buffer-rgb), 1) !important;
}

.border-pocket,
.h-border-pocket:hover {
  border-color: rgba(var(--cnvs-color-pocket-rgb), 1) !important;
}

.border-bitbucket,
.h-border-bitbucket:hover {
  border-color: rgba(var(--cnvs-color-bitbucket-rgb), 1) !important;
}

.border-stackoverflow,
.h-border-stackoverflow:hover {
  border-color: rgba(var(--cnvs-color-stackoverflow-rgb), 1) !important;
}

.border-hackernews,
.h-border-hackernews:hover {
  border-color: rgba(var(--cnvs-color-hackernews-rgb), 1) !important;
}

.border-xing,
.h-border-xing:hover {
  border-color: rgba(var(--cnvs-color-xing-rgb), 1) !important;
}

.border-instagram,
.h-border-instagram:hover {
  border-color: rgba(var(--cnvs-color-instagram-rgb), 1) !important;
}

.border-quora,
.h-border-quora:hover {
  border-color: rgba(var(--cnvs-color-quora-rgb), 1) !important;
}

.border-openid,
.h-border-openid:hover {
  border-color: rgba(var(--cnvs-color-openid-rgb), 1) !important;
}

.border-steam,
.h-border-steam:hover {
  border-color: rgba(var(--cnvs-color-steam-rgb), 1) !important;
}

.border-amazon,
.h-border-amazon:hover {
  border-color: rgba(var(--cnvs-color-amazon-rgb), 1) !important;
}

.border-line,
.h-border-line:hover {
  border-color: rgba(var(--cnvs-color-line-rgb), 1) !important;
}

.border-kickstarter,
.h-border-kickstarter:hover {
  border-color: rgba(var(--cnvs-color-kickstarter-rgb), 1) !important;
}

.border-appstore,
.h-border-appstore:hover {
  border-color: rgba(var(--cnvs-color-appstore-rgb), 1) !important;
}

.border-pinterest,
.h-border-pinterest:hover {
  border-color: rgba(var(--cnvs-color-pinterest-rgb), 1) !important;
}

.border-fivehundredpx,
.h-border-fivehundredpx:hover {
  border-color: rgba(var(--cnvs-color-fivehundredpx-rgb), 1) !important;
}

.border-tiktok,
.h-border-tiktok:hover {
  border-color: rgba(var(--cnvs-color-tiktok-rgb), 1) !important;
}

.border-airbnb,
.h-border-airbnb:hover {
  border-color: rgba(var(--cnvs-color-airbnb-rgb), 1) !important;
}

.border-gpay,
.h-border-gpay:hover {
  border-color: rgba(var(--cnvs-color-gpay-rgb), 1) !important;
}

.border-unsplash,
.h-border-unsplash:hover {
  border-color: rgba(var(--cnvs-color-unsplash-rgb), 1) !important;
}

.border-snapchat,
.h-border-snapchat:hover {
  border-color: rgba(var(--cnvs-color-snapchat-rgb), 1) !important;
}

.border-discord,
.h-border-discord:hover {
  border-color: rgba(var(--cnvs-color-discord-rgb), 1) !important;
}

.border-twitch,
.h-border-twitch:hover {
  border-color: rgba(var(--cnvs-color-twitch-rgb), 1) !important;
}

.color-facebook,
.h-color-facebook:hover {
  color: rgba(var(--cnvs-color-facebook-rgb), 1) !important;
}

.color-whatsapp,
.h-color-whatsapp:hover {
  color: rgba(var(--cnvs-color-whatsapp-rgb), 1) !important;
}

.color-delicious,
.h-color-delicious:hover {
  color: rgba(var(--cnvs-color-delicious-rgb), 1) !important;
}

.color-paypal,
.h-color-paypal:hover {
  color: rgba(var(--cnvs-color-paypal-rgb), 1) !important;
}

.color-waze,
.h-color-waze:hover {
  color: rgba(var(--cnvs-color-waze-rgb), 1) !important;
}

.color-android,
.h-color-android:hover {
  color: rgba(var(--cnvs-color-android-rgb), 1) !important;
}

.color-googledrive,
.h-color-googledrive:hover {
  color: rgba(var(--cnvs-color-googledrive-rgb), 1) !important;
}

.color-wikipedia,
.h-color-wikipedia:hover {
  color: rgba(var(--cnvs-color-wikipedia-rgb), 1) !important;
}

.color-stumbleupon,
.h-color-stumbleupon:hover {
  color: rgba(var(--cnvs-color-stumbleupon-rgb), 1) !important;
}

.color-foursquare,
.h-color-foursquare:hover {
  color: rgba(var(--cnvs-color-foursquare-rgb), 1) !important;
}

.color-call,
.h-color-call:hover {
  color: rgba(var(--cnvs-color-call-rgb), 1) !important;
}

.color-ninetyninedesigns,
.h-color-ninetyninedesigns:hover {
  color: rgba(var(--cnvs-color-ninetyninedesigns-rgb), 1) !important;
}

.color-forrst,
.h-color-forrst:hover {
  color: rgba(var(--cnvs-color-forrst-rgb), 1) !important;
}

.color-digg,
.h-color-digg:hover {
  color: rgba(var(--cnvs-color-digg-rgb), 1) !important;
}

.color-spotify,
.h-color-spotify:hover {
  color: rgba(var(--cnvs-color-spotify-rgb), 1) !important;
}

.color-reddit,
.h-color-reddit:hover {
  color: rgba(var(--cnvs-color-reddit-rgb), 1) !important;
}

.color-blogger,
.h-color-blogger:hover {
  color: rgba(var(--cnvs-color-blogger-rgb), 1) !important;
}

.color-cc,
.h-color-cc:hover {
  color: rgba(var(--cnvs-color-cc-rgb), 1) !important;
}

.color-dribbble,
.h-color-dribbble:hover {
  color: rgba(var(--cnvs-color-dribbble-rgb), 1) !important;
}

.color-evernote,
.h-color-evernote:hover {
  color: rgba(var(--cnvs-color-evernote-rgb), 1) !important;
}

.color-flickr,
.h-color-flickr:hover {
  color: rgba(var(--cnvs-color-flickr-rgb), 1) !important;
}

.color-google,
.h-color-google:hover {
  color: rgba(var(--cnvs-color-google-rgb), 1) !important;
}

.color-salesforce,
.h-color-salesforce:hover {
  color: rgba(var(--cnvs-color-salesforce-rgb), 1) !important;
}

.color-cloudflare,
.h-color-cloudflare:hover {
  color: rgba(var(--cnvs-color-cloudflare-rgb), 1) !important;
}

.color-linkedin,
.h-color-linkedin:hover {
  color: rgba(var(--cnvs-color-linkedin-rgb), 1) !important;
}

.color-vk,
.h-color-vk:hover {
  color: rgba(var(--cnvs-color-vk-rgb), 1) !important;
}

.color-rss,
.h-color-rss:hover {
  color: rgba(var(--cnvs-color-rss-rgb), 1) !important;
}

.color-skype,
.h-color-skype:hover {
  color: rgba(var(--cnvs-color-skype-rgb), 1) !important;
}

.color-twitter,
.h-color-twitter:hover {
  color: rgba(var(--cnvs-color-twitter-rgb), 1) !important;
}

.color-x-twitter,
.h-color-x-twitter:hover {
  color: rgba(var(--cnvs-color-x-twitter-rgb), 1) !important;
}

.color-youtube,
.h-color-youtube:hover {
  color: rgba(var(--cnvs-color-youtube-rgb), 1) !important;
}

.color-vimeo,
.h-color-vimeo:hover {
  color: rgba(var(--cnvs-color-vimeo-rgb), 1) !important;
}

.color-slack,
.h-color-slack:hover {
  color: rgba(var(--cnvs-color-slack-rgb), 1) !important;
}

.color-yahoo,
.h-color-yahoo:hover {
  color: rgba(var(--cnvs-color-yahoo-rgb), 1) !important;
}

.color-email3,
.h-color-email3:hover {
  color: rgba(var(--cnvs-color-email3-rgb), 1) !important;
}

.color-macstore,
.h-color-macstore:hover {
  color: rgba(var(--cnvs-color-macstore-rgb), 1) !important;
}

.color-figma,
.h-color-figma:hover {
  color: rgba(var(--cnvs-color-figma-rgb), 1) !important;
}

.color-podcast,
.h-color-podcast:hover {
  color: rgba(var(--cnvs-color-podcast-rgb), 1) !important;
}

.color-meetup,
.h-color-meetup:hover {
  color: rgba(var(--cnvs-color-meetup-rgb), 1) !important;
}

.color-dropbox,
.h-color-dropbox:hover {
  color: rgba(var(--cnvs-color-dropbox-rgb), 1) !important;
}

.color-ebay,
.h-color-ebay:hover {
  color: rgba(var(--cnvs-color-ebay-rgb), 1) !important;
}

.color-github,
.h-color-github:hover {
  color: rgba(var(--cnvs-color-github-rgb), 1) !important;
}

.color-googleplay,
.h-color-googleplay:hover {
  color: rgba(var(--cnvs-color-googleplay-rgb), 1) !important;
}

.color-itunes,
.h-color-itunes:hover {
  color: rgba(var(--cnvs-color-itunes-rgb), 1) !important;
}

.color-periscope,
.h-color-periscope:hover {
  color: rgba(var(--cnvs-color-periscope-rgb), 1) !important;
}

.color-meta,
.h-color-meta:hover {
  color: rgba(var(--cnvs-color-meta-rgb), 1) !important;
}

.color-soundcloud,
.h-color-soundcloud:hover {
  color: rgba(var(--cnvs-color-soundcloud-rgb), 1) !important;
}

.color-tumblr,
.h-color-tumblr:hover {
  color: rgba(var(--cnvs-color-tumblr-rgb), 1) !important;
}

.color-wordpress,
.h-color-wordpress:hover {
  color: rgba(var(--cnvs-color-wordpress-rgb), 1) !important;
}

.color-yelp,
.h-color-yelp:hover {
  color: rgba(var(--cnvs-color-yelp-rgb), 1) !important;
}

.color-microsoft,
.h-color-microsoft:hover {
  color: rgba(var(--cnvs-color-microsoft-rgb), 1) !important;
}

.color-trello,
.h-color-trello:hover {
  color: rgba(var(--cnvs-color-trello-rgb), 1) !important;
}

.color-scribd,
.h-color-scribd:hover {
  color: rgba(var(--cnvs-color-scribd-rgb), 1) !important;
}

.color-stripe,
.h-color-stripe:hover {
  color: rgba(var(--cnvs-color-stripe-rgb), 1) !important;
}

.color-print,
.h-color-print:hover {
  color: rgba(var(--cnvs-color-print-rgb), 1) !important;
}

.color-btc,
.h-color-btc:hover {
  color: rgba(var(--cnvs-color-btc-rgb), 1) !important;
}

.color-weibo,
.h-color-weibo:hover {
  color: rgba(var(--cnvs-color-weibo-rgb), 1) !important;
}

.color-acrobat,
.h-color-acrobat:hover {
  color: rgba(var(--cnvs-color-acrobat-rgb), 1) !important;
}

.color-drupal,
.h-color-drupal:hover {
  color: rgba(var(--cnvs-color-drupal-rgb), 1) !important;
}

.color-buffer,
.h-color-buffer:hover {
  color: rgba(var(--cnvs-color-buffer-rgb), 1) !important;
}

.color-pocket,
.h-color-pocket:hover {
  color: rgba(var(--cnvs-color-pocket-rgb), 1) !important;
}

.color-bitbucket,
.h-color-bitbucket:hover {
  color: rgba(var(--cnvs-color-bitbucket-rgb), 1) !important;
}

.color-stackoverflow,
.h-color-stackoverflow:hover {
  color: rgba(var(--cnvs-color-stackoverflow-rgb), 1) !important;
}

.color-hackernews,
.h-color-hackernews:hover {
  color: rgba(var(--cnvs-color-hackernews-rgb), 1) !important;
}

.color-xing,
.h-color-xing:hover {
  color: rgba(var(--cnvs-color-xing-rgb), 1) !important;
}

.color-instagram,
.h-color-instagram:hover {
  color: rgba(var(--cnvs-color-instagram-rgb), 1) !important;
}

.color-quora,
.h-color-quora:hover {
  color: rgba(var(--cnvs-color-quora-rgb), 1) !important;
}

.color-openid,
.h-color-openid:hover {
  color: rgba(var(--cnvs-color-openid-rgb), 1) !important;
}

.color-steam,
.h-color-steam:hover {
  color: rgba(var(--cnvs-color-steam-rgb), 1) !important;
}

.color-amazon,
.h-color-amazon:hover {
  color: rgba(var(--cnvs-color-amazon-rgb), 1) !important;
}

.color-line,
.h-color-line:hover {
  color: rgba(var(--cnvs-color-line-rgb), 1) !important;
}

.color-kickstarter,
.h-color-kickstarter:hover {
  color: rgba(var(--cnvs-color-kickstarter-rgb), 1) !important;
}

.color-appstore,
.h-color-appstore:hover {
  color: rgba(var(--cnvs-color-appstore-rgb), 1) !important;
}

.color-pinterest,
.h-color-pinterest:hover {
  color: rgba(var(--cnvs-color-pinterest-rgb), 1) !important;
}

.color-fivehundredpx,
.h-color-fivehundredpx:hover {
  color: rgba(var(--cnvs-color-fivehundredpx-rgb), 1) !important;
}

.color-tiktok,
.h-color-tiktok:hover {
  color: rgba(var(--cnvs-color-tiktok-rgb), 1) !important;
}

.color-airbnb,
.h-color-airbnb:hover {
  color: rgba(var(--cnvs-color-airbnb-rgb), 1) !important;
}

.color-gpay,
.h-color-gpay:hover {
  color: rgba(var(--cnvs-color-gpay-rgb), 1) !important;
}

.color-unsplash,
.h-color-unsplash:hover {
  color: rgba(var(--cnvs-color-unsplash-rgb), 1) !important;
}

.color-snapchat,
.h-color-snapchat:hover {
  color: rgba(var(--cnvs-color-snapchat-rgb), 1) !important;
}

.color-discord,
.h-color-discord:hover {
  color: rgba(var(--cnvs-color-discord-rgb), 1) !important;
}

.color-twitch,
.h-color-twitch:hover {
  color: rgba(var(--cnvs-color-twitch-rgb), 1) !important;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: toggles-accordions.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Toggle
-----------------------------------------------------------------*/
.toggle,
.accordion {
  --cnvs-toggle-base-color: var(--cnvs-heading-color);
  --cnvs-toggle-font-size: 1rem;
  --cnvs-toggle-border-size: 1px;
  --cnvs-toggle-border-color: var(--cnvs-contrast-400);
  --cnvs-toggle-border-radius: 4px;
  --cnvs-toggle-bg-color: var(--cnvs-contrast-100);
  --cnvs-toggle-title-color: var(--cnvs-heading-color);
  --cnvs-toggle-content-padding: 0.75rem;
  --cnvs-toggle-bottom-margin: 1.5rem;
  display: block;
  position: relative;
  margin-bottom: var(--cnvs-toggle-bottom-margin);
}
.toggle-header,
.accordion-header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
  cursor: pointer;
  color: var(--cnvs-toggle-title-color);
  font-size: var(--cnvs-toggle-font-size);
  font-weight: 700;
}

.toggle-icon,
.accordion-icon {
  flex: 0 0 auto;
  width: auto;
  max-width: 100%;
  padding: 0 0.375rem;
  text-align: center;
}

.toggle-icon i,
.toggle-icon span {
  width: var(--cnvs-toggle-font-size);
}

.toggle-title,
.accordion-title {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  padding: 0 0.25rem;
}

.toggle:not(.toggle-active) .toggle-open,
.toggle-active .toggle-closed {
  display: none;
}

.toggle-active .toggle-open {
  display: inline-block;
}

.toggle-content,
.accordion-content {
  display: none;
  position: relative;
  padding: var(--cnvs-toggle-content-padding) 0;
}

/* Toggle - with Title Background
-----------------------------------------------------------------*/
.toggle-bg .toggle-header {
  background-color: var(--cnvs-toggle-bg-color);
  margin: 0;
  padding: var(--cnvs-toggle-content-padding);
  border-radius: 2px;
}
.toggle-bg .toggle-content {
  padding: 1rem var(--cnvs-toggle-content-padding);
}

/* Toggle - Bordered
-----------------------------------------------------------------*/
.toggle-border {
  border: var(--cnvs-toggle-border-size) solid var(--cnvs-contrast-400);
  border-radius: var(--cnvs-toggle-border-radius);
}
.toggle-border .toggle-header {
  padding: var(--cnvs-toggle-content-padding);
  margin: 0;
}
.toggle-border .toggle-content {
  padding: 1rem;
  padding-top: 0;
}

/* Toggle - FAQs
-----------------------------------------------------------------*/
.faqs .toggle {
  border-bottom: 1px solid var(--cnvs-toggle-bg-color);
  padding-bottom: 12px;
  margin-bottom: 12px;
}
.faqs .toggle-content {
  padding-bottom: 10px;
}

/* ----------------------------------------------------------------
	Accordions
-----------------------------------------------------------------*/
.accordion {
  --cnvs-accordion-border-size: 1px;
  --cnvs-accordion-border-color: var(--cnvs-contrast-300);
  --cnvs-toggle-content-padding: 0.75rem;
  --cnvs-accordion-content-padding: 1.5rem;
  margin-bottom: 20px;
}
.accordion-header {
  padding: var(--cnvs-toggle-content-padding) 0;
  border-top: var(--cnvs-accordion-border-size) dotted
    var(--cnvs-accordion-border-color);
  cursor: pointer;
}
.accordion-header:first-child {
  border-top: none;
}
.accordion:not([data-collapsible='true']) .accordion-header.accordion-active {
  cursor: auto;
}
.accordion-header:not(.accordion-active) .accordion-open,
.accordion-active .accordion-closed {
  display: none;
}
.accordion-active .accordion-open {
  display: inline-block;
}
.accordion-content {
  padding-top: 0;
  padding-bottom: var(--cnvs-toggle-content-padding);
}

/* Accordion - with Title Background
-----------------------------------------------------------------*/
.accordion-bg .accordion-header {
  background-color: var(--cnvs-toggle-bg-color);
  padding: var(--cnvs-toggle-content-padding);
  border-radius: 2px;
  margin: 0;
  margin-bottom: 5px;
  border-top: 0;
}
.accordion-bg .accordion-content {
  padding: var(--cnvs-toggle-content-padding) var(--cnvs-toggle-content-padding)
    var(--cnvs-toggle-content-padding);
}

/* Accordion - Bordered
-----------------------------------------------------------------*/
.accordion-border {
  border: var(--cnvs-accordion-border-size) dotted
    var(--cnvs-accordion-border-color);
  border-radius: var(--cnvs-toggle-border-radius);
}
.accordion-border .accordion-header {
  border-color: var(--cnvs-contrast-300);
  padding: var(--cnvs-toggle-content-padding);
  margin: 0;
}
.accordion-border .accordion-content {
  padding: 0 1.125rem var(--cnvs-toggle-content-padding);
}

/* Accordion - Large
-----------------------------------------------------------------*/
.accordion-lg {
  --cnvs-toggle-font-size: 1.25rem;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: tabs.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Tabs
-----------------------------------------------------------------*/
.tabs,
.tab-content {
  --cnvs-tab-base-color: var(--cnvs-heading-color);
  --cnvs-tab-padding-width: 15px;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-font-weight: 400;
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: rgba(var(--cnvs-contrast-rgb), 0.075);
  --bs-nav-tabs-link-hover-border-color: transparent;
  --cnvs-tabs-bg-color: var(--cnvs-contrast-bg-offset);
  --cnvs-tabs-active-bg-color: var(--cnvs-contrast-bg);
  --cnvs-tabs-active-color: var(--cnvs-themecolor);
  --cnvs-tab-container-padding: 20px;
  --cnvs-side-tab-width: 200px;
  --cnvs-sidenav-font-size: 1rem;
  --cnvs-sidenav-border: 1px;
  --cnvs-sidenav-radius: 4px;
  --cnvs-sidenav-icon-margin: 6px;
  --cnvs-sidenav-padding-height: 11px;
  --cnvs-sidenav-padding-width: 20px;
  --cnvs-sidenav-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-sidenav-font-color: var(--cnvs-heading-color);
  position: relative;
}

/* Bootstrap Tabs */
:not(.dark) .list-group-media .list-group-item-action p {
  opacity: 0.8;
  line-height: 1.6 !important;
}

/* Tab Icons */
[role='tablist'] a.i-plain.active {
  color: var(--cnvs-themecolor);
}

[role='tablist'] a.active {
  border-color: var(--cnvs-themecolor);
  background-color: var(--cnvs-themecolor);
  color: var(--cnvs-contrast-0);
}

/* Tab Bordered */
.tab-bordered {
  position: relative;
}

.tab-bordered::before {
  content: '';
  height: 1px;
  border: 1px dashed var(--cnvs-contrast-300);
  position: absolute;
  margin: auto;
  top: 50%;
  left: 15px;
  right: 15px;
  z-index: 0;
}

.tab-bordered a {
  z-index: 2;
}

.tab-bordered a.i-bordered:not(.active):not(:hover) {
  background-color: var(--cnvs-tabs-active-bg-color) !important;
}

.tab-bordered.list-group-horizontal-sm::before {
  height: 100%;
  width: 1px;
  border: 1px dashed var(--cnvs-contrast-300);
  top: 15px;
  bottom: 15px;
  left: 26px;
  right: auto;
  z-index: 0;
}

.tab-sticky.sticky-sm-none {
  position: relative;
  top: auto;
  height: auto;
}

.tab-sticky {
  position: sticky;
  top: 80px;
  height: 100%;
  z-index: 1;
}

.canvas-tabs,
.canvas-tabs.nav-tabs {
  --bs-nav-link-padding-x: 1.5rem;
  --bs-nav-tabs-border-width: 1px;
  --bs-nav-tabs-border-color: rgba(var(--cnvs-contrast-rgb), 0.075);
  --bs-nav-tabs-border-radius: 0;
  --bs-nav-link-color: var(--cnvs-heading-color);
  --bs-nav-link-hover-color: var(--cnvs-heading-color);
  padding: 0 var(--cnvs-tab-padding-width);
}
.canvas-tabs .nav-item:first-child .nav-link,
.canvas-tabs.nav-tabs .nav-item:first-child .nav-link {
  border-left: var(--bs-nav-tabs-border-width) solid
    var(--bs-nav-tabs-border-color);
}
.canvas-tabs .nav-link,
.canvas-tabs.nav-tabs .nav-link {
  min-height: 41px;
  background-color: var(--cnvs-tabs-bg-color);
  border: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
  border-left: 0;
  transition: none;
}
.canvas-tabs .nav-link.active,
.canvas-tabs .nav-tabs .nav-item.show .nav-link,
.canvas-tabs.nav-tabs .nav-link.active,
.canvas-tabs.nav-tabs .nav-tabs .nav-item.show .nav-link {
  background-color: var(--cnvs-tabs-active-bg-color);
  color: var(--cnvs-tabs-active-color);
  border-bottom: 0;
  padding-bottom: calc(var(--bs-nav-link-padding-y) + 1px);
}
.canvas-tabs.tabs-bordered,
.canvas-tabs.nav-tabs.tabs-bordered {
  padding: 0;
  margin-bottom: 0 !important;
}
.canvas-tabs.tabs-bordered + .tab-content,
.canvas-tabs.nav-tabs.tabs-bordered + .tab-content {
  border: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
  border-top: 0;
  padding: var(--cnvs-tab-container-padding);
}
.canvas-tabs.flex-column,
.canvas-tabs.nav-tabs.flex-column {
  --bs-nav-link-padding-y: 0.75rem;
  padding: var(--cnvs-tab-padding-width) 0;
  border-bottom: 0;
  border-right: var(--bs-nav-tabs-border-width) solid
    var(--bs-nav-tabs-border-color);
}
.canvas-tabs.flex-column .nav-link,
.canvas-tabs.nav-tabs.flex-column .nav-link {
  width: 100%;
  text-align: left;
  border-left: var(--bs-nav-tabs-border-width) solid
    var(--bs-nav-tabs-border-color);
  margin-bottom: -1px;
  margin-left: calc(var(--bs-nav-tabs-border-width) * 1);
}
.canvas-tabs.flex-column .nav-link:hover,
.canvas-tabs.flex-column .nav-link:focus,
.canvas-tabs.nav-tabs.flex-column .nav-link:hover,
.canvas-tabs.nav-tabs.flex-column .nav-link:focus {
  isolation: auto;
}
.canvas-tabs.flex-column:not(.nav-pills) .nav-link.active,
.canvas-tabs.nav-tabs.flex-column:not(.nav-pills) .nav-link.active {
  border-right-color: transparent;
  padding-bottom: var(--bs-nav-link-padding-y);
}
.canvas-tabs.flex-column:last-child .nav-link,
.canvas-tabs.nav-tabs.flex-column:last-child .nav-link {
  border-bottom: var(--bs-nav-tabs-border-width) solid
    var(--bs-nav-tabs-border-color);
}
.canvas-tabs.size-sm,
.canvas-tabs.nav-tabs.size-sm {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-font-size: 0.9375rem;
}

.canvas-alt-tabs {
  --bs-nav-tabs-border-radius: 0;
  --bs-nav-link-color: var(--cnvs-tab-base-color);
  --bs-nav-link-hover-color: var(--cnvs-tab-base-color);
  --bs-nav-link-padding-x: 1.5rem;
  --bs-nav-tabs-link-active-bg: var(--cnvs-contrast-bg);
  --bs-nav-tabs-link-active-color: var(--cnvs-themecolor);
  --bs-nav-tabs-link-active-border-color: var(--bs-nav-tabs-border-color)
    var(--bs-nav-tabs-border-color) var(--cnvs-contrast-bg);
  padding: 0 var(--cnvs-tab-padding-width);
}
.canvas-alt-tabs.tabs-tb .nav-link {
  transition: none;
}
.canvas-alt-tabs.tabs-tb .nav-link.active {
  border-top: calc(var(--bs-nav-tabs-border-width) + 1px) solid
    var(--cnvs-themecolor);
  border-bottom: 0;
}
.canvas-alt-tabs.tabs-bb {
  --bs-nav-tabs-border-width: 0px;
  --bs-nav-tabs-border-radius: 0;
  --bs-nav-link-color: var(--cnvs-tab-base-color);
  padding: 0;
  border-bottom: 1px solid var(--bs-nav-tabs-border-color);
}
.canvas-alt-tabs.tabs-bb .nav-link.active {
  border-bottom: 1px solid var(--cnvs-themecolor);
}
.canvas-alt-tabs .nav-link:not(.active):not(:hover),
.canvas-alt-tabs .nav-link:not(.active):not(:focus) {
  border-color: transparent;
}

.canvas-alt-tabs2 {
  --bs-nav-pills-link-active-bg: var(--cnvs-themecolor);
  --bs-nav-pills-border-radius: 2px;
  --bs-nav-link-hover-color: var(--cnvs-tab-base-color);
  --bs-nav-link-padding-x: 1.5rem;
}
.canvas-alt-tabs2 .nav-link {
  background-color: var(--cnvs-contrast-200);
  --bs-nav-link-color: var(--cnvs-tab-base-color);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.canvas-alt-tabs2 .nav-item:not(:last-child) .nav-link {
  margin-right: 15px;
}
.canvas-alt-tabs2 .tabs-bordered {
  padding: 0;
  margin-bottom: 0 !important;
}
.canvas-alt-tabs2 .tabs-bordered + .tab-content {
  border: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
  border-top: 0;
  padding: var(--cnvs-tab-container-padding);
}

.tabs-bordered .tabs,
.tabs-bordered .tab-content {
  --bs-nav-tabs-border-color: var(--cnvs-contrast-300);
}
.tabs-bordered .flex-column {
  padding: 0;
  z-index: 1;
}
.tabs-bordered .tab-content {
  padding: var(--cnvs-sidenav-padding-width);
  border: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
  margin-left: -1px;
  height: 100%;
}
.tabs-bordered .tab-content p {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .canvas-br-side-tabs .nav-link {
    border: 0 !important;
    background-color: transparent !important;
    padding-left: 0;
  }
  .canvas-br-side-tabs .nav-link.active {
    border-right: 2px solid var(--cnvs-themecolor) !important;
  }
}
@media (max-width: 575.98px) {
  .tabs {
    flex-direction: column;
    border-bottom: 0;
    padding: 0;
  }
  .tabs li .nav-link {
    width: 100%;
    text-align: left;
    margin: 0 0 5px 0;
    border: var(--bs-nav-tabs-border-width) solid
      var(--bs-nav-tabs-border-color) !important;
  }
  .tabs li:last-child .nav-link {
    margin-bottom: 0;
  }
  .tabs.canvas-alt-tabs {
    --bs-nav-tabs-link-active-color: var(--cnvs-themecolor);
  }
}
/*-----------------------------------------------------------------------------------

	Shortcodes: faqs.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	FAQ List
-----------------------------------------------------------------*/
.faqlist li {
  margin-bottom: 5px;
  font-size: 1rem;
}
.faqlist li a {
  color: var(--cnvs-contrast-700);
}
.faqlist li a:hover {
  color: var(--cnvs-themecolor) !important;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: clients.scss

-----------------------------------------------------------------------------------*/
.clients-grid {
  --cnvs-clients-grid-padding: 20px;
  --cnvs-clients-grid-border-size: 1px;
  --cnvs-clients-grid-border-style: dashed;
  --cnvs-clients-grid-border-color: rgba(var(--cnvs-contrast-rgb), 0.15);
  --cnvs-clients-img-opacity: 0.6;
  position: relative;
  align-items: stretch;
  list-style: none;
  overflow: hidden;
}
.clients-grid > .col {
  position: relative;
  padding: var(--cnvs-clients-grid-padding) 0;
  -webkit-backface-visibility: hidden;
}
.clients-grid > .col a {
  display: block;
  width: 75%;
  margin-left: auto;
  margin-right: auto;
  opacity: var(--cnvs-clients-img-opacity);
  transition: all 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .clients-grid > .col a {
    transition: none;
  }
}
.clients-grid > .col a:hover {
  opacity: 1;
}
.clients-grid > .col img {
  width: 100%;
  display: block;
}
.clients-grid > .col::before,
.clients-grid > .col::after {
  content: '';
  position: absolute;
}
.clients-grid > .col::before {
  height: 100%;
  top: 0;
  left: calc(-1 * var(--cnvs-clients-grid-border-size));
  border-left: var(--cnvs-clients-grid-border-size)
    var(--cnvs-clients-grid-border-style) var(--cnvs-clients-grid-border-color);
}
.clients-grid > .col::after {
  width: 100%;
  height: 0;
  top: auto;
  left: 0;
  bottom: calc(-1 * var(--cnvs-clients-grid-border-size));
  border-bottom: var(--cnvs-clients-grid-border-size)
    var(--cnvs-clients-grid-border-style) var(--cnvs-clients-grid-border-color);
}

/* ----------------------------------------------------------------
	Clients
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Testimonials
-----------------------------------------------------------------*/
/* Testimonials - Grid
-----------------------------------------------------------------*/
.testimonials-grid .col {
  padding: 2rem;
  /* Testimonials - Item
  -----------------------------------------------------------------*/
}
.testimonials-grid .col .testimonial {
  padding: 0;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.quote-bubble {
  --cnvs-bubble-radius: 0.75rem;
  --cnvs-bubble-color: var(--cnvs-contrast-200);
  position: relative;
  padding: 1.25rem;
  border-radius: var(--cnvs-bubble-radius);
  color: var(--cnvs-heading-color);
  background-color: var(--cnvs-bubble-color);
  font-size: 1rem;
}
.quote-bubble::before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-left: var(--cnvs-bubble-radius) solid var(--cnvs-bubble-color);
  border-right: var(--cnvs-bubble-radius) solid transparent;
  border-top: var(--cnvs-bubble-radius) solid var(--cnvs-bubble-color);
  border-bottom: var(--cnvs-bubble-radius) solid transparent;
  right: calc((var(--cnvs-bubble-radius) + 1px) * -1);
  top: 0;
}
.quote-bubble.quote-bubble-left::before {
  border-left: var(--cnvs-bubble-radius) solid transparent;
  border-right: var(--cnvs-bubble-radius) solid var(--cnvs-bubble-color);
  left: calc((var(--cnvs-bubble-radius) + 1px) * -1);
  right: auto;
}
.quote-bubble > p {
  margin-bottom: 0;
}
.quote-bubble.bg-primary {
  --cnvs-bubble-color: var(--bs-primary);
}
.quote-bubble.bg-danger {
  --cnvs-bubble-color: var(--bs-danger);
}
.quote-bubble.bg-success {
  --cnvs-bubble-color: var(--bs-success);
}
.quote-bubble.bg-warning {
  --cnvs-bubble-color: var(--bs-warning);
}
.quote-bubble.bg-info {
  --cnvs-bubble-color: var(--bs-info);
}
.quote-bubble.bg-dark {
  --cnvs-bubble-color: var(--bs-dark);
}

/* Testimonial - Pagination
-----------------------------------------------------------------*/
.testimonial {
  --cnvs-fslider-dots-size: 0.5rem;
  --cnvs-slider-pagination-gutters: calc(var(--cnvs-fslider-dots-size) * 0.5);
}
.testimonial .flex-control-nav {
  top: auto;
  bottom: 0.5rem;
  right: 0;
}
.testimonial .flex-control-nav li a {
  border: none;
  background-color: var(--cnvs-themecolor);
  opacity: 0.5;
}
.testimonial .flex-control-nav li:hover a {
  opacity: 0.75;
}
.testimonial .flex-control-nav li a.flex-active {
  opacity: 1;
}

/* Testimonial - Full Scroller
-----------------------------------------------------------------*/
.testimonial.testimonial-full .flex-control-nav {
  position: relative;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 0.5rem;
  margin-top: 20px;
}
.testimonial.testimonial-full .flex-control-nav li {
  display: inline-block;
  float: none;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: team.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Team
-----------------------------------------------------------------*/
.team {
  --cnvs-team-base-color: var(--cnvs-heading-color);
  --cnvs-team-desc-align: center;
  --cnvs-team-desc-background: var(--cnvs-contrast-0);
  --cnvs-team-desc-padding: 0.75rem 0 2rem;
  --cnvs-team-title-font-size: 1.25rem;
  --cnvs-team-title-designation-font-size: 1rem;
  --cnvs-team-title-designation-font-color: var(--cnvs-contrast-600);
  --cnvs-team-title-designation-font-family: var(--cnvs-body-font);
  --cnvs-team-title-designation-font-weight: 400;
  --cnvs-team-title-designation-font-style: normal;
  --cnvs-team-title-designation-icon-width: 32px;
  --cnvs-team-title-designation-icon-size: 14px;
  --cnvs-team-overlay-color: #fff;
  --cnvs-team-overlay-opacity: 0.75;
  --cnvs-team-list-image-width: 250px;
  --cnvs-team-content-font-size: 1rem;
  --cnvs-team-content-font-color: var(--cnvs-contrast-600);
  position: relative;
  /* Team Center
  -----------------------------------------------------------------*/
  /* Team List
  -----------------------------------------------------------------*/
}
.team-image {
  position: relative;
}
.team-image > a,
.team-image img {
  display: block;
  width: 100%;
}
.team-desc {
  text-align: var(--cnvs-team-desc-align);
}
.team-desc-bg {
  background-color: var(--cnvs-team-desc-background);
  padding: var(--cnvs-team-desc-padding);
}
.team .si-share {
  margin-top: 30px;
  text-align: left;
}
.team .si-share .social-icon {
  font-size: var(--cnvs-team-title-designation-icon-size);
  width: var(--cnvs-team-title-designation-icon-width);
}
.team-title {
  position: relative;
  padding-top: 20px;
}
.team-title h4,
.team-title .h4 {
  display: block;
  margin-bottom: 0;
  font-size: var(--cnvs-team-title-font-size);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
}
.team-title span {
  display: block;
  color: var(--cnvs-team-title-designation-font-color);
  font-weight: var(--cnvs-team-title-designation-font-weight);
  font-family: var(--cnvs-team-title-designation-font-family);
  font-style: var(--cnvs-team-title-designation-font-style);
  font-size: var(--cnvs-team-title-designation-font-size);
  margin-top: 5px;
}
.team-content {
  margin-top: 1rem;
  color: var(--cnvs-team-content-font-color);
}
.team-content p:last-child {
  margin-bottom: 0;
}
.team.center .team-title::after {
  left: 50%;
  margin-left: -40px;
}
.team-list .team-desc {
  text-align: left;
}
.team-list .team-title {
  padding-top: 0;
}

.team .team-desc > .social-icon {
  margin-top: 20px;
}
.team .team-content ~ .social-icon {
  margin-top: 30px;
}
.team:not(.team-list) .social-icon {
  display: inline-block !important;
  vertical-align: middle;
  float: none;
  margin-left: 4px;
  margin-right: 4px;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: pricing.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Pricing Boxes
-----------------------------------------------------------------*/
.pricing,
[class*='pricing-'] {
  --cnvs-pricing-base-color: var(--cnvs-heading-color);
  --cnvs-pricing-background: var(--cnvs-contrast-100);
  --cnvs-pricing-border-size: 1px;
  --cnvs-pricing-border-color: rgba(var(--cnvs-contrast-rgb), 0.075);
  --cnvs-pricing-border-radius: 0.25rem;
  --cnvs-pricing-title-padding: 1rem;
  --cnvs-pricing-title-bg: var(--cnvs-contrast-100);
  --cnvs-pricing-title-border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.075);
  --cnvs-pricing-title-font-size: 1.5rem;
  --cnvs-pricing-title-font-weight: bold;
  --cnvs-pricing-title-font-spacing: 1px;
  --cnvs-pricing-title-font-transform: uppercase;
  --cnvs-pricing-title-font-color: var(--cnvs-heading-color);
  --cnvs-pricing-price-padding: 1.5rem;
  --cnvs-pricing-price-color: var(--cnvs-contrast-900);
  --cnvs-pricing-price-font-size: 4rem;
  --cnvs-pricing-price-bottom-border-width: 100px;
  --cnvs-pricing-price-bottom-border-size: 1px solid
    rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-pricing-price-currency-icon: 1.74rem;
  --cnvs-pricing-price-month: 0.99354rem;
  --cnvs-pricing-features-padding: 2rem;
  --cnvs-pricing-features-font-padding: 0.375rem;
  --cnvs-pricing-features-font-size: 0.875rem;
  --cnvs-pricing-popular-bg: var(--cnvs-contrast-100);
  --cnvs-pricing-popular-title-padding: 1.25rem;
  --cnvs-pricing-popular-font-color: var(--cnvs-themecolor);
  --cnvs-pricing-popular-title-font-size: 1.5rem;
  --cnvs-pricing-popular-pricing-font-size: 4.5rem;
  --cnvs-pricing-popular-box-shadow: 0 0 8px rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-pricing-minimal-bg: var(--cnvs-contrast-0);
  --cnvs-pricing-extended-padding: 30px;
}

.pricing {
  position: relative;
  /* Pricing Boxesma
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Title
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Price
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Features
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Action
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Best Price
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Simple
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Minimal
  -----------------------------------------------------------------*/
  /* Pricing Boxes - Extended
  -----------------------------------------------------------------*/
  /* Pricing Boxes - 5 Columns
  -----------------------------------------------------------------*/
}
.pricing > [class^='col-'] {
  margin-top: 1.25rem;
}
.pricing-box {
  position: relative;
  overflow: hidden;
  border: var(--cnvs-pricing-border-size) solid var(--cnvs-pricing-border-color);
  border-radius: var(--cnvs-pricing-border-radius);
  background-color: var(--cnvs-pricing-background);
}
.pricing-title {
  padding: var(--cnvs-pricing-title-padding) 0;
  background-color: var(--cnvs-pricing-title-bg);
  border-bottom: var(--cnvs-pricing-title-border);
  letter-spacing: 1px;
}
.pricing-title h3,
.pricing-title .h3 {
  margin: 0;
  font-size: var(--cnvs-pricing-title-font-size);
  font-weight: var(--cnvs-pricing-title-font-weight);
  color: var(--cnvs-pricing-title-font-color);
}
.pricing-title span {
  display: block;
  color: var(--cnvs-contrast-600);
  font-weight: 300;
  font-size: calc(var(--cnvs-pricing-title-font-size) * 0.7);
  margin: 3px 0;
  text-transform: var(--cnvs-pricing-title-font-transform);
}
.pricing-title.title-sm h3,
.pricing-title.title-sm .h3 {
  font-size: calc(var(--cnvs-pricing-title-font-size) * 0.8333);
}
.pricing-title.title-sm span {
  font-size: calc(var(--cnvs-pricing-title-font-size/1.714));
}
.pricing-price {
  position: relative;
  padding: var(--cnvs-pricing-price-padding) 0;
  color: var(--cnvs-pricing-price-color);
  font-size: var(--cnvs-pricing-price-font-size);
  line-height: 1;
}
.pricing-price .price-unit {
  display: inline-block;
  vertical-align: top;
  margin: 7px 3px 0 0;
  font-size: var(--cnvs-pricing-price-currency-icon);
  font-weight: normal;
}
.pricing-price .price-tenure {
  vertical-align: baseline;
  font-size: var(--cnvs-pricing-price-month);
  font-weight: normal;
  letter-spacing: 1px;
  color: var(--cnvs-contrast-600);
  margin: 0 0 0 3px;
}
.pricing-features {
  border-top: var(--cnvs-pricing-border-size) solid
    var(--cnvs-pricing-border-color);
  border-bottom: var(--cnvs-pricing-border-size) solid
    var(--cnvs-pricing-border-color);
  background-color: var(--cnvs-contrast-100);
  padding: var(--cnvs-pricing-features-padding) 0;
}
.pricing-features ul {
  margin: 0;
  list-style: none;
}
.pricing-features li {
  padding: var(--cnvs-pricing-features-font-padding) 0;
}
.pricing-action {
  padding: calc(var(--cnvs-pricing-title-padding) * 1.25) 0;
}
.pricing-highlight {
  box-shadow: var(--cnvs-pricing-popular-box-shadow);
  z-index: 10;
  margin: calc(-1 * var(--cnvs-pricing-popular-title-padding))
    calc(-1 * var(--cnvs-pricing-border-size));
}
.pricing-highlight .pricing-title,
.pricing-highlight .pricing-features {
  background-color: var(--cnvs-pricing-background);
}
.pricing-highlight .pricing-price {
  font-size: var(--cnvs-pricing-popular-pricing-font-size);
}
.pricing-simple {
  border: 0;
}
.pricing-simple .pricing-title,
.pricing-simple .pricing-features {
  border: 0;
  background-color: transparent;
}
.pricing-minimal .pricing-price {
  background-color: var(--cnvs-pricing-minimal-bg);
  border-bottom: var(--cnvs-pricing-border-size) solid
    var(--cnvs-pricing-border-color);
}
.pricing-minimal .pricing-price::after {
  display: none;
}

.pricing-extended {
  background-color: var(--cnvs-pricing-minimal-bg);
  text-align: left;
}
.pricing-extended .pricing-title {
  background-color: transparent;
  padding-top: 0;
  text-align: left;
}
.pricing-extended .pricing-features {
  border: 0;
  background-color: transparent;
}
.pricing-extended .pricing-action-area {
  border-left: var(--cnvs-pricing-title-border);
  background-color: var(--cnvs-pricing-title-bg);
  padding: var(--cnvs-pricing-extended-padding);
  text-align: center;
}
.pricing-extended .pricing-action-area .pricing-price,
.pricing-extended .pricing-action-area .pricing-action {
  padding: 0;
}
.pricing-extended .pricing-action-area .pricing-price {
  padding-bottom: var(--cnvs-pricing-popular-title-padding);
}
.pricing-extended .pricing-action-area .pricing-price::after {
  display: none;
}
.pricing-extended .pricing-action-area .pricing-price span.price-tenure {
  display: block;
  margin: 10px 0 0 0;
  font-weight: 300;
  text-transform: uppercase;
  font-size: 0.875rem;
}
.pricing-extended .pricing-meta {
  color: var(--cnvs-contrast-600);
  font-weight: 300;
  font-size: calc(var(--cnvs-pricing-title-font-size) * 0.7);
  letter-spacing: var(--cnvs-pricing-title-font-spacing);
  text-transform: var(--cnvs-pricing-title-font-transform);
  padding-bottom: 10px;
}

.pricing.pricing-5 .pricing-box {
  float: left;
  width: 20%;
  margin-top: var(--cnvs-pricing-popular-title-padding);
}
.pricing.pricing-5 .pricing-box.best-price {
  margin-top: 0;
}
.pricing.pricing-5 .pricing-box:nth-child(5) {
  margin-left: calc(-1 * var(--cnvs-pricing-border-size));
}
.pricing.pricing-5 .pricing-title h3,
.pricing.pricing-5 .pricing-title .h3 {
  font-size: var(--cnvs-pricing-title-font-size);
}
.pricing.pricing-5 .best-price .pricing-title h3,
.pricing.pricing-5 .best-price .pricing-title .h3 {
  font-size: var(--cnvs-pricing-title-font-size);
}

.table-comparison,
.table-comparison th {
  text-align: center;
}
.table-comparison th:first-child,
.table-comparison td:first-child {
  text-align: left;
  font-weight: bold;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: counter-skills.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Counter
-----------------------------------------------------------------*/
.counter {
  --cnvs-counter-font-size: 42px;
  --cnvs-counter-font-weight: 700;
  --cnvs-counter-font-family: var(--cnvs-primary-font);
  --cnvs-counter-caption-size: 1.125rem;
  --cnvs-counter-sm-font-size: 28px;
  --cnvs-counter-lg-font-size: 56px;
  --cnvs-counter-xl-font-size: 64px;
  --cnvs-counter-lined-size: 2px solid var(--cnvs-heading-color);
  --cnvs-counter-lined-width: 15%;
  font-size: var(--cnvs-counter-font-size);
  font-weight: var(--cnvs-counter-font-weight);
  font-family: var(--cnvs-counter-font-family);
}
.counter.counter-small {
  --cnvs-counter-font-size: var(--cnvs-counter-sm-font-size);
}
.counter.counter-large {
  --cnvs-counter-font-size: var(--cnvs-counter-lg-font-size);
}
.counter.counter-xlarge {
  --cnvs-counter-font-size: var(--cnvs-counter-xl-font-size);
  font-weight: 400;
}
.counter.counter-inherit {
  font-size: inherit;
  font-weight: inherit;
}
.counter + h5,
.counter + .h5 {
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.widget .counter + h5,
.widget .counter + .h5 {
  opacity: 0.7;
}
.counter.counter-lined + h5::before,
.counter.counter-lined + .h5::before {
  display: block;
  position: relative;
  margin: 20px auto 25px auto;
  content: '';
  width: var(--cnvs-counter-lined-width);
  border-top: var(--cnvs-counter-lined-size);
  opacity: 0.9;
}
.counter.counter-small + h5,
.counter.counter-small + .h5 {
  font-size: 0.875rem;
}
.counter.counter-large + h5,
.counter.counter-large + .h5,
.counter.counter-xlarge + h5,
.counter.counter-xlarge + .h5 {
  font-size: 15px;
  font-weight: 300;
}

/* ----------------------------------------------------------------
	Animated Rounded Skills
-----------------------------------------------------------------*/
.rounded-skill {
  --cnvs-rounded-skills-font-size: 1.25rem;
  --cnvs-rounded-skills-font-color: var(--cnvs-heading-color);
  --cnvs-rounded-skills-icon-size: 42px;
  display: inline-block;
  margin: 0 15px 15px;
  display: inline-block;
  position: relative;
  text-align: center;
  font-size: var(--cnvs-rounded-skills-font-size);
  font-weight: bold;
  color: var(--cnvs-rounded-skills-font-color);
  transition: opacity 0.4s ease;
  /* News Carousel Overlays
  -----------------------------------------------------------------*/
}
@media (prefers-reduced-motion: reduce) {
  .rounded-skill {
    transition: none;
  }
}
.rounded-skill + h5,
.rounded-skill + .h5 {
  margin-bottom: 0;
}
.rounded-skill i {
  font-size: var(--cnvs-rounded-skills-icon-size);
}
.rounded-skill canvas {
  position: absolute;
  top: 0;
  left: 0;
}
.news-carousel .rounded-skill {
  position: absolute;
  margin: 0 !important;
  top: 30px;
  right: 30px;
  color: #fff;
  font-weight: 700;
}

/* ----------------------------------------------------------------
	Skills Bar
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Skills Bar
-----------------------------------------------------------------*/
.skill-progress {
  --cnvs-progress-height: 10px;
  --cnvs-progress-color: var(--cnvs-themecolor);
  --cnvs-progress-trackcolor: var(--cnvs-contrast-100);
  --cnvs-progress-rounded: 0.25rem;
  --cnvs-progress-speed: 1.1s;
}
.skill-progress + .skill-progress {
  margin-top: 1rem;
}
.skill-progress-bar {
  position: relative;
  height: var(--cnvs-progress-height);
  background-color: var(--cnvs-progress-trackcolor);
  border-radius: var(--cnvs-progress-rounded);
}
.skill-progress-percent {
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: var(--cnvs-progress-color);
  border-radius: var(--cnvs-progress-rounded);
  transition-property: width, height;
  transition-duration: var(--cnvs-progress-speed);
  transition-timing-function: ease;
}
.skill-progress-vertical {
  --cnvs-progress-width: 50px;
  --cnvs-progress-height: 300px;
}
.skill-progress-vertical .skill-progress-bar {
  width: var(--cnvs-progress-width);
  height: var(--cnvs-progress-height);
}
.skill-progress-vertical .skill-progress-percent {
  width: 100%;
  height: 0;
  top: auto;
  bottom: 0;
}
.skill-progress-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}
.skill-progress-vertical .skill-progress-title {
  display: block;
}
.skill-progress-title h5,
.skill-progress-title .h5 {
  margin-bottom: 0;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: carousels.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Owl Carousel CSS
-----------------------------------------------------------------*/
.owl-carousel {
  --cnvs-carousel-animation-transition: 1000ms;
  --cnvs-owl-video-play-icon-size: 64px;
  --cnvs-owl-video-play-icon: url('images/icons/play.png');
  --cnvs-owl-video-play-icon-hover: scale(1.3);
  --cnvs-owl-autoHeight-transition: 500ms ease-in-out;
  --cnvs-owl-nav-hidden: true;
  --cnvs-owl-nav-border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.2);
  --cnvs-owl-nav-background: var(--cnvs-body-bg);
  --cnvs-owl-nav-color: var(--cnvs-contrast-600);
  --cnvs-owl-nav-border-radius: 50%;
  --cnvs-owl-full-nav-size: 28px;
  --cnvs-owl-full-nav-border-radius: 0.25rem;
  --cnvs-owl-full-nav-bgcolor: rgba(var(--cnvs-contrast-rgb), 0.4);
  --cnvs-owl-full-nav-color: var(--cnvs-contrast-100);
  --cnvs-owl-full-nav-hover-bgcolor: var(--cnvs-themecolor);
  --cnvs-owl-full-nav-hover-color: var(--cnvs-body-bg);
  --cnvs-owl-dots-background: var(--cnvs-themecolor);
  --cnvs-owl-dots-opacity: 0.5;
  --cnvs-owl-nav-sizes: 36px;
  --cnvs-owl-dots-gutters: 0.25rem;
  --cnvs-owl-dots-sizes: 0.5rem;
  --cnvs-owl-nav-bg: var(--cnvs-themecolor);
  --cnvs-owl-nav-margin: calc(var(--cnvs-owl-nav-sizes) / -2);
  --cnvs-owl-nav-with-dots: calc(
    var(--cnvs-owl-nav-margin) -
      calc(calc(30px + var(--cnvs-owl-dots-sizes)) / 2)
  );
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.owl-height {
  transition: height 500ms ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .owl-height {
    transition: none;
  }
}

.owl-carousel {
  direction: ltr;
  display: none;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 1;
  width: 100%;
  touch-action: manipulation;
}
.owl-carousel .animated {
  animation-duration: var(--cnvs-carousel-animation-transition);
  animation-fill-mode: both;
}
.owl-carousel .owl-animated-in {
  z-index: 0;
}
.owl-carousel .owl-animated-out {
  z-index: 1;
}
.owl-carousel .fadeOut {
  animation-name: fadeOut;
}
.owl-carousel .owl-stage {
  position: relative;
}
.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-loaded {
  display: block;
}
.owl-carousel.owl-loading {
  display: block;
  min-height: 100px;
  background: no-repeat center center;
  opacity: 0;
  display: block;
}
.owl-carousel .owl-refresh .owl-item {
  display: none;
}
.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  transform-style: preserve-3d;
}
.slider-element .owl-carousel .owl-item img {
  -webkit-transform-style: preserve-3d;
}
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none;
}
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot,
.owl-carousel .owl-dots button {
  cursor: pointer;
  cursor: hand;
  padding: 0;
  border: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.owl-carousel.owl-hidden {
  opacity: 0;
}
.mega-menu-content .owl-carousel {
  opacity: 1;
}
.owl-carousel.owl-refresh .owl-item {
  display: none;
}
.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.owl-carousel.owl-grab {
  cursor: move;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab;
}
.no-js .owl-carousel {
  display: block;
}
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-item .owl-lazy {
    transition: none;
  }
}
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #111;
}
.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: var(--cnvs-owl-video-play-icon-size);
  width: var(--cnvs-owl-video-play-icon-size);
  left: 50%;
  top: 50%;
  margin-left: calc(var(--cnvs-owl-video-play-icon-size) * -0.5);
  margin-top: calc(var(--cnvs-owl-video-play-icon-size) * -0.5);
  background: var(--cnvs-owl-video-play-icon) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: scale 100ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-video-play-icon {
    transition: none;
  }
}
.owl-carousel .owl-video-play-icon:hover {
  transition: var(--cnvs-owl-video-play-icon-hover);
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-video-play-icon:hover {
    transition: none;
  }
}
.owl-carousel .owl-video-play-icon .owl-video-play-icon,
.owl-carousel .owl-video-play-icon .owl-video-tn {
  display: none;
}
.owl-carousel .owl-video-play-icon .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease;
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-video-play-icon .owl-video-tn {
    transition: none;
  }
}
.owl-carousel .owl-video-play-icon .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

/* Owl Carousel - Controls
-----------------------------------------------------------------*/
.owl-carousel .owl-dots,
.owl-carousel .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  line-height: 1;
}

/* Owl Carousel - Controls - Arrows
-----------------------------------------------------------------*/
.owl-carousel .owl-nav [class*='owl-'] {
  position: absolute;
  top: 50%;
  zoom: 1;
  border: var(--cnvs-owl-nav-border);
  color: var(--cnvs-owl-nav-color);
  background-color: var(--cnvs-owl-nav-background);
  border-radius: var(--cnvs-owl-nav-border-radius);
  opacity: 0;
  left: calc(var(--cnvs-owl-nav-sizes) * -1);
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-nav [class*='owl-'] {
    transition: none;
  }
}

.owl-carousel.with-carousel-dots .owl-nav [class*='owl-'] {
  margin-top: calc(var(--cnvs-owl-nav-sizes) - 2);
}

.slider-element .owl-nav [class*='owl-'],
.owl-carousel-full .owl-nav [class*='owl-'] {
  margin-top: -30px;
  left: 0 !important;
  height: calc(var(--cnvs-owl-full-nav-sizes) * 2.143);
  line-height: calc(var(--cnvs-owl-full-nav-sizes) * 2.143);
  border: none;
  color: var(--cnvs-owl-full-nav-color);
  background-color: var(--cnvs-owl-full-nav-bgcolor);
  font-size: var(--cnvs-owl-full-nav-sizes);
  border-radius: 0 var(--cnvs-owl-full-nav-border-radius)
    var(--cnvs-owl-full-nav-border-radius) 0;
}

.owl-carousel-full .with-carousel-dots .owl-nav [class*='owl-'] {
  margin-top: -50px;
}

.owl-carousel .owl-nav .owl-next {
  left: auto;
  right: calc(var(--cnvs-owl-nav-sizes) * -1);
}

.slider-element .owl-nav .owl-next,
.owl-carousel-full .owl-nav .owl-next {
  left: auto !important;
  right: 0 !important;
  border-radius: var(--cnvs-owl-full-nav-border-radius) 0 0
    var(--cnvs-owl-full-nav-border-radius);
}

.owl-carousel:hover .owl-nav [class*='owl-'] {
  opacity: 1;
  left: calc(-0.5 * var(--cnvs-owl-nav-sizes));
}

.owl-carousel:hover .owl-nav .owl-next {
  left: auto;
  right: calc(-0.5 * var(--cnvs-owl-nav-sizes));
}

.owl-carousel .owl-nav [class*='owl-']:hover {
  background-color: var(--cnvs-owl-full-nav-hover-bgcolor) !important;
  color: var(--cnvs-owl-full-nav-hover-color) !important;
  text-decoration: none;
}

.owl-carousel .owl-nav .disabled {
  display: none !important;
}

/* Owl Carousel - Controls - Dots
-----------------------------------------------------------------*/
.owl-carousel .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
  opacity: var(--cnvs-owl-dots-opacity);
  width: var(--cnvs-owl-dots-sizes);
  height: var(--cnvs-owl-dots-sizes);
  margin-top: 30px;
  border-radius: 50%;
  background-color: var(--cnvs-owl-dots-background);
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .owl-carousel .owl-dots .owl-dot {
    transition: none;
  }
}
.owl-carousel .owl-dots .owl-dot.active,
.owl-carousel .owl-dots .owl-dot:hover {
  opacity: 1;
}

/* Owl Carousel - Controls - Dots - Positions
-----------------------------------------------------------------*/
.owl-carousel[class*='owl-nav-pos-'],
.owl-carousel[class*='owl-dots-pos-'] .owl-carousel[class*='owl-img-pos-'] {
  display: flex;
  flex-direction: column;
}

.owl-carousel.owl-nav-pos-1 .owl-nav,
.owl-carousel.owl-dots-pos-1 .owl-dots,
.owl-carousel.owl-content-pos-1 .owl-stage-outer {
  order: 1;
}

.owl-carousel.owl-nav-pos-2 .owl-nav,
.owl-carousel.owl-dots-pos-2 .owl-dots,
.owl-carousel.owl-content-pos-2 .owl-stage-outer {
  order: 2;
  margin: 20px 0;
}

.owl-carousel.owl-nav-pos-3 .owl-nav,
.owl-carousel.owl-dots-pos-3 .owl-dots,
.owl-carousel.owl-content-pos-3 .owl-stage-outer {
  order: 3;
}

.owl-carousel.owl-dots-pos-2 .owl-dots .owl-dot,
.owl-carousel.owl-dots-pos-3 .owl-dots .owl-dot {
  margin-top: 0;
}

.owl-carousel.owl-nav-pos-left .owl-nav,
.owl-carousel.owl-nav-pos-right .owl-nav,
.owl-carousel.owl-dots-pos-left .owl-dots,
.owl-carousel.owl-dots-pos-right .owl-dots {
  display: flex;
  justify-content: center;
}

.owl-carousel.owl-dots-pos-left .owl-dots,
.owl-carousel.owl-nav-pos-left .owl-nav {
  justify-content: flex-start;
}

.owl-carousel.owl-dots-pos-right .owl-dots,
.owl-carousel.owl-nav-pos-right .owl-nav {
  justify-content: flex-end;
}

.owl-carousel.with-carousel-dots.owl-dots-pos-top .owl-nav [class*='owl-'] {
  margin-top: 0;
}

/* Owl Carousel - Controls - Dots - Sizes
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-size-sm {
  --cnvs-owl-dots-sizes: 4px;
  --cnvs-owl-dots-gutters: 2px;
}

.owl-carousel.owl-dots-size-lg {
  --cnvs-owl-dots-sizes: 12px;
  --cnvs-owl-dots-gutters: 5px;
}

.owl-carousel.owl-dots-size-xl {
  --cnvs-owl-dots-sizes: 16px;
  --cnvs-owl-dots-gutters: 6px;
}

.owl-carousel .owl-dots .owl-dot {
  width: var(--cnvs-owl-dots-sizes);
  height: var(--cnvs-owl-dots-sizes);
  background-color: var(--cnvs-owl-nav-bg);
  margin-left: var(--cnvs-owl-dots-gutters);
  margin-right: var(--cnvs-owl-dots-gutters);
  transition: all 0.3s;
}

.owl-carousel.owl-nav-hover-fixed[class*='owl-nav-pos-'] .owl-nav .disabled {
  display: inline-block !important;
  pointer-events: none;
  opacity: 0.4 !important;
}

/* Owl Carousel - Controls - Dots - Border
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-border .owl-dots .owl-dot:not(.active) {
  opacity: 1;
  background-color: transparent;
  border: 1px solid var(--cnvs-owl-nav-bg);
}

.owl-carousel.owl-dots-border .owl-dots .owl-dot.active {
  border-color: transparent;
}

/* Owl Carousel - Controls - Dots - square
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-square .owl-dots .owl-dot {
  border-radius: 0;
  --cnvs-owl-dots-sizes: 10px;
}

/* Owl Carousel - Controls - Dots - square
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-rounded .owl-dots .owl-dot {
  --cnvs-owl-dots-sizes: 10px;
  border-radius: 2px;
}

/* Owl Carousel - Controls - Dots - Dashed
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-dashed .owl-dots .owl-dot {
  --cnvs-owl-dots-sizes: 16px;
  opacity: 0.4;
  height: 4px;
  border-radius: 4px;
}

.owl-carousel.owl-dots-dashed .owl-dots .owl-dot.active {
  --cnvs-owl-dots-sizes: 32px;
  opacity: 1;
}

/* Owl Carousel - Controls - Dots - Numbers
-----------------------------------------------------------------*/
.owl-carousel.owl-dots-number .owl-dots {
  --cnvs-owl-dots-sizes: 28px;
  counter-reset: dots;
  --cnvs-owl-nav-bg: #fff;
}

.owl-carousel.owl-dots-number .owl-dots .owl-dot {
  position: relative;
  width: auto;
  opacity: 0.3;
}

.owl-carousel.owl-dots-number .owl-dots .owl-dot.active {
  opacity: 1;
}

.owl-carousel.owl-dots-number .owl-dots .owl-dot:before {
  display: inline-block;
  counter-increment: dots;
  content: counter(dots, decimal-leading-zero);
}

.owl-carousel.owl-dots-number .owl-dots .owl-dot span {
  position: relative;
  display: inline-block;
  width: 0px;
  height: 2px;
  background-color: #666;
  top: -5px;
  margin-left: 5px;
  transition: width 0.4s ease-in-out;
}

.owl-carousel.owl-dots-number .owl-dots .owl-dot.active span {
  width: 30px;
}

/* Owl Carousel - Controls - Arrows - Sizes
-----------------------------------------------------------------*/
.owl-carousel .owl-nav [class*='owl-'] {
  left: calc(-1 * var(--cnvs-owl-nav-sizes));
  width: var(--cnvs-owl-nav-sizes);
  height: var(--cnvs-owl-nav-sizes);
  line-height: calc(-1 * var(--cnvs-owl-nav-sizes) - 4px);
  font-size: calc(var(--cnvs-owl-nav-sizes) / 2);
  margin-top: var(--cnvs-owl-nav-margin);
}
@media (max-width: 767.98px) {
  .owl-carousel .owl-nav [class*='owl-'] {
    left: var(--cnvs-owl-nav-sizes);
  }
}

.owl-carousel.with-carousel-dots .owl-nav [class*='owl-'] {
  margin-top: var(--cnvs-owl-nav-with-dots);
}

.owl-carousel .owl-nav .owl-next {
  left: auto;
  right: calc(-1 * var(--cnvs-owl-nav-sizes));
}
@media (max-width: 767.98px) {
  .owl-carousel .owl-nav .owl-next {
    right: var(--cnvs-owl-nav-sizes);
  }
}

.slider-element .owl-nav .owl-next,
.owl-carousel-full .owl-nav .owl-next {
  left: auto !important;
  right: 0 !important;
}

.owl-carousel.owl-nav-hover-fixed .owl-nav [class*='owl-'],
.owl-carousel:hover .owl-nav [class*='owl-'] {
  opacity: 1;
  left: calc(-1 * var(--cnvs-owl-nav-sizes) / 2);
}
@media (max-width: 767.98px) {
  .owl-carousel.owl-nav-hover-fixed .owl-nav [class*='owl-'],
  .owl-carousel:hover .owl-nav [class*='owl-'] {
    left: calc(var(--cnvs-owl-nav-sizes) / 4);
  }
}

.owl-carousel.owl-nav-hover-fixed .owl-nav .owl-next,
.owl-carousel:hover .owl-nav .owl-next {
  left: auto;
  right: calc(-1 * var(--cnvs-owl-nav-sizes) / 2);
}
@media (max-width: 767.98px) {
  .owl-carousel.owl-nav-hover-fixed .owl-nav .owl-next,
  .owl-carousel:hover .owl-nav .owl-next {
    right: calc(var(--cnvs-owl-nav-sizes) / 4);
  }
}

.owl-carousel .owl-nav [class*='owl-']:hover {
  background-color: var(--cnvs-owl-nav-bg) !important;
}

.slider-element .owl-nav [class*='owl-'],
.owl-carousel-full .owl-nav [class*='owl-'] {
  margin-top: -30px;
  height: calc(var(--cnvs-owl-nav-sizes) * 1.6666666667);
  line-height: calc(var(--cnvs-owl-nav-sizes) * 1.6666666667);
  font-size: calc(var(--cnvs-owl-nav-sizes) * 1.6666666667 / 2);
}

.owl-carousel-full .with-carousel-dots .owl-nav [class*='owl-'] {
  margin-top: calc(
    var(--cnvs-owl-nav-sizes) * 1.6666666667 / -2 -
      (30px + var(--cnvs-owl-dots-sizes)) / 2
  );
}

.owl-carousel.owl-nav-hover-fixed[class*='owl-nav-pos-']
  .owl-nav
  [class*='owl-'] {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  margin: 0;
}

.owl-carousel.owl-nav-hover-fixed[class*='owl-nav-pos-'] .owl-nav .owl-prev {
  margin-right: 5px;
}

.owl-carousel.owl-nav-hover-fixed[class*='owl-nav-pos-'] .owl-nav .owl-next {
  margin-left: 5px;
}

.owl-carousel.owl-nav-text .owl-nav [class*='owl-'] {
  width: auto;
  height: auto;
  line-height: 1.5;
  font-size: 0.925rem;
  border-radius: 3px;
  padding: 4px 8px;
}

.owl-carousel.owl-nav-text .owl-nav [class*='owl-'] i {
  position: relative;
  top: 1px;
}

/* ----------------------------------------------------------------

	Flip Cards

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Flip Cards
-----------------------------------------------------------------*/
.flip-card {
  transform-style: preserve-3d;
  perspective: 1000px;
}
.flip-card-front,
.flip-card-back {
  background-size: cover;
  background-position: center;
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  backface-visibility: hidden;
  width: 100%;
  height: 280px;
  border-radius: 6px;
  color: #fff;
  font-size: 1.5rem;
}
@media (prefers-reduced-motion: reduce) {
  .flip-card-front,
  .flip-card-back {
    transition: none;
  }
}
.flip-card-front.no-after::after,
.flip-card-back.no-after::after {
  content: none;
}
.flip-card-front::after,
.flip-card-back::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  opacity: 0.6;
  background-color: #000;
  backface-visibility: hidden;
  border-radius: 6px;
}
.flip-card-front:hover .flip-card-front,
.flip-card-front:hover .flip-card-back,
.flip-card-back:hover .flip-card-front,
.flip-card-back:hover .flip-card-back {
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
}
@media (prefers-reduced-motion: reduce) {
  .flip-card-front:hover .flip-card-front,
  .flip-card-front:hover .flip-card-back,
  .flip-card-back:hover .flip-card-front,
  .flip-card-back:hover .flip-card-back {
    transition: none;
  }
}
.flip-card-back {
  background-color: #666;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.flip-card-inner {
  transform: translateY(-50%) translateZ(60px) scale(0.94);
  top: 50%;
  position: absolute;
  left: 0;
  width: 100%;
  padding: 2rem;
  box-sizing: border-box;
  outline: 1px solid transparent;
  perspective: inherit;
  z-index: 2;
}
.flip-card-back {
  transform: rotateY(180deg);
  transform-style: preserve-3d;
}
.top-to-bottom .flip-card-back {
  transform: rotateX(180deg);
  transform-style: preserve-3d;
}
.flip-card-front,
.flip-card:hover .flip-card-back {
  transform: rotateY(0deg);
  transform-style: preserve-3d;
}
.flip-card:hover .flip-card-front {
  transform: rotateY(-180deg);
  transform-style: preserve-3d;
}
.top-to-bottom .flip-card-front,
.top-to-bottom:hover .flip-card-back {
  transform: rotateX(0deg);
  transform-style: preserve-3d;
}
.top-to-bottom:hover .flip-card-front {
  transform: rotateX(-180deg);
  transform-style: preserve-3d;
}
.flip-card-inner span {
  font-size: 18px;
  line-height: 20px;
  font-weight: 300;
}
.flip-card-inner p {
  position: relative;
  font-size: 1rem;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.7);
}

/*-----------------------------------------------------------------------------------

	Shortcodes: headings.scss

-----------------------------------------------------------------------------------*/
/* Titular
-----------------------------------------------------------------*/
.titular-title {
  --cnvs-titular-title-font-size-h1: 3.25rem;
  --cnvs-titular-title-font-size-h2: 2.75rem;
  --cnvs-titular-title-font-size-h3: 2rem;
  --cnvs-titular-title-font-size-subtitle: 1rem;
  font-weight: 500;
  letter-spacing: -1px;
}
h1.titular-title,
.titular-title.h1 {
  font-size: var(--cnvs-titular-title-font-size-h1);
}

h2.titular-title,
.titular-title.h2 {
  font-size: var(--cnvs-titular-title-font-size-h2);
}

h3.titular-title,
.titular-title.h3 {
  font-size: var(--cnvs-titular-title-font-size-h3);
}

.titular-sub-title {
  margin: 0;
  font-weight: 600;
  letter-spacing: 4px;
  font-size: var(--cnvs-titular-title-font-size-subtitle);
  text-transform: uppercase;
}
.titular-title + .titular-sub-title {
  margin-top: -25px;
  margin-bottom: 30px;
}

/* Block Titles
-----------------------------------------------------------------*/
.title-block {
  --cnvs-title-block-padding: 20px;
  --cnvs-title-block-color: var(--cnvs-heading-color);
  --cnvs-title-block-border: 7px;
  --cnvs-title-block-border-color: var(--cnvs-themecolor);
  --cnvs-title-block-subtitle-color: var(--cnvs-contrast-700);
  padding: 2px 0 3px var(--cnvs-title-block-padding);
  border-left: var(--cnvs-title-block-border) solid
    var(--cnvs-title-block-border-color);
  margin-bottom: 30px;
}
.title-block-right {
  padding: 2px var(--cnvs-title-block-padding) 3px 0;
  border-left: 0;
  border-right: var(--cnvs-title-block-border) solid
    var(--cnvs-title-block-border-color);
  text-align: right;
}
.title-block h1,
.title-block .h1,
.title-block h2,
.title-block .h2,
.title-block h3,
.title-block .h3,
.title-block h4,
.title-block .h4 {
  margin-bottom: 0;
}
.title-block > span {
  display: block;
  margin-top: 4px;
  color: var(--cnvs-title-block-subtitle-color);
  font-weight: 300;
}
.title-block h1 + span,
.title-block .h1 + span,
.title-block h2 + span,
.title-block .h2 + span {
  font-size: 1.25rem;
}
.title-block h3 + span,
.title-block .h3 + span {
  font-size: 1.125rem;
}
.title-block h4 + span,
.title-block .h4 + span {
  font-size: 0.9375rem;
}

/* Heading Block - with Subtitle
-----------------------------------------------------------------*/
.heading-block {
  --cnvs-heading-block-font-size-h1: 2.5rem;
  --cnvs-heading-block-font-size-h2: 2.125rem;
  --cnvs-heading-block-font-size-h3: 1.875rem;
  --cnvs-heading-block-font-size-h4: 1.375rem;
  --cnvs-heading-block-font-weight: 600;
  --cnvs-heading-block-font-spacing: 0;
  --cnvs-heading-block-font-color: var(--cnvs-heading-color);
  --cnvs-heading-block-font-transform: none;
  --cnvs-heading-block-center-container: 700px;
  --cnvs-title-block-border-size: 40px;
  --cnvs-heading-block-border: 2px solid var(--cnvs-heading-color);
  --cnvs-heading-block-span-color: var(--cnvs-contrast-600);
  margin-bottom: 50px;
}
.heading-block h1,
.heading-block .h1,
.heading-block h2,
.heading-block .h2,
.heading-block h3,
.heading-block .h3,
.heading-block h4,
.heading-block .h4 {
  margin-bottom: 0;
  font-weight: var(--cnvs-heading-block-font-weight);
  text-transform: var(--cnvs-heading-block-font-transform);
  letter-spacing: var(--cnvs-heading-block-font-spacing);
  color: var(--cnvs-heading-block-font-color);
}
.heading-block h1,
.heading-block .h1 {
  font-size: var(--cnvs-heading-block-font-size-h1);
}
.heading-block h2,
.heading-block .h2 {
  font-size: var(--cnvs-heading-block-font-size-h2);
}
.heading-block h3,
.heading-block .h3 {
  font-size: var(--cnvs-heading-block-font-size-h3);
}
.heading-block h4,
.heading-block .h4 {
  font-size: var(--cnvs-heading-block-font-size-h4);
}
.heading-block > span:not(.before-heading) {
  display: block;
  margin-top: 0.5rem;
  font-weight: 300;
  color: var(--cnvs-heading-block-span-color);
}
.heading-block.center > span,
.heading-block.text-center > span,
.center .heading-block > span,
.text-center .heading-block > span {
  max-width: var(--cnvs-heading-block-center-container);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .text-md-start .heading-block > span {
    max-width: none !important;
  }
}
.heading-block h1 + span,
.heading-block .h1 + span {
  font-size: calc(var(--cnvs-heading-block-font-size-h1) / 1.5);
}
.heading-block h2 + span,
.heading-block .h2 + span,
.heading-block h3 + span,
.heading-block .h3 + span,
.heading-block h4 + span,
.heading-block .h4 + span {
  font-size: calc(var(--cnvs-heading-block-font-size-h2) / 1.75);
}
.heading-block::after {
  content: '';
  display: block;
  margin-top: 30px;
  width: var(--cnvs-title-block-border-size);
  border-top: var(--cnvs-heading-block-border);
}
.center .heading-block::after,
.text-center .heading-block::after,
.heading-block.center::after,
.heading-block.text-center::after {
  margin: 30px auto 0;
}
@media (min-width: 768px) {
  .text-md-start .heading-block::after {
    margin-left: 0 !important;
  }
}
.text-end .heading-block,
.heading-block.text-end,
.heading-block.title-right {
  direction: rtl;
}
.heading-block.border-0::after,
.heading-block.border-bottom-0::after {
  display: none;
}
.heading-block.border-color::after {
  border-color: var(--cnvs-themecolor);
}

/* Emphasis Title
-----------------------------------------------------------------*/
.emphasis-title {
  --cnvs-emphasis-title-font-size: 64px;
  margin: 0 0 50px;
}
.emphasis-title h1,
.emphasis-title .h1,
.emphasis-title h2,
.emphasis-title .h2 {
  font-weight: 700;
  text-transform: uppercase;
  color: var(--cnvs-contrast-900);
  font-weight: 400;
  text-transform: none;
  font-size: var(--cnvs-emphasis-title-font-size);
  letter-spacing: -2px;
}
.emphasis-title h1 strong,
.emphasis-title .h1 strong,
.emphasis-title h2 strong,
.emphasis-title .h2 strong {
  font-weight: 600;
}

/* Justify Border Title
-----------------------------------------------------------------*/
.fancy-title {
  --cnvs-fancy-title-bg: #fff;
  --cnvs-fancy-title-padding: 0.75rem;
  --cnvs-fancy-title-border-size: 1px;
  --cnvs-fancy-title-border-color: rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-fancy-title-dotted-border: images/icons/dotted.png;
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
.fancy-title h1,
.fancy-title .h1,
.fancy-title h2,
.fancy-title .h2,
.fancy-title h3,
.fancy-title .h3,
.fancy-title h4,
.fancy-title .h4,
.fancy-title h5,
.fancy-title .h5,
.fancy-title h6,
.fancy-title .h6 {
  position: relative;
  margin-bottom: 0;
}
.fancy-title::before,
.fancy-title::after {
  content: '';
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  height: 0;
  border-top: calc(var(--cnvs-fancy-title-border-size) * 3) double
    rgba(var(--cnvs-contrast-rgb), 0.1);
}
.fancy-title::before {
  display: none;
  margin-right: var(--cnvs-fancy-title-padding);
}
.fancy-title::after {
  margin-left: var(--cnvs-fancy-title-padding);
}

.title-border::before,
.title-border::after {
  border-top-width: var(--cnvs-fancy-title-border-size);
  border-top-style: solid;
}

.title-border-color::before,
.title-border-color::after {
  border-top: var(--cnvs-fancy-title-border-size) solid var(--cnvs-themecolor);
}

/* Fancy Title - Center Align
-----------------------------------------------------------------*/
.title-center::before {
  display: block;
}

/* Fancy Title - Right Align
-----------------------------------------------------------------*/
.title-right::before {
  display: block;
}
.title-right::after {
  display: none;
}

/* Fancy Title - Bottom Short Border
-----------------------------------------------------------------*/
.title-bottom-border::before,
.title-bottom-border::after {
  display: none;
}
.title-bottom-border h1,
.title-bottom-border .h1,
.title-bottom-border h2,
.title-bottom-border .h2,
.title-bottom-border h3,
.title-bottom-border .h3,
.title-bottom-border h4,
.title-bottom-border .h4,
.title-bottom-border h5,
.title-bottom-border .h5,
.title-bottom-border h6,
.title-bottom-border .h6 {
  width: 100%;
  padding: 0 0 var(--cnvs-fancy-title-padding);
  border-bottom: calc(var(--cnvs-fancy-title-border-size) * 2) solid
    var(--cnvs-themecolor);
}

/* Sub Heading
-----------------------------------------------------------------*/
:root {
  --cnvs-before-heading-font-size: 1rem;
  --cnvs-before-heading-font-weight: 400;
  --cnvs-before-heading-font-family: var(--cnvs-secondary-font);
  --cnvs-before-heading-ls: 0px;
  --cnvs-before-heading-tt: none;
  --cnvs-before-heading-fst: normal;
  --cnvs-before-heading-color: var(--cnvs-contrast-600);
  --cnvs-before-heading-margin-bottom: 0.25rem;
}

.before-heading {
  display: block;
  margin: 0 0 var(--cnvs-before-heading-margin-bottom);
  font-size: var(--cnvs-before-heading-font-size);
  font-weight: var(--cnvs-before-heading-font-weight);
  font-family: var(--cnvs-before-heading-font-family);
  font-style: normal;
  letter-spacing: var(--cnvs-before-heading-ls);
  text-transform: var(--cnvs-before-heading-tt);
  color: var(--cnvs-before-heading-color);
}

/*-----------------------------------------------------------------------------------

	Shortcodes: dividers.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Divider
-----------------------------------------------------------------*/
.divider {
  --cnvs-divider-margin: 3rem;
  --cnvs-divider-gap: 0.5rem;
  --cnvs-divider-color: var(--cnvs-contrast-200);
  --cnvs-divider-hover-color: var(--cnvs-contrast-600);
  --cnvs-divider-size: 18px;
  --cnvs-divider-width: 100%;
  --cnvs-divider-border-width: 1px;
  --cnvs-divider-border-style: solid;
  --cnvs-divider-border-color: var(--cnvs-divider-color);
  --cnvs-divider-bg-color: var(--cnvs-contrast-200);
  --cnvs-divider-rounded-color: var(--cnvs-contrast-600);
  --cnvs-divider-icon-border-width: var(--cnvs-divider-border-width);
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin: var(--cnvs-divider-margin) auto;
  width: var(--cnvs-divider-width);
  /* Divider - Rounded & Border
     -----------------------------------------------------------------*/
  /* Divider - Icon Align Right
     -----------------------------------------------------------------*/
  /* Divider - Icon Align Center
     -----------------------------------------------------------------*/
  /* Divider - Rounded Icon
     -----------------------------------------------------------------*/
  /* Divider - Line Only
     -----------------------------------------------------------------*/
}
.divider.divider-rounded,
.divider.divider-border {
  --cnvs-divider-icon-border-width: 0px;
  --cnvs-divider-rounded-size: calc(var(--cnvs-divider-size) * 1.6666666667);
  --cnvs-divider-line-height: calc(
    var(--cnvs-divider-rounded-size) -
      calc(var(--cnvs-divider-icon-border-width) * 2)
  );
  --cnvs-divider-color: var(--cnvs-contrast-400);
  --cnvs-divider-border-color: var(--cnvs-contrast-200);
  --cnvs-divider-gap: 0;
}
.divider.divider-border {
  --cnvs-divider-icon-border-width: 1px;
  --cnvs-divider-bg-color: transparent;
}
.divider.divider-margin-lg {
  --cnvs-divider-margin: 5rem;
}
.divider::after,
.divider::before {
  content: '';
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  border-bottom: var(--cnvs-divider-border-width)
    var(--cnvs-divider-border-style) var(--cnvs-divider-border-color);
}
.divider::before {
  display: none;
  margin-right: var(--cnvs-divider-gap);
}
.divider::after {
  margin-left: var(--cnvs-divider-gap);
}
.divider i,
.divider a,
.divider-text {
  position: relative;
  flex: 0 0 auto;
  width: var(--cnvs-divider-size);
  max-width: 100%;
  line-height: 1;
  font-size: calc(var(--cnvs-divider-size) * 0.75) !important;
  text-align: center;
  color: var(--cnvs-divider-color);
}
.divider a,
.divider-text {
  width: auto;
  color: inherit;
  transition: all 0.3s ease;
}
.divider-text {
  --cnvs-divider-size: calc(var(--cnvs-divider-size) * 0.6);
}
.divider a:hover {
  color: var(--cnvs-divider-hover-color);
}
.divider.divider-right::before {
  display: block;
}
.divider.divider-right::after {
  display: none;
}
.divider.divider-center::before {
  display: block;
}
.divider.divider-rounded i,
.divider.divider-border i {
  width: var(--cnvs-divider-rounded-size);
  height: var(--cnvs-divider-rounded-size);
  line-height: var(--cnvs-divider-line-height);
  background-color: var(--cnvs-divider-bg-color);
  border-radius: 50%;
  border: var(--cnvs-divider-icon-border-width) var(--cnvs-divider-border-style)
    var(--cnvs-divider-border-color);
}
.divider.divider-rounded i {
  color: var(--cnvs-divider-rounded-color);
}
.divider.divider-line {
  --cnvs-divider-gap: 0;
}
.divider.divider-thick {
  --cnvs-divider-border-width: 3px;
  --cnvs-divider-icon-border-width: 3px;
}
.divider.divider-sm {
  --cnvs-divider-width: 55%;
}
.divider.divider-xs {
  --cnvs-divider-width: 35%;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: misc.scss

-----------------------------------------------------------------------------------*/
/* Infinity Scroll - Message Style
-----------------------------------------------------------------*/
#infscr-loading,
#portfolio-ajax-loader {
  --cnvs-ajax-loader-size: 48px;
  position: fixed;
  z-index: 20;
  top: 50%;
  left: 50%;
  width: var(--cnvs-ajax-loader-size);
  height: var(--cnvs-ajax-loader-size);
  margin: calc(-1 * var(--cnvs-ajax-loader-size)) 0 0
    calc(-1 * var(--cnvs-ajax-loader-size));
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
  line-height: var(--cnvs-ajax-loader-size);
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
}
#infscr-loading img,
#portfolio-ajax-loader img {
  display: none;
  width: var(--cnvs-ajax-loader-size);
  height: var(--cnvs-ajax-loader-size);
  margin: 12px;
}

#portfolio-ajax-loader {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  margin: 0;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 0;
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  transition: all 0.3s ease;
}
#portfolio-ajax-loader img {
  display: block;
}

#portfolio-ajax-loader.loader-overlay-display {
  opacity: 1;
  z-index: 9999;
}

.portfolio-ajax-trigger > i:nth-child(1),
.portfolio-ajax-loading .portfolio-ajax-trigger > i:nth-child(2) {
  display: block;
}
.portfolio-ajax-loading .portfolio-ajax-trigger > i:nth-child(1),
.portfolio-ajax-trigger > i:nth-child(2) {
  display: none;
}

.page-load-status {
  position: relative;
  display: none;
  padding: 30px 0;
}
.page-load-status .css3-spinner-ball-pulse-sync > div {
  background-color: var(--cnvs-contrast-900);
}

/* ----------------------------------------------------------------
	Quotes & Blockquotes
-----------------------------------------------------------------*/
blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: var(--cnvs-font-size-h4);
  border-left: 5px solid var(--cnvs-contrast-200);
}
blockquote.float-start {
  max-width: 300px;
  margin: 5px 20px 10px 0;
  padding-right: 0;
}
blockquote.float-end {
  max-width: 300px;
  margin: 5px 0 10px 20px;
  padding-left: 0;
}

.blockquote-reverse {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid var(--cnvs-contrast-200);
  border-left: 0;
  text-align: right;
}
.blockquote-reverse.quote::before {
  content: '\f6b0';
  font-family: 'bootstrap-icons';
  display: inline-flex;
  align-self: center;
  justify-self: center;
  line-height: inherit;
  left: auto;
  right: 0;
}
.blockquote-footer {
  font-family: var(--cnvs-secondary-font);
  font-size: 85%;
}
.blockquote-icon > * {
  position: absolute;
  left: -1.125rem;
  top: -3px;
  width: 1.75rem;
  height: 1.75rem;
  z-index: 1;
}
.blockquote-icon > *:nth-child(2) {
  margin-left: 0.5rem;
  opacity: 0.4;
  z-index: 0;
}

.quote {
  --cnvs-quote-icon-size: 48px;
  border: none !important;
  position: relative;
}
.quote p {
  position: relative;
}
.quote::before {
  content: '\f6b0';
  font-family: 'bootstrap-icons';
  display: inline-flex;
  align-self: center;
  justify-self: center;
  line-height: inherit;
  position: absolute;
  width: var(--cnvs-quote-icon-size);
  height: var(--cnvs-quote-icon-size);
  line-height: var(--cnvs-quote-icon-size);
  font-size: calc(var(--cnvs-quote-icon-size) - 6px);
  top: 0;
  left: 0;
  color: var(--cnvs-contrast-200);
}

/* ----------------------------------------------------------------
	Cascading Images
-----------------------------------------------------------------*/
.cascading-images,
.cascading-images-inner,
.cascading-image {
  position: relative;
  --cnvs-cascading-padding: 20%;
}

.cascading-image {
  padding: var(--cnvs-cascading-padding);
}
.cascading-image:not(:first-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.cascading-image > * {
  position: relative;
}
.cascading-image-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.cascading-image-bg > * {
  width: 100%;
  height: 100%;
}

/* ----------------------------------------------------------------
	Hover 3D
-----------------------------------------------------------------*/
.hover-3d {
  --cnvs-hover-3d-duration: 0.2s;
  --cnvs-hover-3d-easing: linear;
  display: block;
  transition: all var(--cnvs-hover-3d-duration) var(--cnvs-hover-3d-easing);
}

/* ----------------------------------------------------------------
	Scroll Effects
-----------------------------------------------------------------*/
.text-splitter.scroll-detect span {
  opacity: calc(0.1 + 1 * var(--cnvs-scroll-percent));
  transform: rotateX(20deg);
  transition: all 0.3s ease;
  transition-delay: 0s;
}
.text-splitter.scroll-detect.scroll-detect-inview span {
  transform: rotateX(0);
  transition-delay: calc(0.04s * var(--cnvs-split-index));
}

/* ----------------------------------------------------------------
	Dropcaps & Highlights
-----------------------------------------------------------------*/
.dropcap {
  float: left;
  font-size: 42px;
  line-height: 1;
  margin: 0 5px 0 0;
  text-transform: uppercase;
}

.highlight {
  padding: 2px 5px;
  background-color: #444;
  color: #fff;
  border-radius: 2px;
}

/* ----------------------------------------------------------------
	Text Rotater
-----------------------------------------------------------------*/
.text-rotater .t-rotate {
  display: none;
}
.text-rotater .t-rotate.morphext,
.text-rotater .t-rotate.plugin-typed-init {
  display: inherit;
}

.typed-cursor {
  font-weight: 400;
}

.text-rotater > .t-rotate > .animated {
  display: inline-block;
}

/* ----------------------------------------------------------------
	Underliner
-----------------------------------------------------------------*/
.underliner {
  --cnvs-underliner-size: 30%;
  --cnvs-underliner-color: var(--cnvs-themecolor-rgb);
  --cnvs-underliner-opacity: 0.5;
  --cnvs-underliner-speed: 0.3s;
  position: relative;
  opacity: 1 !important;
  background-image: linear-gradient(
    to bottom,
    transparent calc(100% - var(--cnvs-underliner-size)),
    rgba(var(--cnvs-underliner-color), var(--cnvs-underliner-opacity))
      calc(100% - var(--cnvs-underliner-size))
  );
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size var(--cnvs-underliner-speed)
    cubic-bezier(0.14, 0.15, 0.13, 0.99);
}
.underliner:hover,
.underliner.is-in-viewport {
  background-size: 100% 100%;
}

/* ----------------------------------------------------------------
	Overlays
-----------------------------------------------------------------*/
.bg-overlay,
.bg-overlay-bg,
.bg-overlay-content {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}

.bg-overlay {
  z-index: 5;
}
.bg-overlay [data-hover-animate]:not(.animated) {
  opacity: 0;
}
.bg-overlay-content {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  padding: 20px;
}
.bg-overlay-bg {
  --cnvs-bg-overlay-bg-opacity: 0.75;
  --cnvs-bg-overlay-bg: rgba(
    var(--cnvs-invert-contrast-rgb),
    var(--cnvs-bg-overlay-bg-opacity)
  );
  background-color: var(--cnvs-bg-overlay-bg);
}

.text-overlay-mask {
  opacity: 0.85;
  top: auto;
  bottom: 0;
  height: auto;
  padding: 40px 15px 15px; /* FF3.6+ */ /* Chrome,Safari4+ */ /* Chrome10+,Safari5.1+ */ /* Opera 11.10+ */ /* IE10+ */
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.85) 100%
  ); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#00000000", endColorstr="#a6000000",GradientType=0 ); /* IE6-9 */
}

.overlay-trigger-icon {
  --cnvs-bg-overlay-icon-size: 40px;
  --cnvs-bg-overlay-icon-gap: 0.25rem;
  --cnvs-bg-overlay-icon-font-size: 1.125rem;
  --cnvs-bg-overlay-icon-rounded: 50%;
  display: block;
  width: var(--cnvs-bg-overlay-icon-size);
  height: var(--cnvs-bg-overlay-icon-size);
  line-height: var(--cnvs-bg-overlay-icon-size);
  margin: 0 var(--cnvs-bg-overlay-icon-gap);
  font-size: var(--cnvs-bg-overlay-icon-font-size);
  text-align: center;
  border-radius: var(--cnvs-bg-overlay-icon-rounded);
  -webkit-backface-visibility: hidden;
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .overlay-trigger-icon {
    transition: none;
  }
}
.overlay-trigger-icon .uil-play {
  position: relative;
  left: 1px;
}
.overlay-trigger-icon:not([class*='text-white']):hover {
  color: var(--cnvs-themecolor) !important;
}
.overlay-trigger-icon.size-sm {
  --cnvs-bg-overlay-icon-size: 40px;
  --cnvs-bg-overlay-icon-gap: 0.5rem;
  --cnvs-bg-overlay-icon-font-size: 0.875rem;
}
.overlay-trigger-icon.size-lg {
  --cnvs-bg-overlay-icon-size: 64px;
  --cnvs-bg-overlay-icon-gap: 0.5rem;
  --cnvs-bg-overlay-icon-font-size: 1.5rem;
}

.bg-overlay-mask {
  --cnvs-bg-overlay-mask-color: #000;
  --cnvs-bg-overlay-mask-opacity: 0.55;
  position: relative;
}
.bg-overlay-mask::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--cnvs-bg-overlay-mask-color);
  opacity: var(--cnvs-bg-overlay-mask-opacity);
}

/* ----------------------------------------------------------------
	Google Maps
-----------------------------------------------------------------*/
.gmap {
  position: relative;
  width: 100%;
  height: 450px;
}
.gmap img {
  max-width: none !important;
}

.gm-style .gm-style-iw h3 span,
.gm-style .gm-style-iw .h3 span {
  font-size: inherit;
  font-family: inherit;
}

#map-overlay {
  position: relative;
  padding: 100px 0;
}
#map-overlay .gmap {
  position: absolute;
  height: 100%;
  top: 0;
  left: 0;
}

/* ----------------------------------------------------------------
	Google Custom Search
-----------------------------------------------------------------*/
#content .cse .gsc-control-cse,
#content .gsc-control-cse,
#content .gsc-above-wrapper-area,
#content .gsc-adBlock,
#content .gsc-thumbnail-inside,
#content .gsc-url-top,
#content .gsc-table-result,
#content .gsc-webResult,
#content .gsc-result {
  padding: 0 !important;
}
#content .gsc-selected-option-container {
  width: auto !important;
}
#content .gsc-result-info {
  padding-left: 0 !important;
}
#content .gsc-above-wrapper-area-container,
#content .gsc-table-result {
  margin-bottom: 10px;
}
#content .gcsc-branding {
  display: none;
}
#content .gsc-results,
#content .gsc-webResult {
  width: 100% !important;
}
#content .gs-no-results-result .gs-snippet,
#content .gs-error-result .gs-snippet {
  margin: 0 !important;
}

/* ----------------------------------------------------------------
	Magazine Specific Classes
-----------------------------------------------------------------*/
.top-advert {
  padding: 5px;
  border-left: 1px solid var(--cnvs-contrast-200);
  border-right: 1px solid var(--cnvs-contrast-200);
}
.top-advert a,
.top-advert img {
  display: block;
}

.bnews-title {
  display: block;
  float: left;
  margin-top: 2px;
  padding-top: 0.3em;
  text-transform: uppercase;
}

.bnews-slider {
  float: left;
  width: 970px;
  margin-left: 20px;
  min-height: 0;
}

/* ----------------------------------------------------------------
	Go To Top
-----------------------------------------------------------------*/
#gotoTop {
  --cnvs-gotoTop-size: 2.5rem;
  --cnvs-gotoTop-bg: rgba(0, 0, 0, 0.3);
  --cnvs-gotoTop-icon-size: 1.5rem;
  --cnvs-gotoTop-icon-color: #fff;
  --cnvs-gotoTop-position-boxed-right: 30px;
  --cnvs-gotoTop-position-boxed-bottom: 50px;
  --cnvs-gotoTop-position-botom: 30px;
  --cnvs-gotoTop-border-radius: 2px;
  --cnvs-gotoTop-hover-color: var(--cnvs-themecolor);
  z-index: -999;
  position: fixed;
  width: var(--cnvs-gotoTop-size);
  height: var(--cnvs-gotoTop-size);
  line-height: var(--cnvs-gotoTop-size);
  background-color: var(--cnvs-gotoTop-bg);
  font-size: var(--cnvs-gotoTop-icon-size);
  text-align: center;
  color: var(--cnvs-gotoTop-icon-color);
  top: auto;
  left: auto;
  right: var(--cnvs-gotoTop-position-boxed-right);
  bottom: var(--cnvs-gotoTop-position-boxed-bottom);
  cursor: pointer;
  border-radius: var(--cnvs-gotoTop-border-radius);
  opacity: 0;
  transition: background-color 0.2s linear, opacity 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
  #gotoTop {
    transition: none;
  }
}
.gototop-active #gotoTop {
  z-index: 599;
  opacity: 1;
}
.stretched #gotoTop {
  right: var(--cnvs-gotoTop-position-boxed-right);
  bottom: var(--cnvs-gotoTop-position-boxed-bottom);
}
#gotoTop:hover {
  background-color: var(--cnvs-gotoTop-hover-color);
}

/* ----------------------------------------------------------------
	Read More
-----------------------------------------------------------------*/
.read-more-wrap {
  position: relative;
  overflow: hidden;
  transition: height 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .read-more-wrap {
    transition: none;
  }
}
.read-more-mask {
  position: absolute;
  z-index: 9;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  min-height: 60px;
  height: 35%;
  background-image: linear-gradient(rgba(255, 255, 255, 0), white);
}
.dark .read-more-mask {
  background-image: linear-gradient(
    rgba(var(--bs-dark-rgb), 0),
    rgb(var(--bs-dark-rgb))
  );
}
.read-more-trigger {
  transition: all 0.5s ease;
}
@media (prefers-reduced-motion: reduce) {
  .read-more-trigger {
    transition: none;
  }
}
.read-more-trigger i {
  position: relative;
  top: 1px;
  margin-left: 3px;
}
.read-more-wrap .read-more-trigger {
  position: absolute;
  display: block;
  z-index: 10;
  top: auto;
  bottom: 5px;
  left: 4px;
  margin: 0;
}
.read-more-wrap .read-more-trigger-center {
  left: 50%;
  transform: translateX(-50%);
}
.read-more-wrap .read-more-trigger-right {
  left: auto;
  right: 5px;
}

/* ----------------------------------------------------------------
	GDPR Settings
-----------------------------------------------------------------*/
.gdpr-settings {
  --cnvs-gdpr-settings-offset: 1rem;
  --cnvs-gdpr-settings-width: calc(
    100vw - calc(var(--cnvs-gdpr-settings-offset) * 2)
  );
  --cnvs-gdpr-settings-height: 60vh;
  --cnvs-gdpr-settings-spacing: 3rem;
  position: fixed;
  max-width: var(--cnvs-gdpr-settings-width);
  max-height: var(--cnvs-gdpr-settings-height);
  overflow-y: auto;
  margin-bottom: var(--cnvs-gdpr-settings-offset);
  border-radius: 0.25rem;
  top: auto;
  bottom: 0;
  left: var(--cnvs-gdpr-settings-offset);
  right: var(--cnvs-gdpr-settings-offset);
  opacity: 0;
  padding: var(--cnvs-gdpr-settings-spacing);
  z-index: 999;
  background-color: var(--cnvs-contrast-100);
  transition: all 0.3s ease;
}
@media (prefers-reduced-motion: reduce) {
  .gdpr-settings {
    transition: none;
  }
}
.gdpr-settings-sm {
  --cnvs-gdpr-settings-width: 30rem;
  margin-right: var(--cnvs-gdpr-settings-offset);
}
.gdpr-settings-sm.gdpr-settings-right {
  left: auto;
  right: var(--cnvs-gdpr-settings-offset);
  margin-right: 0;
  margin-left: var(--cnvs-gdpr-settings-offset);
}
@media (min-width: 768px) {
  .gdpr-settings {
    max-height: none;
    overflow: auto;
  }
}

.gdpr-container {
  position: relative;
  height: auto;
}
.gdpr-container:not(.gdpr-content-active) {
  min-height: 250px;
}
.gdpr-container.gdpr-content-active {
  min-height: 0 !important;
}
.gdpr-container.gdpr-content-active .gdpr-blocked-message {
  display: none;
}

.gdpr-blocked-message {
  display: flex;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  text-align: center;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.gdpr-blocked-message a {
  text-underline-offset: 2px;
  transition: all var(--cnvs-transitions);
}
.gdpr-blocked-message a:hover {
  text-underline-offset: 4px;
}

/* ----------------------------------------------------------------
	Error 404
-----------------------------------------------------------------*/
.error404 {
  display: block;
  font-size: 18vw;
  font-weight: 700;
  color: #ddd;
  line-height: 1;
  letter-spacing: 4px;
}
.error404-wrap .container {
  z-index: 7;
}
.error404-wrap .error404 {
  line-height: 0.9;
  margin-bottom: 40px;
  font-weight: bold;
  font-size: 19vw;
  color: #fff !important;
  opacity: 0.2;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.4);
}
.error404-wrap .heading-block h4,
.error404-wrap .heading-block .h4 {
  font-weight: 300;
  margin-bottom: 8px;
}
.error404-wrap .heading-block span {
  font-size: 1.125rem;
}
.error404-wrap form {
  max-width: 500px;
}

/* ----------------------------------------------------------------
	Landing Pages
-----------------------------------------------------------------*/
.landing-wide-form {
  background: rgba(0, 0, 0, 0.3);
  padding: 30px;
  border-radius: 3px;
}

.landing-form-overlay {
  position: absolute;
  z-index: 10;
  top: auto;
  left: auto;
  right: 0;
  bottom: -154px;
  background-color: rgba(0, 0, 0, 0.6);
  border-radius: 3px 3px 0 0;
}

.landing-video {
  z-index: 1;
  width: 560px;
  height: 315px;
  margin: 22px 0 0 95px;
  overflow: hidden;
}

.landing-promo h3,
.landing-promo .h3 {
  font-size: 1.75rem;
}

.landing-promo > .container > span {
  font-size: 1.125rem;
}

/* Navigation Tree
-----------------------------------------------------------------*/
.nav-tree {
  position: relative;
  margin-bottom: 1.5rem;
}
.nav-tree ul {
  margin-bottom: 0;
  list-style: none;
}
.nav-tree ul ul {
  display: none;
}
.nav-tree ul ul a {
  padding: 6px 0;
  font-family: 'Inter', sans-serif;
  padding-left: 20px;
}
.nav-tree ul ul ul a {
  padding-left: 40px;
}
.nav-tree ul ul ul ul a {
  padding-left: 60px;
}
.nav-tree ul ul ul ul ul a {
  padding-left: 80px;
}
.nav-tree > ul {
  margin: -8px 0;
}
.nav-tree li {
  position: relative;
}
.nav-tree li a {
  display: block;
  padding: 8px 0;
  color: var(--cnvs-heading-color);
  font-size: 1rem;
  font-family: var(--cnvs-primary-font);
  transition: transform;
}
.nav-tree li li a {
  font-size: calc(1rem - 2px);
}
.nav-tree li i {
  width: 16px;
  text-align: center;
}

.nav-tree li:hover > a,
.nav-tree li.current > a,
.nav-tree li.active > a {
  color: var(--cnvs-themecolor) !important;
}

.nav-tree li.current > ul {
  display: block;
}

/* ----------------------------------------------------------------
	Wedding
-----------------------------------------------------------------*/
.wedding-head {
  position: relative;
  line-height: 1;
  font-size: 80px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
  font-family: var(--cnvs-primary-font);
}
.wedding-head .first-name,
.wedding-head .last-name,
.wedding-head .and {
  display: inline-block;
  margin-right: 15px;
  font-weight: bold;
  text-align: right;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.wedding-head .last-name {
  margin: 0 0 0 15px;
  text-align: left;
}
.wedding-head .first-name span,
.wedding-head .last-name span {
  display: block;
  margin-top: 10px;
  font-size: 56px;
  font-weight: 400;
  font-style: italic;
  font-family: 'Playfair Display', serif;
  text-transform: none;
}
.wedding-head .and {
  margin: 0;
  font-size: 200px;
  font-family: 'Times New Roman', serif;
}

/* --------------------------------------------------------------
	SWITCH
--------------------------------------------------------------  */
.switch-toggle {
  position: absolute;
  margin-left: -9999px;
  visibility: hidden;
}

.switch-toggle + label {
  display: block;
  position: relative;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* --------------------------------------------------------------
	SWITCH 1 - ROUND
----------------------------------------------------------------- */
.switch {
  --cnvs-switch-width: 60px;
  --cnvs-switch-spacing: 1px;
  --cnvs-switch-bg: var(--cnvs-contrast-300);
  --cnvs-switch-active-bg: var(--cnvs-themecolor);
}

.switch-toggle + label {
  padding: calc(var(--cnvs-switch-spacing) * 2);
  width: var(--cnvs-switch-width);
  height: calc(var(--cnvs-switch-width) * 0.5);
  background-color: var(--cnvs-switch-bg);
  border-radius: 512px;
}
.switch-toggle + label::before,
.switch-toggle + label::after {
  display: block;
  position: absolute;
  top: var(--cnvs-switch-spacing);
  left: var(--cnvs-switch-spacing);
  bottom: var(--cnvs-switch-spacing);
  content: '';
  border-radius: 512px;
}

.switch-toggle-round {
  /* --------------------------------------------------------------
  	SWITCH 1 - ROUND- MINI
  ----------------------------------------------------------------- */
  /* --------------------------------------------------------------
  	SWITCH 1 - ROUND- LARGE
  ----------------------------------------------------------------- */
  /* --------------------------------------------------------------
  	SWITCH 1 - ROUND- XLARGE
  ----------------------------------------------------------------- */
}
.switch-toggle-round + label::before {
  right: var(--cnvs-switch-spacing);
  background-color: var(--cnvs-contrast-200);
  transition: background 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .switch-toggle-round + label::before {
    transition: none;
  }
}
.switch-toggle-round + label::after {
  width: calc(var(--cnvs-switch-width) * 0.5 - var(--cnvs-switch-spacing) * 2);
  background-color: var(--cnvs-body-bg);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  transition: margin 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .switch-toggle-round + label::after {
    transition: none;
  }
}
.switch-toggle-round:checked + label::before {
  background-color: var(--cnvs-switch-active-bg);
}
.switch-toggle-round:checked + label::after {
  margin-left: calc(var(--cnvs-switch-width) * 0.5);
}
.switch-toggle-round.switch-rounded-mini + label {
  --cnvs-switch-width: 32px;
}
.switch-toggle-round.switch-rounded-large + label {
  --cnvs-switch-width: 90px;
}
.switch-toggle-round.switch-rounded-xlarge + label {
  --cnvs-switch-width: 120px;
}

/* -----------------------------------------------------------
	SWITCH 2 - ROUND FLAT
-------------------------------------------------------------- */
.switch-toggle-flat {
  transition: background 0.4s;
  /* -----------------------------------------------------------
  	SWITCH 2 - FLAT - MINI
  -------------------------------------------------------------- */
  /* -----------------------------------------------------------
  	SWITCH 2 - FLAT - LARGE
  -------------------------------------------------------------- */
  /* -----------------------------------------------------------
  	SWITCH 2 - FLAT - XLARGE
  -------------------------------------------------------------- */
}
@media (prefers-reduced-motion: reduce) {
  .switch-toggle-flat {
    transition: none;
  }
}
.switch-toggle-flat + label::before {
  top: calc(var(--cnvs-switch-spacing) * 2);
  left: calc(var(--cnvs-switch-spacing) * 2);
  bottom: calc(var(--cnvs-switch-spacing) * 2);
  right: calc(var(--cnvs-switch-spacing) * 2);
  background-color: #fff;
  transition: background 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .switch-toggle-flat + label::before {
    transition: none;
  }
}
.switch-toggle-flat + label::after {
  top: calc(var(--cnvs-switch-spacing) * 4);
  left: calc(var(--cnvs-switch-spacing) * 4);
  bottom: calc(var(--cnvs-switch-spacing) * 4);
  width: calc(var(--cnvs-switch-width) * 0.5 - var(--cnvs-switch-spacing) * 8);
  background-color: var(--cnvs-switch-bg);
  transition: margin 0.4s, background 0.4s;
}
@media (prefers-reduced-motion: reduce) {
  .switch-toggle-flat + label::after {
    transition: none;
  }
}
.switch-toggle-flat:checked + label {
  background-color: var(--cnvs-switch-active-bg);
}
.switch-toggle-flat:checked + label::after {
  margin-left: calc(var(--cnvs-switch-width) * 0.5);
  background-color: var(--cnvs-switch-active-bg);
}
.switch-toggle-flat.switch-flat-mini + label {
  --cnvs-switch-width: 32px;
  --cnvs-switch-spacing: 0.5px;
}
.switch-toggle-flat.switch-flat-large + label {
  --cnvs-switch-width: 90px;
}
.switch-toggle-flat.switch-flat-xlarge + label {
  --cnvs-switch-width: 120px;
}

.show-error-msg .switch + label.error {
  display: block !important;
}

.switch input[type='checkbox'].error + label {
  border: 1px solid var(--bs-danger);
}

.switch input[type='checkbox'].error + label::before {
  background-color: rgba(var(--bs-danger-rgb), 0.1);
}

/* -----------------------------------------------------------
	Tour Driver
-------------------------------------------------------------- */
#driver-highlighted-element-stage {
  opacity: 0;
}

.driver-popover-tip::before,
.driver-popover-tip ::after {
  content: '';
  position: absolute;
  top: -20px;
  left: 0;
  margin-left: calc(-1 * var(--cnvs-driver-popover-tip-size) * 0.5);
  width: var(--cnvs-driver-popover-tip-size);
  height: var(--cnvs-driver-popover-tip-size);
  border-radius: 50%;
  background-color: var(--cnvs-driver-popover-tip-bg);
}
.driver-popover-tip.top::before,
.driver-popover-tip.top::after {
  top: -20px;
  left: 0;
  margin-left: calc(-1 * var(--cnvs-driver-popover-tip-size) * 0.5);
}
.driver-popover-tip.bottom::before,
.driver-popover-tip.bottom::after {
  top: 5px;
  bottom: auto;
}
.driver-popover-tip.left::before,
.driver-popover-tip.left::after {
  top: calc(-1 * var(--cnvs-driver-popover-tip-size) * 0.5);
  left: calc(-1 * var(--cnvs-driver-popover-tip-size));
}
.driver-popover-tip.right::before,
.driver-popover-tip.right::after {
  top: calc(-1 * var(--cnvs-driver-popover-tip-size) * 0.5);
  left: auto;
  right: calc(-1 * var(--cnvs-driver-popover-tip-size));
}
.driver-popover-tip::before {
  animation: pulsate 3s ease-out infinite;
}
@keyframes pulsate {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  50% {
    opacity: 0.3;
  }
  100% {
    opacity: 0;
    transform: scale(2.5);
  }
}
@media (prefers-reduced-motion: reduce) {
  .driver-popover-tip::before {
    animation: none;
  }
}

div#driver-popover-item {
  --cnvs-driver-popover-tip-size: 14px;
  --cnvs-driver-popover-tip-bg: #fff;
  padding: 25px;
}

div#driver-popover-item .driver-popover-title {
  margin-bottom: 10px;
  font-size: 1.35rem;
}

div#driver-popover-item .driver-popover-description {
  display: block;
  margin-bottom: 25px;
  font-size: 0.925rem;
  line-height: 1.5;
}

div#driver-popover-item .driver-popover-footer button {
  padding: 7px 13px;
  font-size: 0.75rem;
  background-color: var(--bs-light);
}

@media (max-width: 768px) {
  div#driver-popover-item {
    position: fixed;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
  }
  .driver-popover-tip {
    display: none;
  }
}
/* ----------------------------------------------------------------------------
	Canvas Cursor
---------------------------------------------------------------------------- */
.cnvs-cursor {
  --cnvs-cursor-size: 0.75rem;
  --cnvs-cursor-bg: var(--cnvs-themecolor);
  --cnvs-cursor-opacity: 0.15;
  --cnvs-cursor-border-opacity: 1;
  --cnvs-cursor-action-size: 4rem;
  --cnvs-cursor-action-bg: var(--cnvs-themecolor);
  --cnvs-cursor-action-opacity: 0.35;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  transform: translate3d(0, 0, 0);
  z-index: 999999;
  transition: transform 0.05s ease;
}
.cnvs-cursor-follower,
.cnvs-cursor-dot {
  width: var(--cnvs-cursor-size);
  height: var(--cnvs-cursor-size);
  background: var(--cnvs-cursor-bg);
  opacity: var(--cnvs-cursor-opacity);
  border-radius: 50%;
  transition: 0.25s ease;
  transition-property: all;
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  transform-origin: center center;
}
.cnvs-cursor-dot {
  --cnvs-cursor-size: 0.25rem;
  border: 0;
}
.cnvs-cursor.cnvs-cursor-action {
  --cnvs-cursor-size: var(--cnvs-cursor-action-size);
  --cnvs-cursor-bg: var(--cnvs-cursor-action-bg);
  --cnvs-cursor-opacity: var(--cnvs-cursor-action-opacity);
}
.cnvs-cursor.cnvs-cursor-action .cnvs-cursor-follower {
  border-color: transparent;
}
.cnvs-cursor.cnvs-cursor-border {
  --cnvs-cursor-opacity: var(--cnvs-cursor-border-opacity);
}
.cnvs-cursor.cnvs-cursor-border .cnvs-cursor-follower {
  background: transparent;
  border: 1px solid var(--cnvs-cursor-bg);
  opacity: var(--cnvs-cursor-opacity);
}
.cnvs-cursor.cnvs-cursor-border .cnvs-cursor-dot {
  background: var(--cnvs-cursor-bg);
  opacity: var(--cnvs-cursor-opacity);
}
.cnvs-cursor.cnvs-cursor-disabled {
  width: 0px !important;
  height: 0px !important;
  opacity: 0 !important;
}

/* ----------------------------------------------------------------------------
	Grid Border
---------------------------------------------------------------------------- */
.grid-border {
  overflow: hidden;
  --cnvs-grid-border-width: 1px;
  --cnvs-grid-border-color: var(--cnvs-contrast-900);
  --cnvs-grid-border-color-dark: #fff;
  --cnvs-grid-border-opacity: 0.07;
}
.grid-border [class^='col-']::before,
.grid-border [class^='col-']::after {
  content: '';
  position: absolute;
  border-width: 0;
  border-style: solid;
  border-color: var(--cnvs-grid-border-color);
  opacity: var(--cnvs-grid-border-opacity);
}
.grid-border [class^='col-']::before {
  height: 100%;
  top: 0;
  left: calc(-1 * var(--cnvs-grid-border-width));
  border-left-width: var(--cnvs-grid-border-width);
}
.grid-border [class^='col-']::after {
  width: 100%;
  height: 0;
  top: auto;
  left: 0;
  bottom: calc(-1 * var(--cnvs-grid-border-width));
  border-bottom-width: var(--cnvs-grid-border-width);
}

/* -----------------------------------------------------------
	Media Actions
-------------------------------------------------------------- */
.media-wrap:not(.media-is-playing) .media-trigger-volume {
  display: none !important;
}

.media-is-playing .media-trigger-play,
.media-wrap:not(.media-is-playing) .media-trigger-pause,
.media-is-muted .media-trigger-mute,
.media-wrap:not(.media-is-muted) .media-trigger-unmute {
  display: none !important;
}

/* -----------------------------------------------------------
	App Menu
-------------------------------------------------------------- */
.app-menu {
  --cnvs-app-menu-height: 70px;
  --cnvs-app-menu-icon-size: 1.25rem;
  --cnvs-app-menu-color: var(--cnvs-contrast-1000);
  --cnvs-app-menu-bg-color: var(--cnvs-contrast-100);
  --cnvs-app-menu-item-active-bg: var(--cnvs-contrast-rgb);
  position: fixed;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  background: var(--cnvs-app-menu-bg-color);
  border-top: 1px solid rgba(var(--cnvs-app-menu-item-active-bg), 0.1);
  z-index: 999;
}
.app-menu-container {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
}
.app-menu-item {
  position: relative;
  flex: 1 0 0%;
}
.app-menu-item:hover > .app-menu-link,
.app-menu-item.current > .app-menu-link {
  background-color: rgba(var(--cnvs-app-menu-item-active-bg), 0.1);
}
.app-menu.app-menu-style-2 .app-menu-item:hover > .app-menu-link,
.app-menu.app-menu-style-2 .app-menu-item.current > .app-menu-link {
  position: relative;
  --cnvs-app-menu-item-active-bg: var(--cnvs-themecolor);
  background-color: var(--cnvs-contrast-0);
}
.app-menu.app-menu-style-2 .app-menu-item:hover > .app-menu-link::before,
.app-menu.app-menu-style-2 .app-menu-item.current > .app-menu-link::before {
  content: '';
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  height: 0.25rem;
  background-color: var(--cnvs-app-menu-item-active-bg);
}
.app-menu-link {
  --cnvs-app-menu-link-spacing: calc(
    var(--cnvs-app-menu-height) - var(--cnvs-app-menu-icon-size)
  );
  display: block;
  width: 100%;
  padding: calc(var(--cnvs-app-menu-link-spacing) * 0.5 - 0.3125rem) 1rem
    calc(var(--cnvs-app-menu-link-spacing) * 0.5 + 0.3125rem);
  text-align: center;
  color: var(--cnvs-app-menu-color);
  transition: all 0.2s ease;
}
@media (prefers-reduced-motion: reduce) {
  .app-menu-link {
    transition: none;
  }
}
.app-menu-link > i {
  display: block;
  line-height: 1;
  font-size: var(--cnvs-app-menu-icon-size);
  height: var(--cnvs-app-menu-icon-size);
}
.app-menu-link > span {
  display: block;
  margin-top: 0.375rem;
  font-size: 0.875rem;
}
.app-menu-item:hover > .app-menu-link {
  background-color: rgba(var(--cnvs-app-menu-item-active-bg), 0.05);
}

/* -----------------------------------------------------------
	Circle Stack
-------------------------------------------------------------- */
.circle-stack {
  --cnvs-circle-stack-size: 5rem;
  --cnvs-circle-stack-inset-ratio: 0.2;
  --cnvs-circle-stack-inset: calc(
    var(--cnvs-circle-stack-size) * var(--cnvs-circle-stack-inset-ratio)
  );
  --cnvs-circle-stack-border-color: var(--cnvs-body-bg);
  --cnvs-circle-stack-border-size: 0.25rem;
  --cnvs-circle-stack-border-radius: 50%;
  --cnvs-circle-stack-fontsize: calc(var(--cnvs-circle-stack-size) * 0.35);
  --cnvs-circle-stack-color: var(--cnvs-contrast-900);
  --cnvs-circle-stack-bgcolor: var(--cnvs-contrast-200);
}
.circle-stack > * {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--cnvs-circle-stack-size);
  height: var(--cnvs-circle-stack-size);
  border: var(--cnvs-circle-stack-border-size) solid
    var(--cnvs-circle-stack-border-color);
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  border-radius: var(--cnvs-circle-stack-border-radius);
  color: var(--cnvs-circle-stack-color);
  font-size: var(--cnvs-circle-stack-fontsize);
  text-align: center;
  background-color: var(--cnvs-circle-stack-bgcolor);
}
.circle-stack > *:not(:first-child) {
  margin-left: calc(-1 * var(--cnvs-circle-stack-inset));
}
.circle-stack.flex-row-reverse > *:not(:first-child) {
  margin: 0 calc(-1 * var(--cnvs-circle-stack-inset)) 0 0;
}
.circle-stack.flex-column > *:not(:first-child) {
  margin: calc(-1 * var(--cnvs-circle-stack-inset)) 0 0 0;
}
.circle-stack.flex-column.flex-coumn-reverse > *:not(:first-child) {
  margin: calc(-1 * var(--cnvs-circle-stack-inset)) 0 0 0;
}

/* -----------------------------------------------------------
	Ticker
-------------------------------------------------------------- */
@keyframes tickerAnim {
  0% {
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes tickerAnimReverse {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
.ticker-wrap {
  --cnvs-ticker-duration: 50s;
  --cnvs-ticker-gap: 2rem;
  position: relative;
  width: 100%;
  padding-left: 100%;
  box-sizing: content-box;
  overflow: hidden;
}
.ticker-wrap.ticker-reverse {
  padding-left: 0;
  padding-right: 100%;
}
.ticker-wrap .ticker {
  display: inline-block;
  white-space: nowrap;
  padding-right: 100%;
  box-sizing: content-box;
  animation: var(--cnvs-ticker-duration) linear infinite;
  animation-name: tickerAnim;
}
.ticker-wrap .ticker .ticker-item {
  display: inline-block;
  padding: 0 var(--cnvs-ticker-gap);
  font-size: 1.5rem;
}
.ticker-wrap .ticker .ticker-item[href]:hover {
  text-decoration: underline !important;
}
.ticker-wrap.ticker-reverse .ticker {
  padding-right: 0;
  padding-left: 100%;
  animation-name: tickerAnimReverse;
}
.ticker-wrap.pause-on-hover .ticker:hover {
  animation-play-state: paused;
}

/*-----------------------------------------------------------------------------------

	Shortcodes: Forms.scss

-----------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Forms
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-form-processor-bg: #fff;
  --cnvs-input-btn-input-color: var(--bs-body-color);
  --cnvs-input-btn-input-bg: var(--bs-body-bg);
  --cnvs-input-btn-border-color: var(--bs-border-color);
  --cnvs-input-label-mb: 0.5rem;
  --cnvs-form-label-font-weight: 500;
  --cnvs-form-label-error: var(--bs-danger);
}

form {
  --cnvs-form-processor-bg: #fff;
  --cnvs-form-processor-bg-op: 0.7;
  --cnvs-form-group-margin: 1.25rem;
}
form .form-group {
  margin-bottom: var(--cnvs-form-group-margin);
}

.form-control {
  --cnvs-input-btn-padding-y: 0.375rem;
  --cnvs-input-btn-padding-x: 0.75rem;
  --cnvs-input-btn-font-size: 1rem;
  --cnvs-input-font-family: ;
  --cnvs-input-btn-font-weight: 400;
  --cnvs-input-btn-line-height: 1.5;
  --cnvs-input-btn-input-color: var(--bs-body-color);
  --cnvs-input-btn-input-bg: var(--bs-body-bg);
  --cnvs-form-control-radius: var(--bs-border-radius);
  --cnvs-input-btn-border-width: var(--bs-border-width);
  --cnvs-input-btn-border-color: var(--bs-border-color);
  --cnvs-input-btn-padding-y-sm: 0.25rem;
  --cnvs-input-btn-padding-x-sm: 0.5rem;
  --cnvs-input-btn-font-size-sm: 0.875rem;
  --cnvs-input-btn-padding-y-lg: 0.5rem;
  --cnvs-input-btn-padding-x-lg: 1rem;
  --cnvs-input-btn-font-size-lg: 1.25rem;
  --cnvs-input-focus-color: var(--bs-body-color);
  --cnvs-input-focus-bg: var(--bs-body-bg);
  --cnvs-input-focus-border-color: #86b7fe;
  --cnvs-input-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
  padding: var(--cnvs-input-btn-padding-y) var(--cnvs-input-btn-padding-x);
  font-size: var(--cnvs-input-btn-font-size);
  font-family: var(--cnvs-input-font-family);
  font-weight: var(--cnvs-input-btn-font-weight);
  line-height: var(--cnvs-input-btn-line-height);
  color: var(--cnvs-input-btn-input-color);
  background-color: var(--cnvs-input-btn-input-bg);
  border: var(--cnvs-input-btn-border-width) solid
    var(--cnvs-input-btn-border-color);
  border-radius: var(--cnvs-form-control-radius);
  /* ----------------------------------------------------------------
  	Border Form Control
  -----------------------------------------------------------------*/
}
.form-control.error {
  border-color: var(--cnvs-form-label-error);
}
.form-control-sm {
  --cnvs-input-btn-padding-y: var(--cnvs-input-btn-padding-y-sm);
  --cnvs-input-btn-padding-x: var(--cnvs-input-btn-padding-x-sm);
  --cnvs-input-btn-font-size: var(--cnvs-input-btn-font-size-sm);
}
.form-control-lg {
  --cnvs-input-btn-padding-y: var(--cnvs-input-btn-padding-y-lg);
  --cnvs-input-btn-padding-x: var(--cnvs-input-btn-padding-x-lg);
  --cnvs-input-btn-font-size: var(--cnvs-input-btn-font-size-lg);
}
.form-control:focus {
  color: var(--cnvs-input-focus-color);
  background-color: var(--cnvs-input-focus-bg);
  border-color: var(--cnvs-input-focus-border-color);
  box-shadow: var(--cnvs-input-focus-box-shadow);
}
.form-control.border-form-control {
  --cnvs-input-btn-padding-x: 0;
  --cnvs-form-control-radius: 0;
  --cnvs-input-focus-box-shadow: none;
  background-color: transparent;
  border-top: transparent;
  border-right: transparent;
  border-left: transparent;
  border-bottom-width: var(--cnvs-input-btn-border-width);
}

label {
  margin-bottom: var(--cnvs-input-label-mb);
  font-weight: var(--cnvs-form-label-font-weight);
}
label.label-muted {
  color: rgba(13, 110, 253, 0.25);
  font-weight: normal;
  margin-right: 5px;
}
label.error {
  display: none !important;
  margin-top: 5px;
  color: var(--cnvs-form-label-error);
  font-weight: 400;
}
.show-error-msg + label.error,
input[type='checkbox']:not(:checked) + label.error {
  display: block !important;
}

[data-condition]:not(.condition-fulfilled) {
  display: none !important;
}

/* ----------------------------------------------------------------
	Contact Form
-----------------------------------------------------------------*/
.contact-form-overlay {
  position: relative;
  background-color: var(--cnvs-form-background);
  z-index: 10;
  border-radius: 4px;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.15);
}

/* ----------------------------------------------------------------
	Preloaders
-----------------------------------------------------------------*/
.preloader,
.form-process,
.preloader2 {
  display: block;
  width: 100%;
  height: 100%;
  background: center center no-repeat var(--cnvs-input-btn-input-bg);
}

.preloader2 {
  background-color: transparent;
}

.form-process {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: transparent;
}
.form-process::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--cnvs-form-processor-bg);
  opacity: var(--cnvs-form-processor-bg-op);
  z-index: -1;
}

/* ----------------------------------------------------------------

	footer.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Footer
-----------------------------------------------------------------*/
#footer {
  --cnvs-footer-top-border: 5px solid rgba(var(--cnvs-contrast-rgb), 0.15);
  --cnvs-copyrights-link-color: var(--cnvs-contrast-500);
  position: relative;
  background-color: var(--cnvs-footer-bg);
  border-top: var(--cnvs-footer-top-border);
}

@media (min-width: 992px) {
  .sticky-footer #slider:not(.slider-parallax-invisible),
  .sticky-footer #page-submenu,
  .sticky-footer #page-title,
  .sticky-footer #content {
    z-index: 2;
  }
  .sticky-footer #footer {
    position: sticky;
    top: auto;
    bottom: 0;
    left: 0;
  }
}
#footer .footer-widgets-wrap {
  position: relative;
  padding: var(--cnvs-content-padding) 0;
}

#copyrights {
  padding: calc(var(--cnvs-content-padding) * 0.5) 0;
  background-color: var(--cnvs-contrast-300);
  font-size: var(--cnvs-copyrights-font-size);
  line-height: var(--cnvs-line-height-content);
}
#copyrights i.footer-icon {
  position: relative;
  top: 1px;
  font-size: var(--cnvs-copyrights-font-size);
  width: var(--cnvs-copyrights-font-size);
  text-align: center;
  margin-right: 3px;
}
#copyrights .text-end a:last-child {
  margin-right: 0;
}

.copyright-links {
  margin-top: 0.5rem;
  color: var(--cnvs-copyrights-link-color);
}
.copyright-links a {
  display: inline-block;
  margin: 0 0.25rem;
  color: var(--cnvs-copyrights-link-color);
  border-bottom: 1px dotted var(--cnvs-copyrights-link-color);
}
.copyright-links a:hover {
  opacity: 0.91;
}
.copyright-links a:first-child {
  margin-left: 0;
}

.copyrights-menu {
  margin-bottom: 10px;
}
.copyrights-menu a {
  font-size: var(--cnvs-copyrights-font-size);
  margin: 0 10px;
  border-bottom: 0 !important;
}
.copyrights-menu a:first-child {
  margin-left: 0;
}

.footer-logo {
  display: block;
  margin-bottom: 30px;
}

/* ----------------------------------------------------------------

	widgets.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Widgets
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-widget-border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.1);
}

.widget {
  --cnvs-widget-border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.1);
  --cnvs-widget-margin: 3rem;
  --cnvs-widget-title-margin: 1.5rem;
  --cnvs-widget-title-font-size: 0.9325rem;
  --cnvs-widget-title-font-weight: 600;
  --cnvs-widget-title-letter-spacing: 1px;
  --cnvs-widget-title-text-transform: uppercase;
  position: relative;
  margin-top: var(--cnvs-widget-margin);
  /* Widget - Links
  -----------------------------------------------------------------*/
  /* Widget - Testimonial & Twitter
  -----------------------------------------------------------------*/
}
.widget p {
  line-height: 1.7;
}
.sidebar-widgets-wrap .widget {
  padding-top: var(--cnvs-widget-margin);
  border-top: var(--cnvs-widget-border);
}
.sidebar-widgets-wrap .widget:first-child {
  padding-top: 0;
  border-top: 0;
}
.sidebar-widgets-wrap .widget > h4,
.sidebar-widgets-wrap .widget > .h4 {
  letter-spacing: calc(var(--cnvs-widget-title-letter-spacing) + 1px);
}
.widget:first-child {
  margin-top: 0;
}
.widget > h4,
.widget > .h4 {
  margin-bottom: var(--cnvs-widget-title-margin);
  font-size: var(--cnvs-widget-title-font-size);
  font-weight: var(--cnvs-widget-title-font-weight);
  letter-spacing: var(--cnvs-widget-title-letter-spacing);
  text-transform: var(--cnvs-widget-title-text-transform);
}
.widget_nav_menu ul,
.widget_nav_menu li,
.widget_links ul,
.widget_links li,
.widget_meta ul,
.widget_meta li,
.widget_archive ul,
.widget_archive li,
.widget_recent_comments ul,
.widget_recent_comments li,
.widget_recent_entries ul,
.widget_recent_entries li,
.widget_categories ul,
.widget_categories li,
.widget_pages ul,
.widget_pages li,
.widget_rss ul,
.widget_rss li {
  list-style: none;
  margin: 0;
}
.widget_nav_menu li,
.widget_links li,
.widget_meta li,
.widget_archive li,
.widget_recent_comments li,
.widget_recent_entries li,
.widget_categories li,
.widget_pages li,
.widget_rss li {
  display: flex;
  padding: 0.25rem 0;
  font-size: 1rem;
}
.widget_nav_menu li a,
.widget_links li a,
.widget_meta li a,
.widget_archive li a,
.widget_recent_comments li a,
.widget_recent_entries li a,
.widget_categories li a,
.widget_pages li a,
.widget_rss li a {
  display: inline-block;
  padding: 0 0.25rem 0 0.75rem;
  border: none !important;
  color: var(--cnvs-heading-color);
}
.widget_nav_menu li a:hover,
.widget_links li a:hover,
.widget_meta li a:hover,
.widget_archive li a:hover,
.widget_recent_comments li a:hover,
.widget_recent_entries li a:hover,
.widget_categories li a:hover,
.widget_pages li a:hover,
.widget_rss li a:hover {
  color: var(--cnvs-themecolor);
}
.widget_nav_menu:not(.widget-li-noicon) li::before,
.widget_links:not(.widget-li-noicon) li::before,
.widget_meta:not(.widget-li-noicon) li::before,
.widget_archive:not(.widget-li-noicon) li::before,
.widget_recent_comments:not(.widget-li-noicon) li::before,
.widget_recent_entries:not(.widget-li-noicon) li::before,
.widget_categories:not(.widget-li-noicon) li::before,
.widget_pages:not(.widget-li-noicon) li::before,
.widget_rss:not(.widget-li-noicon) li::before {
  content: '\f231';
  font-family: 'bootstrap-icons';
  display: inline-flex;
  align-self: center;
  justify-self: center;
  position: relative;
  font-size: 0.75rem;
  line-height: inherit;
  left: 0;
}
.widget_nav_menu.widget-li-noicon li a,
.widget_links.widget-li-noicon li a,
.widget_meta.widget-li-noicon li a,
.widget_archive.widget-li-noicon li a,
.widget_recent_comments.widget-li-noicon li a,
.widget_recent_entries.widget-li-noicon li a,
.widget_categories.widget-li-noicon li a,
.widget_pages.widget-li-noicon li a,
.widget_rss.widget-li-noicon li a {
  padding-left: 0;
}
.widget_nav_menu > ul,
.widget_links > ul,
.widget_meta > ul,
.widget_archive > ul,
.widget_recent_comments > ul,
.widget_recent_entries > ul,
.widget_categories > ul,
.widget_pages > ul,
.widget_rss > ul {
  margin-top: -4px !important;
}
.widget_nav_menu > ul > li:first-child,
.widget_links > ul > li:first-child,
.widget_meta > ul > li:first-child,
.widget_archive > ul > li:first-child,
.widget_recent_comments > ul > li:first-child,
.widget_recent_entries > ul > li:first-child,
.widget_categories > ul > li:first-child,
.widget_pages > ul > li:first-child,
.widget_rss > ul > li:first-child {
  border-top: 0 !important;
}
.widget_nav_menu ul ul,
.widget_links ul ul,
.widget_meta ul ul,
.widget_archive ul ul,
.widget_recent_comments ul ul,
.widget_recent_entries ul ul,
.widget_categories ul ul,
.widget_pages ul ul,
.widget_rss ul ul {
  margin-left: 1rem;
}
.widget_recent_comments li::before {
  content: '\f249';
}
.widget .testimonial.no-image .testi-image {
  display: none;
}
.widget .testimonial.twitter-scroll .testi-image {
  margin-right: 10px;
  width: 28px;
  height: 28px;
}
.widget .testimonial.twitter-scroll .testi-image a,
.widget .testimonial.twitter-scroll .testi-image img,
.widget .testimonial.twitter-scroll .testi-image i {
  width: 28px;
  height: 28px;
}
.widget .testimonial.twitter-scroll .testi-image i {
  background-color: var(--cnvs-contrast-100);
  line-height: 28px;
  font-size: 0.875rem;
  color: var(--cnvs-contrast-300);
}
.widget .testimonial:not(.twitter-scroll) .testi-image,
.widget .testimonial:not(.twitter-scroll) .testi-image a,
.widget .testimonial:not(.twitter-scroll) .testi-image img {
  width: 42px;
  height: 42px;
}
.widget .testimonial p {
  font-size: 0.875rem;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .sidebar-widgets-wrap {
    position: relative;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px -20px;
  }
  .sidebar-widgets-wrap .widget {
    flex: 0 0 50%;
    max-width: 50%;
    margin: 0 0 40px 0;
    padding-top: 0;
    padding-left: 20px;
    padding-right: 20px;
    border-top: 0;
  }
}
/* Widget - Quick Contact Form
-----------------------------------------------------------------*/
.quick-contact-widget.form-widget .form-control,
.quick-contact-widget.form-widget .input-group,
.quick-contact-widget.form-widget .sm-form-control {
  margin-bottom: 10px;
}
.quick-contact-widget.form-widget .form-control {
  margin-bottom: 0;
}

.quick-contact-widget.form-widget form,
#template-contactform {
  position: relative;
}

/* Newsletter Widget
-----------------------------------------------------------------*/
.subscribe-widget h5,
.subscribe-widget .h5 {
  font-weight: 300;
  font-size: 0.875rem;
  line-height: 1.5;
}

/* Twitter Feed Widget
-----------------------------------------------------------------*/
.widget-twitter-feed .twitter-feed {
  --cnvs-iconlist-size: 1.5rem;
  --cnvs-iconlist-offset: 0.375rem;
  --cnvs-iconlist-gutter: 1rem;
}
.widget-twitter-feed .twitter-feed li:not(:first-child) {
  margin-top: 1.125rem;
}
.widget-twitter-feed .twitter-feed li div {
  font-size: 1rem;
}
.widget-twitter-feed .twitter-feed small,
.widget-twitter-feed .twitter-feed .small {
  display: block;
  margin-top: 0.25rem;
}
.widget-twitter-feed .twitter-feed small a:not(:hover),
.widget-twitter-feed .twitter-feed .small a:not(:hover) {
  color: var(--cnvs-contrast-600);
}

/* Widget Filter Links
-----------------------------------------------------------------*/
.widget-filter-links ul {
  list-style: none;
  margin-bottom: 0;
}
.widget-filter-links .widget-filter-reset {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  font-size: 12px;
  line-height: 22px;
}
.widget-filter-links .widget-filter-reset a {
  color: red !important;
}
.widget-filter-links .widget-filter-reset.active-filter {
  display: none;
}
.widget-filter-links:not(:first-child) .widget-filter-reset {
  top: 50px;
}
.widget-filter-links li {
  position: relative;
  font-size: 15px;
  line-height: 24px;
}
.widget-filter-links li:not(:first-child) {
  margin-top: 10px;
}
.widget-filter-links li a {
  display: block;
  color: var(--cnvs-heading-color);
  font-family: var(--cnvs-primary-font);
  font-weight: 500;
}
.widget-filter-links li span {
  margin-left: 0.25rem;
  font-size: 11px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  color: var(--cnvs-contrast-600);
  background-color: var(--cnvs-contrast-200);
  border-radius: 50%;
}
.widget-filter-links li span:not(.d-inline-block) {
  position: absolute;
  top: 1px;
  left: auto;
  right: 0;
}
.widget-filter-links li:hover a {
  color: var(--cnvs-contrast-600);
}
.widget-filter-links li.active-filter a {
  font-weight: 700;
}
.widget-filter-links li.active-filter span {
  color: #fff !important;
  background-color: var(--cnvs-themecolor) !important;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}

/* Tag Cloud
-----------------------------------------------------------------*/
.tagcloud {
  margin-bottom: -2px;
  display: flex;
  flex-wrap: wrap;
}
.tagcloud a {
  margin-right: 4px;
  margin-bottom: 4px;
  padding: 3px 6px;
  border: 1px solid var(--cnvs-contrast-300);
  font-size: 13px !important;
  color: var(--cnvs-contrast-700);
  border-radius: 2px;
  transition: all 0.3s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .tagcloud a {
    transition: none;
  }
}
.tagcloud a:hover {
  border-color: var(--cnvs-themecolor) !important;
  color: var(--cnvs-themecolor) !important;
}

/* ----------------------------------------------------------------

	Paginations.scss

-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Styled Paginations
-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-pagination-circle-size: 35px;
  --cnvs-pagination-margin: 5px;
  --bs-pagination-hover-color: var(--cnvs-contrast-0);
}

.pagination {
  --bs-pagination-color: var(--cnvs-themecolor);
  --bs-pagination-hover-bg: var(--cnvs-themecolor);
  --bs-pagination-hover-color: var(--cnvs-contrast-0);
  --bs-pagination-hover-border-color: var(--bs-pagination-hover-bg);
  --bs-pagination-active-bg: var(--bs-pagination-hover-bg);
  --bs-pagination-active-border-color: var(--bs-pagination-hover-border-color);
  /* Pagination Rounded */
  /* Pagination Margins */
  /* Pagination 3d */
  /* Pagination Transparent */
  /* Pagination Transparent */
  /* Pagination Inside Transparent */
  /* Pagination Button */
  /* Pagination Pill */
  /* Pagination light */
}
.pagination.pagination-circle .page-item .page-link {
  --bs-pagination-padding-x: 0;
  --bs-pagination-padding-y: 0;
  --bs-pagination-border-radius: 50%;
  width: var(--cnvs-pagination-circle-size);
  height: var(--cnvs-pagination-circle-size);
  line-height: calc(
    var(--cnvs-pagination-circle-size) - var(--bs-pagination-border-width) * 2
  );
  text-align: center;
}
.pagination.pagination-circle.pagination-lg {
  --cnvs-pagination-circle-size: 56px;
}
.pagination.pagination-circle.pagination-sm {
  --cnvs-pagination-circle-size: 26px;
}
.pagination:not(.pagination-circle):not(.pagination-rounded)
  .page-item:not(:first-child):not(:last-child) {
  --bs-pagination-border-radius: 0;
}
.pagination:not(.pagination-circle):not(.pagination-rounded)
  .page-item:first-child
  .page-link {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pagination:not(.pagination-circle):not(.pagination-rounded)
  .page-item:last-child
  .page-link {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pagination.pagination-rounded {
  --bs-pagination-border-radius: 4px;
}
.pagination.pagination-circle .page-item:not(:first-child) .page-link,
.pagination.pagination-rounded .page-item:not(:first-child) .page-link {
  margin-left: var(--cnvs-pagination-margin);
}
.pagination.pagination-circle.pagination-lg {
  --cnvs-pagination-margin: 8px;
}
.pagination.pagination-circle.pagination-sm {
  --cnvs-pagination-margin: 3px;
}
.pagination.pagination-3d .page-item .page-link {
  border-bottom: 3px solid rgba(var(--cnvs-contrast-rgb), 0.15) !important;
}
.pagination.pagination-transparent .page-item .page-link {
  --bs-pagination-border-width: 0px;
}
.pagination.pagination-inside-transparent .page-item .page-link:not(:hover) {
  --bs-pagination-color: var(--cnvs-contrast-900);
}
.pagination.pagination-inside-transparent
  .page-item:not(:first-child):not(:nth-child(2)):not(:nth-last-child(1))
  .page-link {
  border-left: 0;
}
.pagination.pagination-inside-transparent .page-item.active .page-link,
.pagination.pagination-inside-transparent .page-link:hover,
.pagination.pagination-inside-transparent .page-link:focus {
  --bs-pagination-border-color: transparent !important;
}
.pagination.pagination-inside-transparent.pagination-button
  .page-item:not(:first-child):not(:nth-last-child(1))
  .page-link {
  --bs-pagination-border-width: 0;
}
.pagination.pagination-pill .page-item:first-child .page-link {
  border-top-left-radius: 10rem;
  border-bottom-left-radius: 10rem;
}
.pagination.pagination-pill .page-item:last-child .page-link {
  border-top-right-radius: 10rem;
  border-bottom-right-radius: 10rem;
}
.pagination.pagination-primary {
  --bs-pagination-bg: var(--bs-primary);
  --bs-pagination-border-color: var(--bs-primary);
  --bs-pagination-color: #fff;
}
.pagination.pagination-secondary {
  --bs-pagination-bg: var(--bs-secondary);
  --bs-pagination-border-color: var(--bs-secondary);
  --bs-pagination-color: #fff;
}
.pagination.pagination-success {
  --bs-pagination-bg: var(--bs-success);
  --bs-pagination-border-color: var(--bs-success);
  --bs-pagination-color: #fff;
}
.pagination.pagination-info {
  --bs-pagination-bg: var(--bs-info);
  --bs-pagination-border-color: var(--bs-info);
  --bs-pagination-color: #fff;
}
.pagination.pagination-warning {
  --bs-pagination-bg: var(--bs-warning);
  --bs-pagination-border-color: var(--bs-warning);
  --bs-pagination-color: #fff;
}
.pagination.pagination-danger {
  --bs-pagination-bg: var(--bs-danger);
  --bs-pagination-border-color: var(--bs-danger);
  --bs-pagination-color: #fff;
}
.pagination.pagination-light {
  --bs-pagination-bg: var(--bs-light);
  --bs-pagination-border-color: var(--bs-light);
  --bs-pagination-color: #fff;
}
.pagination.pagination-dark {
  --bs-pagination-bg: var(--bs-dark);
  --bs-pagination-border-color: var(--bs-dark);
  --bs-pagination-color: #fff;
}
.pagination.pagination-light {
  --bs-pagination-color: #222;
}

/* ----------------------------------------------------------------
	extras.scss
-----------------------------------------------------------------*/
/* ----------------------------------------------------------------
	Bootstrap Specific
-----------------------------------------------------------------*/
.table .success {
  color: var(--bs-success);
}
.table .info {
  color: var(--bs-info);
}
.table .warning {
  color: var(--bs-warning);
}
.table .danger {
  color: var(--bs-danger);
}

ul:not(.pagination) .page-link,
ul:not(.pagination) .page-link:hover,
ul:not(.pagination) .page-link:focus {
  color: var(--cnvs-themecolor);
}

.boot-tabs {
  margin-bottom: 20px !important;
}

.carousel-control .fa-chevron-left,
.carousel-control .fa-chevron-right {
  position: absolute;
  top: 47.5%;
  z-index: 5;
  display: inline-block;
}
.carousel-control .fa-chevron-left {
  left: 50%;
}
.carousel-control .fa-chevron-right {
  right: 50%;
}

.responsive-utilities th small,
.responsive-utilities th .small {
  display: block;
  font-weight: 400;
  color: var(--cnvs-contrast-500);
}

.show-grid [class^='col-'] {
  padding-top: 10px;
  padding-bottom: 10px;
  border: 1px solid rgba(var(--cnvs-contrast-rgb), 0.15);
  background-color: rgba(var(--cnvs-contrast-rgb), 0.1);
}

.img-circle {
  border-radius: 50% !important;
}

ul:not(.pagination) .page-item.active .page-link,
ul:not(.pagination) .page-link:hover,
ul:not(.pagination) .page-link:focus {
  color: var(--cnvs-contrast-0) !important;
  background-color: var(--cnvs-themecolor) !important;
  border-color: var(--cnvs-themecolor) !important;
}

.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  background-color: var(--cnvs-themecolor);
}

label.radio,
label.checkbox {
  padding-left: 20px;
}

.input-group-lg > .input-group-addon {
  line-height: 1;
}

/* ----------------------------------------------------------------
	Shape Dividers
-----------------------------------------------------------------*/
.shape-divider {
  position: absolute;
  top: -1px;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}
.shape-divider[data-position='bottom'] {
  top: auto;
  bottom: -1px;
}
.shape-divider[data-front='true'] {
  z-index: 4;
}
.shape-divider svg {
  position: relative;
  width: 100%;
  width: calc(100% + 1.3px);
  height: 50px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
}
.shape-divider[data-position='bottom'],
.shape-divider[data-flip-vertical='true'] {
  transform: rotate(180deg);
}
.shape-divider[data-position='bottom'][data-flip-vertical='true'] {
  transform: rotate(0deg);
}
.shape-divider[data-flip='true'] svg {
  transform: translateX(-50%) rotateY(180deg);
}
.shape-divider-fill {
  fill: var(--cnvs-body-bg);
  transform-origin: center;
  transform: rotateY(0deg);
}

/* ----------------------------------------------------------------
	HTML5 Youtube Video Backgrounds
-----------------------------------------------------------------*/
.mb_YTVPlayer {
  display: block;
  transform: translateZ(0);
  transform-style: preserve-3d;
  perspective: 1000;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  animation-timing-function: linear;
}
.mb_YTVPlayer:focus {
  outline: 0;
}
.mb_YTVPlayer.fullscreen {
  display: block !important;
  position: fixed !important;
  width: 100% !important;
  height: 100% !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.mb_YTVPlayer.fullscreen .mbYTP_wrapper {
  opacity: 1 !important;
}

.mbYTP_wrapper iframe {
  max-width: 4000px !important;
}

.inline_YTPlayer {
  margin-bottom: 20px;
  vertical-align: top;
  position: relative;
  left: 0;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
  background: rgba(0, 0, 0, 0.5);
}
.inline_YTPlayer img {
  border: none !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ----------------------------------------------------------------
	Datepicker Component
-----------------------------------------------------------------*/
.datepicker td,
.datepicker th {
  padding: 5px;
}

/* ----------------------------------------------------------------
	Star Ratings Component
-----------------------------------------------------------------*/
.rating-xl {
  font-size: 3rem !important;
}
.rating-lg {
  font-size: 2.5rem !important;
}
.rating-md {
  font-size: 2rem !important;
}
.rating-sm {
  font-size: 1.75rem !important;
}
.rating-xs {
  font-size: 1.25rem !important;
}
.rating-container .star {
  margin: 0 2px !important;
}
.rating-container .filled-stars {
  -webkit-text-stroke: 0px !important;
  text-shadow: none !important;
}

/* ----------------------------------------------------------------
	Custom Animate.css Styles
-----------------------------------------------------------------*/
@keyframes fadeInDownSmall {
  from {
    opacity: 0;
    transform: translate3d(0, -50%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownSmall {
  animation-name: fadeInDownSmall;
}
@keyframes fadeInLeftSmall {
  from {
    opacity: 0;
    transform: translate3d(-50%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftSmall {
  animation-name: fadeInLeftSmall;
}
@keyframes fadeInRightSmall {
  from {
    opacity: 0;
    transform: translate3d(50%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightSmall {
  animation-name: fadeInRightSmall;
}
@keyframes fadeInUpSmall {
  from {
    opacity: 0;
    transform: translate3d(0, 50%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpSmall {
  animation-name: fadeInUpSmall;
}
@keyframes fadeOutDownSmall {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 50%, 0);
  }
}
.fadeOutDownSmall {
  animation-name: fadeOutDownSmall;
}
@keyframes fadeOutLeftSmall {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-50%, 0, 0);
  }
}
.fadeOutLeftSmall {
  animation-name: fadeOutLeftSmall;
}
@keyframes fadeOutRightSmall {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(50%, 0, 0);
  }
}
.fadeOutRightSmall {
  animation-name: fadeOutRightSmall;
}
@keyframes fadeOutUpSmall {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -50%, 0);
  }
}
.fadeOutUpSmall {
  animation-name: fadeOutUpSmall;
}

/* ----------------------------------------------------------------

	pageloaders.scss

-----------------------------------------------------------------*/
:root,
.not-dark {
  --cnvs-loader-color: var(--cnvs-contrast-300);
}

/* ----------------------------------------------------------------
	Page Transitions
-----------------------------------------------------------------*/
.page-transition #wrapper:not(.animated) {
  position: relative;
  opacity: 0;
}
.page-transition #wrapper.animated {
  animation-fill-mode: both;
}

.page-transition-wrap,
.css3-spinner {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  text-align: center;
  background-color: var(--cnvs-body-bg);
  animation-fill-mode: both;
  -webkit-perspective: 1000;
}

.css3-spinner {
  --cnvs-loader-color: var(--cnvs-contrast-300);
  position: relative;
  z-index: auto;
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
}
.css3-spinner > div {
  --cnvs-loader-width: auto;
  --cnvs-loader-height: var(--cnvs-loader-width);
  --cnvs-loader-gutters: 0;
  --cnvs-loader-radius: 100%;
  width: var(--cnvs-loader-width);
  height: var(--cnvs-loader-height);
  margin: 0 var(--cnvs-loader-gutters);
  background-color: var(--cnvs-loader-color);
  border-radius: var(--cnvs-loader-radius);
  display: inline-block;
  animation: bouncedelay 1.4s infinite ease-in-out;
  animation-fill-mode: both;
}
.css3-spinner > div > div {
  width: var(--cnvs-loader-width);
  height: var(--cnvs-loader-height);
  margin: 0 var(--cnvs-loader-gutters);
  border-radius: var(--cnvs-loader-radius);
}
.css3-spinner .css3-spinner-bounce1,
.css3-spinner .css3-spinner-bounce2,
.css3-spinner .css3-spinner-bounce3 {
  --cnvs-loader-width: 18px;
  --cnvs-loader-gutters: 3px;
}
.css3-spinner .css3-spinner-bounce1 {
  animation-delay: -0.32s;
}
.css3-spinner .css3-spinner-bounce2 {
  animation-delay: -0.16s;
}
@keyframes bouncedelay {
  0%,
  80%,
  100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
.css3-spinner > .css3-spinner-flipper {
  --cnvs-loader-width: 32px;
  --cnvs-loader-radius: 0;
  animation: rotateplane 1.2s infinite ease-in-out;
}
@keyframes rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }
  50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  }
  100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  }
}
.css3-spinner > .css3-spinner-double-bounce1,
.css3-spinner > .css3-spinner-double-bounce2 {
  --cnvs-loader-width: 40px;
  --cnvs-loader-radius: 50%;
  position: absolute;
  opacity: 0.6;
  animation: cssspinnerbounce 2s infinite ease-in-out;
}
.css3-spinner > .css3-spinner-double-bounce2 {
  animation-delay: -1s;
}
@keyframes cssspinnerbounce {
  0%,
  100% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
.css3-spinner > .css3-spinner-rect1,
.css3-spinner > .css3-spinner-rect2,
.css3-spinner > .css3-spinner-rect3,
.css3-spinner > .css3-spinner-rect4,
.css3-spinner > .css3-spinner-rect5 {
  --cnvs-loader-width: 6px;
  --cnvs-loader-height: 30px;
  --cnvs-loader-gutters: 1px;
  --cnvs-loader-radius: 0;
  animation: stretchdelay 1.2s infinite ease-in-out;
}
.css3-spinner > .css3-spinner-rect2 {
  animation-delay: -1.1s;
}
.css3-spinner > .css3-spinner-rect3 {
  animation-delay: -1s;
}
.css3-spinner > .css3-spinner-rect4 {
  animation-delay: -0.9s;
}
.css3-spinner > .css3-spinner-rect5 {
  animation-delay: -0.8s;
}
@keyframes stretchdelay {
  0%,
  40%,
  100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
  }
  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1);
  }
}
.css3-spinner > .css3-spinner-cube1,
.css3-spinner > .css3-spinner-cube2 {
  --cnvs-loader-width: 16px;
  --cnvs-loader-radius: 0;
  animation: cubemove 1.8s infinite ease-in-out;
}
.css3-spinner > .css3-spinner-cube2 {
  animation-delay: -0.9s;
}
@keyframes cubemove {
  25% {
    transform: translateX(42px) rotate(-90deg) scale(0.5);
    -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
  }
  50% {
    transform: translateX(42px) translateY(42px) rotate(-179deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
  }
  50.1% {
    transform: translateX(42px) translateY(42px) rotate(-180deg);
    -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
  }
  75% {
    transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
    -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg)
      scale(0.5);
  }
  100% {
    transform: rotate(-360deg);
    -webkit-transform: rotate(-360deg);
  }
}
.css3-spinner > .css3-spinner-scaler {
  --cnvs-loader-width: 40px;
  animation: scaleout 1s infinite ease-in-out;
}
@keyframes scaleout {
  0% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    opacity: 0;
  }
}
.css3-spinner > .css3-spinner-grid-pulse {
  --cnvs-loader-width: 48px;
  display: flex;
  flex-wrap: wrap;
  background-color: transparent !important;
  animation: none;
}
.css3-spinner-grid-pulse > div {
  --cnvs-loader-width: 12px;
  --cnvs-loader-height: 12px;
  --cnvs-loader-gutters: 2px;
  background-color: var(--cnvs-loader-color);
  max-width: calc(var(--cnvs-loader-width) * 4);
  animation-fill-mode: both;
  display: inline-block;
  animation-name: ball-grid-pulse;
  animation-iteration-count: infinite;
  animation-delay: 0;
}
.css3-spinner-grid-pulse > div:nth-child(1) {
  animation-delay: 0.73s;
  animation-duration: 1.3s;
}
.css3-spinner-grid-pulse > div:nth-child(2) {
  animation-delay: 0.32s;
  animation-duration: 1.3s;
}
.css3-spinner-grid-pulse > div:nth-child(3) {
  animation-delay: 0.71s;
  animation-duration: 0.88s;
}
.css3-spinner-grid-pulse > div:nth-child(4) {
  animation-delay: 0.62s;
  animation-duration: 1.06s;
}
.css3-spinner-grid-pulse > div:nth-child(5) {
  animation-delay: 0.31s;
  animation-duration: 0.62s;
}
.css3-spinner-grid-pulse > div:nth-child(6) {
  animation-delay: -0.14s;
  animation-duration: 1.48s;
}
.css3-spinner-grid-pulse > div:nth-child(7) {
  animation-delay: -0.1s;
  animation-duration: 1.47s;
}
.css3-spinner-grid-pulse > div:nth-child(8) {
  animation-delay: 0.4s;
  animation-duration: 1.49s;
}
.css3-spinner-grid-pulse > div:nth-child(9) {
  animation-delay: 0.73s;
  animation-duration: 0.7s;
}
@keyframes ball-grid-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.5);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.css3-spinner > .css3-spinner-clip-rotate {
  --cnvs-loader-width: 33px;
  background-color: transparent !important;
  animation: none;
}
.css3-spinner-clip-rotate > div {
  border-radius: 100%;
  border: 2px solid var(--cnvs-loader-color);
  border-bottom-color: transparent !important;
  background: transparent !important;
  animation: rotate 1s 0s linear infinite;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(0.6);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
.css3-spinner > .css3-spinner-ball-rotate {
  --cnvs-loader-width: 12px;
  --cnvs-loader-gutters: 10px;
  width: var(--cnvs-loader-width);
  height: var(--cnvs-loader-width);
  background-color: transparent !important;
  animation: ballrotate 1s 0s cubic-bezier(0.7, -0.13, 0.22, 0.86) infinite;
  margin: 0;
}
.css3-spinner-ball-rotate > div {
  background-color: var(--cnvs-loader-color);
  border-radius: 100%;
  position: relative;
  margin: 0 !important;
}
.css3-spinner-ball-rotate > div:nth-child(1),
.css3-spinner-ball-rotate > div:nth-child(3) {
  width: var(--cnvs-loader-width);
  height: var(--cnvs-loader-width);
  content: '';
  position: absolute;
  opacity: 0.7;
}
.css3-spinner-ball-rotate > div:nth-child(1) {
  top: 0px;
  left: calc(-1 * var(--cnvs-loader-width) - var(--cnvs-loader-gutters));
}
.css3-spinner-ball-rotate > div:nth-child(3) {
  top: 0px;
  left: calc(var(--cnvs-loader-width) + var(--cnvs-loader-gutters));
}
@keyframes ballrotate {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.css3-spinner > .css3-spinner-zig-zag {
  --cnvs-loader-width: 12px;
  background-color: transparent !important;
  transform: translate(0px, 0px);
  animation: none;
}
.css3-spinner-zig-zag > div {
  background-color: var(--cnvs-loader-color);
  position: absolute;
  animation-fill-mode: both;
}
.css3-spinner-zig-zag > div:first-child {
  animation: ball-zig-deflect 1.5s 0s infinite linear;
}
.css3-spinner-zig-zag > div:last-child {
  animation: ball-zag-deflect 1.5s 0s infinite linear;
}
@keyframes ball-zig-deflect {
  17% {
    transform: translate(-15px, -30px);
  }
  34% {
    transform: translate(15px, -30px);
  }
  50% {
    transform: translate(0, 0);
  }
  67% {
    transform: translate(15px, -30px);
  }
  84% {
    transform: translate(-15px, -30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes ball-zag-deflect {
  17% {
    transform: translate(15px, 30px);
  }
  34% {
    transform: translate(-15px, 30px);
  }
  50% {
    transform: translate(0, 0);
  }
  67% {
    transform: translate(-15px, 30px);
  }
  84% {
    transform: translate(15px, 30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.css3-spinner > .css3-spinner-ball-scale-multiple {
  --cnvs-loader-width: 60px;
  background-color: transparent !important;
  animation: none;
}
.css3-spinner-ball-scale-multiple > div {
  background-color: var(--cnvs-loader-color);
  position: absolute;
  left: calc(50% - var(--cnvs-loader-width) / 2);
  top: calc(50% - var(--cnvs-loader-height) / 2);
  opacity: 0;
  animation: ball-scale-multiple 1.25s 0s linear infinite;
}
.css3-spinner-ball-scale-multiple > div:nth-child(2) {
  animation-delay: -0.4s;
}
.css3-spinner-ball-scale-multiple > div:nth-child(3) {
  animation-delay: -0.2s;
}
@keyframes ball-scale-multiple {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.css3-spinner > .css3-spinner-triangle-path {
  --cnvs-loader-width: 10px;
  background-color: transparent !important;
  transform: translate(-29.994px, -37.50938px);
  animation: none;
  width: auto;
  height: auto;
}
.css3-spinner-triangle-path > div {
  animation-fill-mode: both;
  position: absolute;
  background-color: var(--cnvs-loader-color);
}
.css3-spinner-triangle-path > div:nth-child(1) {
  animation: ball-triangle-path-1 2s 0s ease-in-out infinite;
}
.css3-spinner-triangle-path > div:nth-child(2) {
  animation: ball-triangle-path-2 2s 0s ease-in-out infinite;
}
.css3-spinner-triangle-path > div:nth-child(3) {
  animation: ball-triangle-path-3 2s 0s ease-in-out infinite;
}
.css3-spinner-triangle-path > div:nth-of-type(1) {
  top: 50px;
}
.css3-spinner-triangle-path > div:nth-of-type(2) {
  left: 25px;
}
.css3-spinner-triangle-path > div:nth-of-type(3) {
  top: 50px;
  left: 50px;
}
@keyframes ball-triangle-path-1 {
  33% {
    transform: translate(25px, -50px);
  }
  66% {
    transform: translate(50px, 0px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-2 {
  33% {
    transform: translate(25px, 50px);
  }
  66% {
    transform: translate(-25px, 50px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-3 {
  33% {
    transform: translate(-50px, 0px);
  }
  66% {
    transform: translate(-25px, -50px);
  }
  100% {
    transform: translate(0px, 0px);
  }
}
.css3-spinner > .css3-spinner-ball-pulse-sync {
  --cnvs-loader-width: 14px;
  --cnvs-loader-gutters: 3px;
  background-color: transparent !important;
  width: auto;
  height: auto;
  animation: none;
  margin: 0;
}
.css3-spinner-ball-pulse-sync > div {
  display: inline-block;
  background-color: var(--cnvs-loader-color);
  animation-fill-mode: both;
}
.css3-spinner-ball-pulse-sync > div:nth-child(0) {
  animation: ball-pulse-sync 0.7s -0.21s infinite ease-in-out;
}
.css3-spinner-ball-pulse-sync > div:nth-child(1) {
  animation: ball-pulse-sync 0.7s -0.14s infinite ease-in-out;
}
.css3-spinner-ball-pulse-sync > div:nth-child(2) {
  animation: ball-pulse-sync 0.7s -0.07s infinite ease-in-out;
}
.css3-spinner-ball-pulse-sync > div:nth-child(3) {
  animation: ball-pulse-sync 0.7s 0s infinite ease-in-out;
}
@keyframes ball-pulse-sync {
  33% {
    transform: translateY(10px);
    opacity: 0.85;
  }
  66% {
    transform: translateY(-10px);
    opacity: 0.7;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.css3-spinner > .css3-spinner-scale-ripple {
  --cnvs-loader-width: 50px;
  width: auto;
  height: auto;
  background-color: transparent !important;
  animation: none;
}
.css3-spinner-scale-ripple > div {
  animation-fill-mode: both;
  position: absolute;
  left: calc(50% - var(--cnvs-loader-width) / 2);
  top: calc(50% - var(--cnvs-loader-height) / 2);
  border: 2px solid var(--cnvs-loader-color);
  animation: ball-scale-ripple-multiple 1.4s 0s infinite
    cubic-bezier(0.21, 0.53, 0.56, 0.8);
}
.css3-spinner-scale-ripple > div:nth-child(0) {
  animation-delay: -0.8s;
}
.css3-spinner-scale-ripple > div:nth-child(1) {
  animation-delay: -0.6s;
}
.css3-spinner-scale-ripple > div:nth-child(2) {
  animation-delay: -0.4s;
}
.css3-spinner-scale-ripple > div:nth-child(3) {
  animation-delay: -0.2s;
}
@keyframes ball-scale-ripple-multiple {
  0% {
    transform: scale(0.1);
    opacity: 1;
  }
  70% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    opacity: 0;
  }
}

/* Magnific Popup SCSS */
:root {
  --cnvs-mfp-overlay-color: #0b0b0b;
  --cnvs-mfp-overlay-opacity: 0.9;
  --cnvs-mfp-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  --cnvs-mfp-popup-padding-left: 8px;
  --cnvs-mfp-popup-padding-left-mobile: 6px;
  --cnvs-mfp-z-index-base: 1040;
  --cnvs-mfp-controls-opacity: 0.65;
  --cnvs-mfp-controls-color: #fff;
  --cnvs-mfp-inner-close-icon-color: #333;
  --cnvs-mfp-controls-text-color: #ccc;
  --cnvs-mfp-controls-text-color-hover: #fff;
  --cnvs-mfp-preloader-size: 2rem;
  --cnvs-mfp-close-btn-size: 4rem;
  --cnvs-mfp-close-btn-font-size: 1.5rem;
  --cnvs-mfp-arrow-size: 4rem;
  --cnvs-mfp-title-padding: 1rem;
  --cnvs-mfp-title-border-radius: 0.25rem;
  --cnvs-mfp-link-color: #ccc;
  --cnvs-mfp-iframe-padding-top: 40px;
  --cnvs-mfp-iframe-background: #000;
  --cnvs-mfp-iframe-max-width: 900px;
  --cnvs-mfp-iframe-ratio: 9/16;
  --cnvs-mfp-image-background: #444;
  --cnvs-mfp-caption-title-color: #f3f3f3;
  --cnvs-mfp-caption-subtitle-color: #bdbdbd;
}

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: calc(var(--cnvs-mfp-z-index-base) + 2);
  overflow: hidden;
  position: fixed;
  background: var(--cnvs-mfp-overlay-color);
  opacity: var(--cnvs-mfp-overlay-opacity);
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: calc(var(--cnvs-mfp-z-index-base) + 3);
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 var(--cnvs-mfp-popup-padding-left);
  box-sizing: border-box;
}

.mfp-container::before {
  content: '';
  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: calc(var(--cnvs-mfp-z-index-base) + 5);
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-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: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: var(--cnvs-mfp-controls-text-color);
  z-index: calc(var(--cnvs-mfp-z-index-base) + 4);
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--cnvs-mfp-preloader-size);
  height: var(--cnvs-mfp-preloader-size);
  font-size: var(--cnvs-mfp-preloader-size);
  line-height: 1;
  text-align: center;
  transform: translate(-50%, -50%);
  font-family: 'bootstrap-icons';
  line-height: inherit;
}
.mfp-preloader a {
  color: var(--cnvs-mfp-controls-text-color);
}
.mfp-preloader a:hover {
  color: var(--cnvs-mfp-controls-text-color-hover);
}

.mfp-container:not(.mfp-s-error) .mfp-preloader::before {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 1;
  content: '\f130';
  animation: spin 2s infinite linear;
}

.mfp-container.mfp-s-error .mfp-preloader {
  width: auto;
  height: auto;
  font-size: 1.5rem;
  font-family: inherit;
  animation: none;
  line-height: 1.5;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: calc(var(--cnvs-mfp-z-index-base) + 6);
  box-shadow: none;
  touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: var(--cnvs-mfp-close-btn-size);
  height: var(--cnvs-mfp-close-btn-size);
  line-height: var(--cnvs-mfp-close-btn-size);
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: var(--cnvs-mfp-controls-opacity);
  padding: 0 0 18px 10px;
  color: var(--cnvs-mfp-controls-color);
  font-style: normal;
  font-size: var(--cnvs-mfp-close-btn-font-size);
}
.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: var(--cnvs-mfp-inner-close-icon-color);
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: var(--cnvs-mfp-controls-color);
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: auto;
  bottom: 25px;
  right: 20px;
  font-size: 0.75rem;
  line-height: 18px;
  white-space: nowrap;
  padding: 0.5rem 1rem;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0.25rem;
  color: var(--cnvs-mfp-controls-text-color);
}
.mfp-counter:empty {
  display: none;
}

.mfp-arrow {
  opacity: var(--cnvs-mfp-controls-opacity);
  position: absolute;
  margin: 0;
  top: 50%;
  left: 0;
  padding: 0;
  width: var(--cnvs-mfp-arrow-size);
  height: var(--cnvs-mfp-arrow-size);
  font-family: 'bootstrap-icons';
  line-height: inherit;
  -webkit-tap-highlight-color: transparent;
  font-size: calc(var(--cnvs-mfp-arrow-size) / 2);
  transform: translateY(-50%);
  color: var(--cnvs-mfp-link-color);
  transition: all 0.3s ease;
}
.mfp-arrow:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.2);
}

@media (max-width: 991.98px) {
  .mfp-arrow {
    background-color: rgba(0, 0, 0, 0.75) !important;
  }
  .mfp-arrow:hover {
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.85) !important;
  }
}
.mfp-arrow-left::before,
.mfp-arrow-right::before {
  display: inline-flex;
  align-self: center;
  justify-self: center;
}

.mfp-arrow-right::before {
  content: '\f285';
}

.mfp-arrow-right {
  left: auto;
  right: 0;
}

.mfp-arrow-left {
  right: auto;
  left: 0;
}

.mfp-arrow-left::before {
  content: '\f284';
}

.mfp-iframe-holder {
  padding-top: var(--cnvs-mfp-iframe-padding-top);
  padding-bottom: var(--cnvs-mfp-iframe-padding-top);
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: var(--cnvs-mfp-iframe-max-width);
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: calc(var(--cnvs-mfp-iframe-ratio) * 100%);
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: var(--cnvs-mfp-shadow);
  background: var(--cnvs-mfp-iframe-background);
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: var(--cnvs-mfp-shadow);
  background: var(--cnvs-mfp-image-background);
}
.mfp-figure small,
.mfp-figure .small {
  color: var(--cnvs-mfp-caption-subtitle-color);
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure small:empty,
.mfp-figure .small:empty {
  display: none;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  position: absolute;
  left: 50%;
  bottom: 25px;
  transform: translateX(-50%);
  width: auto;
  text-align: center;
  line-height: 1.65;
  color: var(--cnvs-mfp-caption-title-color);
  word-wrap: break-word;
  padding: var(--cnvs-mfp-title-padding);
  background: rgba(39, 60, 68, 0.2);
  -webkit-backdrop-filter: blur(3em);
  backdrop-filter: blur(3em);
  border-radius: var(--cnvs-mfp-title-border-radius);
}
.mfp-title:empty {
  display: none;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape),
  screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .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,
  .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;
    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 {
    transform: translateY(-50%) scale(0.75) !important;
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: var(--cnvs-mfp-popup-padding-left-mobile);
    padding-right: var(--cnvs-mfp-popup-padding-left-mobile);
  }
}
/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --cnvs-animate-duration: 1s;
  --cnvs-animate-delay: 1s;
  --cnvs-animate-repeat: 1;
}

.not-animated,
[data-animate]:not(.animated) {
  opacity: 0;
}

.animated {
  animation-duration: 1s;
  animation-duration: var(--cnvs-animate-duration);
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
.animated.repeat-1 {
  animation-iteration-count: calc(var(--cnvs-animate-repeat) * 1);
}
.animated.repeat-2 {
  animation-iteration-count: calc(var(--cnvs-animate-repeat) * 2);
}
.animated.repeat-3 {
  animation-iteration-count: calc(var(--cnvs-animate-repeat) * 3);
}
.animated.delay-1s {
  animation-delay: calc(var(--cnvs-animate-delay) * 1);
}
.animated.delay-2s {
  animation-delay: calc(var(--cnvs-animate-delay) * 2);
}
.animated.delay-3s {
  animation-delay: calc(var(--cnvs-animate-delay) * 3);
}
.animated.delay-4s {
  animation-delay: calc(var(--cnvs-animate-delay) * 4);
}
.animated.delay-5s {
  animation-delay: calc(var(--cnvs-animate-delay) * 5);
}
.animated.faster {
  animation-duration: calc(var(--cnvs-animate-duration) / 2);
}
.animated.fast {
  animation-duration: calc(var(--cnvs-animate-duration) * 0.8);
}
.animated.slow {
  animation-duration: calc(var(--cnvs-animate-duration) * 2);
}
.animated.slower {
  animation-duration: calc(var(--cnvs-animate-duration) * 3);
}
@media print, (prefers-reduced-motion: reduce) {
  .animated {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
  .animated[class*='Out'] {
    opacity: 0;
  }
}

/* Attention seekers  */
@keyframes bounce {
  from,
  20%,
  53%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%,
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }
  25%,
  75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
  animation-timing-function: ease-in-out;
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shakeX {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shakeX {
  animation-name: shakeX;
}
@keyframes shakeY {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(0, -10px, 0);
  }
  20%,
  40%,
  60%,
  80% {
    transform: translate3d(0, 10px, 0);
  }
}
.shakeY {
  animation-name: shakeY;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%,
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  from,
  11.1%,
  to {
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-duration: 1.3s;
  animation-duration: calc(var(--cnvs-animate-duration) * 1.3);
  animation-timing-function: ease-in-out;
}

/* Back entrances */
@keyframes backInDown {
  0% {
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.backInDown {
  animation-name: backInDown;
}
@keyframes backInLeft {
  0% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.backInLeft {
  animation-name: backInLeft;
}
@keyframes backInRight {
  0% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.backInRight {
  animation-name: backInRight;
}
@keyframes backInUp {
  0% {
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }
  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.backInUp {
  animation-name: backInUp;
}

/* Back exits */
@keyframes backOutDown {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.backOutDown {
  animation-name: backOutDown;
}
@keyframes backOutLeft {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.backOutLeft {
  animation-name: backOutLeft;
}
@keyframes backOutRight {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.backOutRight {
  animation-name: backOutRight;
}
@keyframes backOutUp {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }
  100% {
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.backOutUp {
  animation-name: backOutUp;
}

/* Bouncing entrances  */
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-duration: calc(var(--cnvs-animate-duration) * 0.75);
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }
  75% {
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0) scaleX(1);
  }
  75% {
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }
  90% {
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }
  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }
  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }
  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}

/* Bouncing exits  */
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-duration: calc(var(--cnvs-animate-duration) * 0.75);
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}

/* Fading entrances  */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInTopLeft {
  animation-name: fadeInTopLeft;
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInTopRight {
  animation-name: fadeInTopRight;
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInBottomLeft {
  animation-name: fadeInBottomLeft;
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInBottomRight {
  animation-name: fadeInBottomRight;
}

/* Fading exits */
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
}
.fadeOutTopLeft {
  animation-name: fadeOutTopLeft;
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
}
.fadeOutTopRight {
  animation-name: fadeOutTopRight;
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
}
.fadeOutBottomRight {
  animation-name: fadeOutBottomRight;
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
}
.fadeOutBottomLeft {
  animation-name: fadeOutBottomLeft;
}

/* Flippers */
@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-duration: calc(var(--cnvs-animate-duration) * 0.75);
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  animation-duration: calc(var(--cnvs-animate-duration) * 0.75);
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

/* Lightspeed */
@keyframes lightSpeedInRight {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedInRight {
  animation-name: lightSpeedInRight;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedInLeft {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(-20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedInLeft {
  animation-name: lightSpeedInLeft;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOutRight {
  animation-name: lightSpeedOutRight;
  animation-timing-function: ease-in;
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOutLeft {
  animation-name: lightSpeedOutLeft;
  animation-timing-function: ease-in;
}

/* Rotating entrances */
@keyframes rotateIn {
  from {
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
  transform-origin: center;
}
@keyframes rotateInDownLeft {
  from {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
  transform-origin: left bottom;
}
@keyframes rotateInDownRight {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
  transform-origin: right bottom;
}
@keyframes rotateInUpLeft {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
  transform-origin: left bottom;
}
@keyframes rotateInUpRight {
  from {
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
  transform-origin: right bottom;
}

/* Rotating exits */
@keyframes rotateOut {
  from {
    opacity: 1;
  }
  to {
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
  transform-origin: center;
}
@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }
  to {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
  transform-origin: left bottom;
}
@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }
  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
  transform-origin: right bottom;
}
@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }
  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
  transform-origin: left bottom;
}
@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }
  to {
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
  transform-origin: right bottom;
}

/* Specials */
@keyframes hinge {
  0% {
    animation-timing-function: ease-in-out;
  }
  20%,
  60% {
    transform: rotate3d(0, 0, 1, 80deg);
    animation-timing-function: ease-in-out;
  }
  40%,
  80% {
    transform: rotate3d(0, 0, 1, 60deg);
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-duration: calc(var(--cnvs-animate-duration) * 2);
  animation-name: hinge;
  transform-origin: top left;
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

/* Zooming entrances */
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}

/* Zooming exits */
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
  transform-origin: center bottom;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
  transform-origin: left center;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
  transform-origin: right center;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
  transform-origin: center bottom;
}

/* Sliding entrances */
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}

/* Sliding exits */
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

/*-----------------------------------------------------------------------------------
	Dark Scheme - sass/dark.scss
-----------------------------------------------------------------------------------*/
.dark {
  --cnvs-contrast-bg: #212529;
  --cnvs-contrast-bg-offset: #343a40;
  --cnvs-contrast-0: #000;
  --cnvs-contrast-100: #212529;
  --cnvs-contrast-200: #343a40;
  --cnvs-contrast-300: #495057;
  --cnvs-contrast-400: #6c757d;
  --cnvs-contrast-500: #adb5bd;
  --cnvs-contrast-600: #ced4da;
  --cnvs-contrast-700: #dee2e6;
  --cnvs-contrast-800: #e9ecef;
  --cnvs-contrast-900: #f8f9fa;
  --cnvs-contrast-1000: #fff;
  --bs-link-color: var(--cnvs-contrast-900);
  --cnvs-invert-contrast-0: #fff;
  --cnvs-invert-contrast-100: #f8f9fa;
  --cnvs-invert-contrast-200: #e9ecef;
  --cnvs-invert-contrast-300: #dee2e6;
  --cnvs-invert-contrast-400: #ced4da;
  --cnvs-invert-contrast-500: #adb5bd;
  --cnvs-invert-contrast-600: #6c757d;
  --cnvs-invert-contrast-700: #495057;
  --cnvs-invert-contrast-800: #343a40;
  --cnvs-invert-contrast-900: #212529;
  --cnvs-invert-contrast-1000: #000;
  --cnvs-contrast-rgb: 255, 255, 255;
  --cnvs-invert-contrast-rgb: 0, 0, 0;
  --cnvs-heading-color: var(--cnvs-contrast-900);
  --cnvs-topbar-bg: var(--cnvs-contrast-bg-offset);
  --cnvs-header-bg: var(--cnvs-contrast-bg);
  --cnvs-header-sticky-bg: var(--cnvs-contrast-bg);
  --cnvs-side-header-bg: var(--cnvs-contrast-bg);
  --cnvs-header-floating-bg: var(--cnvs-contrast-bg);
  --cnvs-primary-menu-submenu-bg: var(--cnvs-contrast-bg);
  --cnvs-section-bg: var(--cnvs-contrast-bg-offset);
  --cnvs-footer-bg: var(--cnvs-contrast-bg-offset);
  color: var(--cnvs-contrast-800);
}
body.dark {
  --cnvs-body-bg: var(--cnvs-contrast-bg);
}

.dark#footer .footer-widgets-wrap,
.dark #footer .footer-widgets-wrap {
  color: var(--cnvs-contrast-800);
}
.dark#footer .footer-widgets-wrap a,
.dark #footer .footer-widgets-wrap a {
  color: rgba(255, 255, 255, 0.75);
}
.dark#footer .footer-widgets-wrap a:hover,
.dark #footer .footer-widgets-wrap a:hover {
  color: var(--cnvs-contrast-1000);
}

.dark #copyrights,
#copyrights.dark {
  color: rgba(255, 255, 255, 0.4);
  background-color: rgba(0, 0, 0, 0.2);
}
/*# sourceMappingURL=style.css.map */
