/*---------------------------
 CSS Index  
****************************

01. Variables
02. Typography
03. Spacing
04. Reset
05. Forms
06. Shortcode
07. Common
08. Animations
09. Text Animation
10. Sal
11. extend
12. header-one
13. nav
14. mobile-menu
15. side-collups
15. side-collups
16.banner';
17.section-title';
18.services';
19.social';
20.button';
21.blog';
22.faq';
23.product';
24.team';
25testimonial';
26.banner';
27testimonial-swiper';
28.error';
30.brand';
31.progress-bar';
32.icons-style';
33.portfolio';
34.pricing';
35.counter';
36.rating';
37.work';
38.taglist';
39contact';
40.tab';
41.skills';
42.quick-action';
43.breadcrumb';
44.team-details';
45.ack-to-top';
46.video';
47.pagination';
48.blog-details';
49.pre-loader';
50.about';
51.projects-details';
52.footers';
----------------------------*/
/*----Default Css----*/

:root {
  --color-page: #000000;
  --color-primary: #FF9800;
  --color-primary-alt: #a36202;
  --color-primary-2nd: #FF494A;
  --color-primary-3rd: #FDC448;
  --color-primary-4th: #ffb951;
  --color-secondary: #000000;
  --color-white: #ffffff;
  --color-gray: #bebebe;
  --color-gray-2: #000000;
  --color-subtitle: #f9004d;
  --stroke-dark-100: #081722;
  --background-color-1: #24243557;
  --background-color-2: #000000;
  --background-color-3: #151521;
  --background-color-4: #242435;
  --background-color-5: #EDF5FF;
  --color-card-wrapper: #000000;
  --color-card: #000000;
  --gradient-box: linear-gradient(to right, var(--color-primary), #FF014F);
  --gradient-one: linear-gradient(to right bottom, #E42032, #ffb03a);
  --gradient-two: linear-gradient(to right, #ED145B, #ffb03a);
  --gradient-three: linear-gradient(to right, #03041c, #ebc802);
  --text-gradient-one: linear-gradient(to right, #E42032, #ffb03a);
  --stroke-gr: linear-gradient(317deg, #ffcb7c 0%, rgba(253, 237, 19, 0.2) 38.23%, rgba(233, 253, 19, 0.2) 62.96%, #FF9800 100%);
  --stroke-gradient-2: radial-gradient(92.46% 222.14% at 15.65% -7.58%, rgba(251, 245, 127, 0.2) 0%, rgba(251, 247, 127, 0.02) 100%);
  --icon-gradient: linear-gradient(315deg, #ffcb7c 0%, #FF9800 100%);
  --gradient-none: linear-gradient(red 0 0);
  --full: linear-gradient(red 0 0);
  --shadow-1: 0 2px 22px #fde2137d;
  --theme-gradient: linear-gradient(312deg, #ffcb7c 0%, #FF9800 100%);
  --color-heading: #ffffff;
  --color-body: #d6d6d6;
  --color-dark: #1d1d1d;
  --color-text-1: #DEDEDE;
  --color-light-heading: #323218;
  --color-light-body: #6b6b65;
  --color-border-white: #00000024;
  --color-midgray: #878787;
  --color-light: #E4E6EA;
  --color-lighter: #CED0D4;
  --color-lightest: #F0F2F5;
  --color-border: #0c1f2e;
  --color-border-2: #ffffff80;
  --color-border-3: #ffffff0f;
  --color-white: #ffffff;
  --color-white-75: rgba(255, 255, 255, 0.75);
  --color-success: #3EB75E;
  --color-danger: #FF0003;
  --color-warning: #FF8F3C;
  --color-info: #ff8426;
  --color-facebook: #ff760d;
  --color-twitter: #fb9f58;
  --color-youtube: #ED4141;
  --color-linkedin: #fda969;
  --color-pinterest: #E60022;
  --color-instagram: #C231A1;
  --color-vimeo: #b7560d;
  --color-twitch: #6441A3;
  --color-discord: #e2a270;
  --font-primary: "Montserrat", Arial, sans-serif;
  --font-secondary: "Poppins", Arial, sans-serif;
  --font-three: "Font Awesome 6 Free";
  --p-light: 300;
  --p-regular: 400;
  --p-medium: 500;
  --p-semi-bold: 600;
  --p-bold: 700;
  --p-extra-bold: 800;
  --p-black: 900;
  --s-light: 300;
  --s-regular: 400;
  --s-medium: 500;
  --s-semi-bold: 600;
  --s-bold: 700;
  --s-extra-bold: 800;
  --s-black: 900;
  --border-width: 2px;
  --radius: 4px;
  --transition: all 0.4s ease-in-out;
  --font-size-b1: 16px;
  --font-size-b2: 18px;
  --font-size-b3: 22px;
  --line-height-b1: 1.75;
  --line-height-b2: 1.6;
  --line-height-b3: 1.7;
  --h1: 60px;
  --h2: 36px;
  --h3: 27px;
  --h4: 24px;
  --h5: 20px;
  --h6: 18px;
}

* {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  font-size: 10px;
}

/* Smooth scrolling only for visitors who have not asked for less motion.
   This was previously unconditional here, while the rule further down set
   scroll-behavior:auto inside a no-preference query - inverting the intent,
   so reduced-motion users got smooth scrolling and everyone else did not. */
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

::selection {
  background: #FF9800;
  color: #ffffff;
}

::-moz-selection {
  background: #FF9800;
  color: #ffffff;
}

body {
  font-size: var(--font-size-b1);
  line-height: var(--line-height-b1);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: var(--font-primary);
  color: var(--color-body);
  font-weight: var(--p-regular);
  position: relative;
  overflow-x: hidden;
  background: var(--color-page);
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4,
address,
p,
blockquote,
menu,
ol,
ul,
table {
  margin: 0;
  margin-bottom: 20px;
}

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  word-break: break-word;
  font-family: var(--font-secondary);
  line-height: 1.4074;
  color: var(--color-heading);
}

h1,
.h1 {
  font-size: var(--h1);
  line-height: 1.19;
  font-weight: 700;
}

h2,
.h2 {
  font-size: var(--h2);
  line-height: 1.23;
}

h3,
.h3 {
  font-size: var(--h3);
  line-height: 1.5;
}

h4,
.h4 {
  font-size: var(--h4);
  line-height: 1.25;
}

h1 a,
h2 a,
h3 a,
h4 a,
.h1 a,
.h2 a,
.h3 a,
.h4 a {
  color: inherit;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {

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

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

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

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

@media only screen and (max-width: 767px) {

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

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

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

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

h1,
.h1,
h2,
.h2,
h3,
.h3 {
  font-weight: var(--s-bold);
}

h4,
.h4 {
  font-weight: var(--s-bold);
}

p {
  font-size: var(--font-size-b2);
  line-height: var(--line-height-b2);
  font-weight: var(--p-regular);
  color: var(--color-body);
  margin: 0 0 30px;
}

@media only screen and (max-width: 767px) {
  p {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 28px;
  }
}

p:last-child {
  margin-bottom: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 0 20px;
  width: 100%;
}

table a,
table a:link,
table a:visited {
  text-decoration: none;
}

var {
  font-family: "Poppins", sans-serif;
}

/*---------------------------
	List Style 
---------------------------*/
ul,
ol {
  padding-left: 18px;
}

ul {
  list-style: square;
  margin-bottom: 30px;
  padding-left: 20px;
}

ul.liststyle.bullet li {
  font-size: 18px;
  line-height: 30px;
  color: var(--color-body);
  position: relative;
  padding-left: 30px;
}

@media only screen and (max-width: 767px) {
  ul.liststyle.bullet li {
    padding-left: 19px;
  }
}

ul.liststyle.bullet li::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background: var(--color-body);
  left: 0;
  top: 10px;
}

ul.liststyle.bullet li+li {
  margin-top: 8px;
}

ul li {
  font-size: var(--font-size-b1);
  line-height: var(--line-height-b1);
  margin-top: 10px;
  margin-bottom: 10px;
  color: var(--color-body);
}

ul li a {
  text-decoration: none;
  color: var(--color-gray);
}

ul li a:hover {
  color: var(--color-primary);
}

ul ul {
  margin-bottom: 0;
}

ol {
  margin-bottom: 30px;
}

ol li {
  font-size: var(--font-size-b1);
  line-height: var(--line-height-b1);
  color: var(--color-body);
  margin-top: 10px;
  margin-bottom: 10px;
}

ol li a {
  color: var(--color-heading);
  text-decoration: none;
}

ol li a:hover {
  color: var(--color-primary);
}

ol ul {
  padding-left: 30px;
}

.row {
  --bs-gutter-x: 3rem;
  --bs-gutter-y: 3rem;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

article,
details,
figcaption,
figure,
footer,
header,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

a {
  color: var(--color-heading);
  text-decoration: none;
  outline: none;
}

a:hover,
a:focus,
a:active {
  text-decoration: none;
  outline: none;
}

a:focus {
  outline: none;
}

address {
  margin: 0 0 24px;
}

b,
strong {
  font-weight: bold;
}

mark {
  background: var(--color-primary);
  color: #ffffff;
}

code {
  font-size: var(--font-size-b3);
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  color: var(--color-primary);
}

small {
  font-size: smaller;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

dl {
  margin-top: 0;
  margin-bottom: 10px;
}

dd {
  margin: 0 15px 15px;
}

dt {
  font-weight: bold;
  color: var(--color-heading);
}

menu,
ol,
ul {
  margin: 16px 0;
  padding: 0 0 0 40px;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

li>ul,
li>ol {
  margin: 0;
}

ol ul {
  margin-bottom: 0;
}

img {
  -ms-interpolation-mode: bicubic;
  border: 0;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  max-width: 100%;
  vertical-align: baseline;
}

button,
input {
  line-height: normal;
}

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

button[disabled],
input[disabled] {
  cursor: default;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  appearance: textfield;
  padding-right: 2px;
  width: 270px;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

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

textarea {
  overflow: auto;
  vertical-align: top;
}

caption {
  font-weight: normal;
}

table a,
table a:link,
table a:visited {
  text-decoration: underline;
}

dt {
  font-weight: bold;
  margin-bottom: 10px;
}

dd {
  margin: 0 15px 15px;
}

caption {
  caption-side: top;
}


em {
  font-style: italic;
}

/* BlockQuote  */
blockquote,
q {
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

blockquote {
  font-size: var(--font-size-b1);
  font-style: italic;
  font-weight: var(--p-light);
  margin: 24px 40px;
}

blockquote blockquote {
  margin-right: 0;
}


blockquote small {
  font-size: var(--font-size-b3);
  font-weight: normal;
}

blockquote strong,
blockquote b {
  font-weight: 700;
}

/*=========================
    Section Separation 
==========================*/

.tmp-section-gap {
  padding: 120px 0;
}

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

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

.tmp-section-gapBottom {
  padding-bottom: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-section-gapBottom {
    padding-bottom: 80px;
  }
}

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

.tmp-section-gapTop {
  padding-top: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-section-gapTop {
    padding-top: 80px;
  }
}

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

.pr--0 {
  padding-right: 0 !important;
}

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

.mt--50 {
  margin-top: 50px !important;
}

.mb--50 {
  margin-bottom: 50px !important;
}

.mb--60 {
  margin-bottom: 60px !important;
}

/* ========= Forms Styles ========= */
input,
button,
select,
textarea {
  background: transparent;
  border: 1px solid var(--color-border);
  transition: all 0.4s ease-out 0s;
  color: var(--color-body);
  width: 100%;
}

input:focus,
input:active,
button:focus,
button:active,
select:focus,
select:active,
textarea:focus,
textarea:active {
  outline: none;
  border-color: var(--color-primary);
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

input {
  height: 40px;
  padding: 0 15px;
}

input[type=text],
input[type=email],
input[type=number],
input[type=tel],
textarea {
  font-size: var(--font-size-b2);
  font-weight: 400;
  height: auto;
  line-height: 28px;
  background: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 0 15px;
  outline: none;
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius);
  /* -- Placeholder -- */
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
textarea::placeholder {
  color: var(--body-color);
  /* Firefox */
  opacity: 1;
}

input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--body-color);
}

input[type=text]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--body-color);
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=tel]:focus,
textarea:focus {
  border-color: var(--color-primary);
}

input[type=checkbox],
input[type=radio] {
  opacity: 0;
  position: absolute;
}

input[type=checkbox]~label,
input[type=radio]~label {
  position: relative;
  font-size: 12px;
  line-height: 17px;
  color: var(--color-body);
  font-weight: 400;
  padding-left: 25px;
  cursor: pointer;
}

input[type=checkbox]~label::before,
input[type=radio]~label::before {
  content: " ";
  position: absolute;
  top: 1px;
  left: 0;
  width: 15px;
  height: 15px;
  background-color: transparent;
  border: 1px solid var(--color-body);
  border-radius: 2px;
  transition: all 0.3s;
  border-radius: 2px;
}

input[type=checkbox]~label::after,
input[type=radio]~label::after {
  content: " ";
  position: absolute;
  top: 16%;
  left: 2px;
  width: 10px;
  height: 6px;
  background-color: transparent;
  border-bottom: 2px solid var(--color-body);
  border-left: 2px solid var(--color-body);
  border-radius: 2px;
  transform: rotate(-45deg);
  opacity: 0;
  transition: all 0.3s;
}

input[type=checkbox]:checked~label::after,
input[type=radio]:checked~label::after {
  opacity: 1;
}

input[type=radio]~label::before {
  border-radius: 50%;
}

input[type=radio]~label::after {
  width: 8px;
  height: 8px;
  left: 3px;
  background: #fff;
  border-radius: 50%;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 22px;
  font-weight: 500;
}

.form-group input {
  border: 0 none;
  border-radius: 5px;
  height: 60px;
  font-size: var(--font-size-b1);
  transition: var(--transition);
  padding: 0 20px;
  background-color: #EFF0F6;
  transition: var(--transition);
}

.form-group input:focus {
  border-color: var(--color-primary);
  box-shadow: none;
  border: 1px solid var(--color-body);
}

.form-group textarea {
  min-height: 160px;
  border: 0 none;
  border-radius: 4px;
  resize: none;
  padding: 15px;
  font-size: var(--font-size-b2);
  transition: var(--transition);
  background-color: var(--color-lightest);
  border: 1px solid transparent;
}

input[type=submit] {
  width: auto;
  padding: 0 30px;
  border-radius: 500px;
  display: inline-block;
  font-weight: 500;
  transition: 0.3s;
  height: 60px;
  background: var(--color-primary);
  color: var(--color-heading);
  font-weight: var(--p-medium);
  font-size: var(--font-size-b2);
  line-height: var(--line-height-b3);
  height: 50px;
  border: 2px solid var(--color-primary);
  transition: var(--transition);
}

input[type=submit]:hover {
  background: transparent;
  color: var(--color-primary);
  transform: translateY(-5px);
}

/*==============================
 *  Utilities
=================================*/
/* 
font-family: 'Red Hat Display', sans-serif;
*/

iframe {
  width: 100%;
}

@media only screen and (max-width: 767px) {

  .container {
    padding-right: 15px;
    padding-left: 15px;
  }
}

/*===============================
    Background Color 
=================================*/

/*===========================
Background Image 
=============================*/

/* Height and width */

/*===================
Custom Row
======================*/

/*===========================
    Input Placeholder
=============================*/
input:-moz-placeholder,
textarea:-moz-placeholder {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

/*=============================
	Overlay styles 
==============================*/

/*------------------------------
    Scroll Up 
--------------------------------*/

/*--------------------
    Contact Form 
----------------------*/

/*------------------------
    Header Sticky
--------------------------*/
/* The no-preference block that set scroll-behavior:auto here was removed:
   it cancelled smooth scrolling for exactly the visitors who can accept it.
   Smooth scrolling is now declared once, correctly, near the top of this file. */

textarea:focus {
  border-radius: 5px;
  box-shadow: none !important;
}

.tooltip {
  position: relative;
  display: inline-block;
}

p {
  color: var(--color-body);
}

a {
  transition: var(--transition);
}

a:hover {
  color: var(--color-primary);
}

.theme-color {
  color: var(--color-primary);
}

ul {
  padding: 0;
  margin: 0;
}

ul li {
  list-style: none;
}

p.description {
  font-size: 16px;
  line-height: 28px;
  font-weight: var(--p-regular);
}

.tmp-link-animation a {
  position: relative;
  display: inline-block;
}

.tmp-link-animation a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s;
}

.tmp-link-animation a:hover::after {
  transform-origin: bottom left;
  transform: scaleX(1);
}

.tmp-hover-link .link {
  position: relative;
  display: inline;
  background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(currentColor));
  background-image: -webkit-linear-gradient(left, currentColor 0%, currentColor 100%);
  background-image: -o-linear-gradient(left, currentColor 0%, currentColor 100%);
  background-image: linear-gradient(to right, currentColor 0%, currentColor 100%);
  background-size: 0px 2px;
  background-position: 0px 95%;
  -webkit-transition: background-size 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  -o-transition: background-size 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  transition: background-size 0.25s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  padding: 0.1% 0px;
  background-repeat: no-repeat;
  transition: 0.3s;
}

.tmp-hover-link:hover .link {
  background-size: 100% 2px;
  color: inherit;
}

.tmp-round-action-btn {
  width: 40px;
  height: 40px;
  line-height: 41px;
  text-align: center;
  border-radius: 100%;
  position: relative;
  z-index: 1;
  background: transparent;
  padding: 0;
  border: 0 none;
  display: block;
  color: #ffffff;
  font-size: 18px;
}

.tmp-round-action-btn::after {
  background: var(--color-primary);
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transition: 0.4s;
  opacity: 0;
  transform: scale(0.8);
  border-radius: 100%;
  z-index: -1;
}

.tmp-round-action-btn:hover::after {
  opacity: 1;
  transform: scale(1);
}

.tilt-container {
  perspective: 700px;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.background-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.background-overlay.active {
  background: rgba(0, 0, 0, 0.4117647059);
  backdrop-filter: blur(10px);
  z-index: 99;
}

.rolling-text {
  display: inline-block;
  overflow: hidden;
  line-height: 30px;
  height: 21px;
}

.rolling-text .block {
  min-width: max-content;
}

.rolling-text:hover .letter,
.rolling-text.play .letter {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}

.rolling-text .letter {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  -o-transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1), -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}

.letter:nth-child(1) {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}

.letter:nth-child(2) {
  -webkit-transition-delay: 0.015s;
  -o-transition-delay: 0.015s;
  transition-delay: 0.015s;
}

.letter:nth-child(3) {
  -webkit-transition-delay: 0.03s;
  -o-transition-delay: 0.03s;
  transition-delay: 0.03s;
}

.letter:nth-child(4) {
  -webkit-transition-delay: 0.045s;
  -o-transition-delay: 0.045s;
  transition-delay: 0.045s;
}

.letter:nth-child(5) {
  -webkit-transition-delay: 0.06s;
  -o-transition-delay: 0.06s;
  transition-delay: 0.06s;
}

.letter:nth-child(6) {
  -webkit-transition-delay: 0.075s;
  -o-transition-delay: 0.075s;
  transition-delay: 0.075s;
}

.letter:nth-child(7) {
  -webkit-transition-delay: 0.09s;
  -o-transition-delay: 0.09s;
  transition-delay: 0.09s;
}

.letter:nth-child(8) {
  -webkit-transition-delay: 0.105s;
  -o-transition-delay: 0.105s;
  transition-delay: 0.105s;
}

.letter:nth-child(9) {
  -webkit-transition-delay: 0.12s;
  -o-transition-delay: 0.12s;
  transition-delay: 0.12s;
}

.letter:nth-child(10) {
  -webkit-transition-delay: 0.135s;
  -o-transition-delay: 0.135s;
  transition-delay: 0.135s;
}

.letter:nth-child(11) {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.letter:nth-child(12) {
  -webkit-transition-delay: 0.165s;
  -o-transition-delay: 0.165s;
  transition-delay: 0.165s;
}

.letter:nth-child(13) {
  -webkit-transition-delay: 0.18s;
  -o-transition-delay: 0.18s;
  transition-delay: 0.18s;
}

.letter:nth-child(14) {
  -webkit-transition-delay: 0.195s;
  -o-transition-delay: 0.195s;
  transition-delay: 0.195s;
}

.letter:nth-child(15) {
  -webkit-transition-delay: 0.21s;
  -o-transition-delay: 0.21s;
  transition-delay: 0.21s;
}

.letter:nth-child(16) {
  -webkit-transition-delay: 0.225s;
  -o-transition-delay: 0.225s;
  transition-delay: 0.225s;
}

.letter:nth-child(17) {
  -webkit-transition-delay: 0.24s;
  -o-transition-delay: 0.24s;
  transition-delay: 0.24s;
}

.letter:nth-child(18) {
  -webkit-transition-delay: 0.255s;
  -o-transition-delay: 0.255s;
  transition-delay: 0.255s;
}

.letter:nth-child(19) {
  -webkit-transition-delay: 0.27s;
  -o-transition-delay: 0.27s;
  transition-delay: 0.27s;
}

.letter:nth-child(20) {
  -webkit-transition-delay: 0.285s;
  -o-transition-delay: 0.285s;
  transition-delay: 0.285s;
}

.letter:nth-child(21) {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

/*!
Animate.css - http://daneden.me/animate
Version - 3.4.0
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes bounce {

  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {

  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@-webkit-keyframes flash {

  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

@keyframes flash {

  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes shake {

  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@keyframes shake {

  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none;
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes jello {

  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@keyframes jello {

  from,
  11.1%,
  to {
    -webkit-transform: none;
    transform: none;
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}

@-webkit-keyframes bounceIn {

  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes bounceIn {

  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@-webkit-keyframes bounceInDown {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInDown {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes bounceInLeft {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInLeft {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes bounceInRight {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes bounceInRight {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }

  to {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes bounceInUp {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes bounceInUp {

  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }

  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateIn-2 {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }

  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes jump-1 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40% {
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes jump-2 {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  50% {
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0);
  }

  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp2 {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40%, 0);
    transform: translate3d(0, 40%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes moveright {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }

  to {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

@keyframes moveLeft {
  0% {
    -webkit-clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
  }

  to {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

/* @import'default/text-animation'; */
/**
 * Settings
 */
/**
  * Easings
  */
/**
  * Core
  */

/**
  * Animations
  */

/*----Headers Style----*/
/*-------------------
    Header Styles  
---------------------*/
.logo img {
  max-width: 120px;
}

.logo img.logo-white {
  display: none;
}

.header-one {
  padding: 10px 0;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .header-one {
    padding: 15px 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .header-one {
    padding: 15px 0;
  }
}

@media only screen and (max-width: 767px) {
  .header-one {
    padding: 15px 0;
  }
}

.header-one .header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-one .header-content .logo {
  display: block;
}

.header-one .header-content .logo img {
  max-width: max-content;
}

@media only screen and (max-width: 767px) {
  .header-one .header-content .logo img {
    max-width: 135px;
  }
}

.header-one .tmp-header-right {
  display: flex;
  align-items: center;
  gap: 25px;
}

body {
  position: relative;
}

html,
body {
  overflow-x: hidden;
}

.header-one.header--transparent {
  position: absolute;
  width: 100%;
  z-index: 100;
}

.header-one.header--transparent.sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  background: var(--color-gray-2) !important;
  z-index: 9999 !important;
  height: auto !important;
}

header.header--sticky {
  transition: all 0.3s ease-in-out;
}

header.header--sticky.sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  backdrop-filter: blur(9px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
  background: #000000 !important;
  z-index: 99999 !important;
  margin: 0 !important;
  padding: 10px 0 !important;
  transform: none !important;
  transition: all 0.3s ease;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

/* Stick header container retains default Bootstrap behavior */

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .header--sticky.sticky {
    padding: 15px 30px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .header--sticky.sticky {
    padding: 10px 30px;
  }
}

@media only screen and (max-width: 767px) {
  .header--sticky.sticky {
    padding: 10px 10px;
  }
}

@media only screen and (max-width: 575px) {
  .header--sticky.sticky {
    padding: 10px 10px;
  }
}

/*-------------------
    Humbergur Styles  
---------------------*/
.tmp-menu-bars {
  width: 40px;
  height: 40px;
  border-radius: 100%;
  border: 0 none;
  color: #ffffff;
  font-size: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--transition);
  border: 2px solid var(--color-primary);
  z-index: 1;
  position: relative;
}

.tmp-menu-bars i {
  font-size: 18px;
}

.tmp-menu-bars::after {
  content: " ";
  position: absolute;
  width: 105%;
  height: 105%;
  border-radius: 100px;
  background: var(--color-primary);
  opacity: 1;
  transform: scale(1);
  transition: all 0.4s;
  z-index: -1;
}

.tmp-menu-bars:hover {
  background: transparent;
  color: var(--color-primary);
}

.tmp-menu-bars:hover i::before {
  content: "\f0c9";
}

.tmp-menu-bars:hover::after {
  opacity: 0;
  transform: scale(0);
}

.hamberger-menu {
  display: flex;
  justify-content: flex-end;
  border: 0 none;
  padding: 0;
}

.hamberger-menu i {
  font-size: 32px;
  color: var(--color-primary);
}

@media only screen and (max-width: 575px) {
  .hamberger-menu i {
    font-size: 26px;
  }
}

/*--------------------------
    Only Responsive Header  
------------------------------*/
.tmp-responsive-header-style {
  position: absolute;
  top: 0;
  z-index: 99;
  width: auto;
  right: 0;
  padding: 15px 30px;
  left: 0;
}

.header-full-width {
  border-bottom: 1px solid rgba(255, 255, 255, 0.0705882353);
}

.header-full-width .header-fluid-main-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media only screen and (max-width: 1199px) {
  .header-full-width .header-fluid-main-wrapper {
    padding: 13px 0;
  }
}

.header-full-width .tmp-mainmenu-nav .tmp-mainmenu>li {
  position: relative;
  margin: 27px 4px;
}

header.header-full-width.header--sticky.sticky {
  display: block;
}

/*--------------------
    Main Menu Style  
----------------------*/
.header-one .tmp-mainmenu-nav {
  margin-left: auto;
  margin-right: 50px;
}

.tmp-mainmenu-nav .tmp-mainmenu {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a {
  color: var(--color-heading);
  font-weight: 700;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a:hover {
  color: var(--color-primary) !important;
}

.tmp-mainmenu-nav .tmp-mainmenu>li a:hover {
  color: var(--color-primary);
}

.tmp-mainmenu-nav .tmp-mainmenu>li {
  position: relative;
  margin: 10px 4px;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a {
  padding: 4px 12px !important;
  color: var(--color-heading) !important;
  position: relative;
  display: inline-block;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(0.7);
  left: 0;
  background: var(--color-primary);
  width: 100%;
  height: 100%;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  z-index: -1;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a i {
  transition: var(--transition);
  font-size: 10px;
  margin-left: 3px;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a.active {
  color: var(--color-primary) !important;
}

.tmp-mainmenu-nav .tmp-mainmenu>li>a.active::after {
  opacity: 0.1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.tmp-mainmenu-nav .tmp-mainmenu>li:hover>a,
.tmp-mainmenu-nav .tmp-mainmenu>li.current>a {
  color: var(--color-primary) !important;
}

.tmp-mainmenu-nav .tmp-mainmenu>li:hover>a::after,
.tmp-mainmenu-nav .tmp-mainmenu>li.current>a::after {
  opacity: 0.1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.tmp-mainmenu-nav .tmp-mainmenu>li:hover>a i,
.tmp-mainmenu-nav .tmp-mainmenu>li.current>a i {
  transform: rotate(180deg);
}

.tmp-mainmenu-nav .tmp-mainmenu>li.has-dropdown {
  margin-right: 5px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 11px 0;
}

.tmp-mainmenu-nav .tmp-mainmenu>li.has-dropdown .submenu {
  padding: 10px;
  min-width: 230px;
  height: auto;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 90;
  opacity: 0;
  visibility: hidden;
  text-align: left;
  transition: 0.5s;
  transform: scaleY(0);
  border-radius: 10px;
  background: var(--color-gray-2);
  display: inline-block;
  box-shadow: -3px 0px 20px 4px rgba(100, 95, 95, 0.08);
  transform-origin: 0 0;
  margin-top: 0;
}

.tmp-mainmenu-nav .tmp-mainmenu>li.has-dropdown .submenu li a {
  color: var(--color-heading);
  font-weight: 600;
}

.tmp-mainmenu-nav .tmp-mainmenu>li.has-dropdown:hover .submenu {
  opacity: 1;
  visibility: visible;
  top: 100%;
  transform: scaleY(1);
  overflow: inherit;
}

.tmp-mainmenu-nav .tmp-mainmenu>li.menu-item-open>a {
  color: var(--color-primary) !important;
}

.tmp-mainmenu-nav .tmp-mainmenu>li.menu-item-open>a::after {
  opacity: 0.1;
  visibility: visible;
  transform: translateY(-50%) scale(1);
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu {
  padding: 0;
  border: none !important;
  overflow: hidden;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li {
  position: relative;
  display: block;
  cursor: pointer;
  margin-bottom: 0;
  margin-top: 0;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li::after {
  position: absolute;
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-size: 14px;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  opacity: 0;
  transition: 0.2s;
  color: var(--color-primary);
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li a {
  display: block;
  position: relative;
  transition: var(--transition);
  padding: 3px;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li a::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background: var(--color-primary);
  width: 100%;
  height: 28px;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition);
  z-index: -1;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li a:hover::before,
.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li a.active::before {
  opacity: 0.1;
  visibility: visible;
  transform: translateY(-50%);
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li>a.active {
  padding-left: 15px;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li:hover>a {
  color: var(--color-primary);
  padding-left: 15px;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li:hover::after {
  right: 15px;
  opacity: 1;
}

.tmp-mainmenu-nav .tmp-mainmenu .has-dropdown .submenu li.menu-item::after {
  display: none;
}

.header-left-sticky {
  position: fixed;
  left: 0px;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100vh;
  min-height: 100vh;
  top: 0px;
  width: 290px;
  z-index: 2;
  transform: translateX(0px);
  border-right: 2px solid var(--color-border);
  background: var(--color-gray-2);
  transition: all 0.3s ease-in-out 0s;
}

/*----------------------------
    Mobile Menu Styles  
------------------------------*/
.tmp-popup-mobile-menu {
  z-index: 9999;
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.tmp-popup-mobile-menu .inner {
  width: 320px;
  z-index: 999;
  position: absolute;
  background-color: var(--color-gray-2);
  height: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  opacity: 0;
  left: -150px;
  transition: all 0.5s ease-out;
  padding: 15px 20px;
}

@media only screen and (max-width: 479px) {
  .tmp-popup-mobile-menu .inner {
    width: 310px;
    padding: 10px;
  }
}

.tmp-popup-mobile-menu .header-top {
  display: flex;
  border-bottom: 1px solid var(--color-border);
  align-items: center;
  justify-content: space-between;
  padding: 15px 0;
}

.tmp-popup-mobile-menu .header-top .logo a img {
  max-height: 45px;
}

.tmp-popup-mobile-menu .tmp-mainmenu {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: 0;
}

.tmp-popup-mobile-menu .tmp-mainmenu li {
  display: block;
  margin: 0;
  padding: 8px 0;
}

.tmp-popup-mobile-menu .tmp-mainmenu li a {
  color: var(--color-body);
  position: relative;
  transition: var(--transition);
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  font-family: var(--font-secondary);
  margin: 0;
  display: block;
  font-weight: 500;
  background: transparent;
}

.tmp-popup-mobile-menu .tmp-mainmenu li a i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  font-size: 15px;
}

.tmp-popup-mobile-menu .tmp-mainmenu li a.open i::before {
  content: "\f106";
  font-weight: 400;
}

.tmp-popup-mobile-menu .tmp-mainmenu li+li {
  border-top: 1px solid var(--color-border);
}

.tmp-popup-mobile-menu .tmp-mainmenu .has-dropdown .submenu {
  padding: 0;
  max-width: 100%;
  list-style: none;
  padding-left: 16px;
  display: none;
}

.tmp-popup-mobile-menu .tmp-mainmenu .has-dropdown .submenu li a {
  font-size: 14px;
  color: var(--color-body);
  font-weight: 500;
}

.tmp-popup-mobile-menu .tmp-mainmenu .has-dropdown .submenu li a.open {
  color: var(--color-primary) !important;
}

.tmp-popup-mobile-menu.active {
  visibility: visible;
  opacity: 1;
}

.tmp-popup-mobile-menu.active .inner {
  opacity: 1;
  left: 0;
  overflow-y: auto;
}

/*-------------------------
    Offcanvas Menu Style  
---------------------------*/
.tmp-sidebar-area {
  width: 400px;
  position: fixed;
  right: 0;
  top: 0;
  background: var(--color-gray-2);
  z-index: 99999;
  height: 100%;
  transform: translate3d(100%, 0, 0);
  overflow: hidden;
  overscroll-behavior: contain;
  transition: transform 0.85s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.6s step-end;
}

.tmp-sidebar-area .inner {
  position: relative;
  overflow: hidden;
  height: 100%;
  overflow-y: auto;
}

.tmp-sidebar-area.tmp_side_bar_open {
  transform: translate3d(0, 0, 0);
  transition: transform 0.85s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.6s step-start;
}

/*----Elements Style // @import'elements/button'; ----*/
/* Zoom in image on scroll */

:root {
  --duration-announcement-bar: 250ms;
  --duration-medium: 300ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;
  --duration-extra-longer: 750ms;
  --duration-extended: 3s;
  --animation-slide-in: slideIn var(--duration-extra-long) ease forwards;
  --animation-fade-in: fadeInUp var(--duration-extra-long) ease forwards;
  --animation-zoom-in: zoomIn var(--duration-extra-longer) ease forwards;
  --animation-zoom-out: zoomOut var(--duration-extra-longer) ease forwards;
}

/* Animations */
@media (prefers-reduced-motion: no-preference) {

  @keyframes animateAmbient {
    0% {
      transform: rotate(0deg) translateX(1em) rotate(0deg) scale(1.2);
    }

    100% {
      transform: rotate(360deg) translateX(1em) rotate(-360deg) scale(1.2);
    }
  }

  .tmp-scroll-trigger:is(.tmp-zoom-in, .tmp-fade-in) {
    opacity: 0.01;
  }

  .tmp-scroll-trigger:not(.tmp-scroll-trigger--offscreen).tmp-zoom-in {
    animation: var(--animation-zoom-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .tmp-scroll-trigger:not(.tmp-scroll-trigger--offscreen).tmp-fade-in {
    animation: var(--animation-fade-in);
    animation-delay: calc(var(--animation-order) * 75ms);
  }

  .tmp-scroll-trigger.tmp-scroll-trigger--design-mode.tmp-fade-in,
  .tmp-scroll-trigger.tmp-scroll-trigger--design-mode .slider,
  .tmp-scroll-trigger:not(.tmp-scroll-trigger--offscreen).tmp-scroll-trigger--cancel {
    opacity: 1;
    animation: none;
    transition: none;
  }

  .tmp-scroll-trigger[animation-end] {
    opacity: 1;
    animation: none !important;
    transition: none;
  }

  /* .collection-tab__tab-content
      .tmp-scroll-trigger:not(.tmp-scroll-trigger--offscreen).tmp-zoom-in {
      animation-delay: calc(0.5s + var(--animation-order) * 75ms);
    } */

  @keyframes slideIn {
    from {
      transform: translateY(1rem);
      opacity: 0.01;
    }

    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes zoomIn {
    from {
      opacity: 0;
      transform: scale(1.05);
    }

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

  @keyframes zoomOut {
    from {
      opacity: 0;
      transform: scale(1);
    }

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

.tmp-scroll-trigger.tmp-scroll-trigger--design-mode.tmp-fade-in,
.tmp-scroll-trigger.tmp-scroll-trigger--design-mode .slider,
.tmp-scroll-trigger:not(.tmp-scroll-trigger--offscreen).tmp-scroll-trigger--cancel {
  opacity: 1;
  animation: none;
  transition: none;
}

@keyframes slideIn {
  from {
    transform: translateY(2rem);
    opacity: 0.01;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0.01;
  }

  to {
    opacity: 1;
  }
}

.animation-order-1 {
  --animation-order: 1;
}

.animation-order-2 {
  --animation-order: 2;
}

.animation-order-3 {
  --animation-order: 3;
}

.animation-order-4 {
  --animation-order: 4;
}

.animation-order-5 {
  --animation-order: 5;
}

/* Animation */
@keyframes border-round-circle-1 {
  0% {
    offset-distance: 0%;
  }

  100% {
    offset-distance: 100%;
  }
}

/*========================
  RPP Banner One Area
  ========================*/
.tmp-gradient-main {
  position: relative;
  z-index: 1;
}

.tmp-gradient-main .tmp-gradient-wrapper {
  filter: blur(115px);
  position: absolute;
  left: 72%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.8;
  z-index: -1;
}

.tmp-banner-one-area {
  padding-top: 26px;
  background-image: url("../images/banner/banner-background-one.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-banner-one-area {
    padding-bottom: 100px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-banner-one-area {
    padding-bottom: 100px;
  }
}

.tmp-banner-one-area.add-pattern {
  background-image: none;
  position: relative;
  z-index: 1;
}

.tmp-banner-one-area.add-pattern::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  mix-blend-mode: overlay;
  background-image: linear-gradient(var(--color-white), transparent 1px), linear-gradient(to right, var(--color-white), transparent 1px);
  background-size: 100% 100px, 100px 100%;
  opacity: 0.08;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-attachment: fixed;
}

@keyframes ripple {
  0% {
    transform: scale(1);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

/*========================
  RPP Banner Two Area
  ========================*/

/*========================
  RPP Banner Four Area
  ========================*/

/*========================
  Banner One Main Wrapper
  ========================*/

.banner-one-main-wrapper .inner .title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 62px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: 10px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (max-width: 1199px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 32px;
  }
}

.banner-one-main-wrapper .inner .title span {
  color: var(--color-primary);
}

@keyframes lineGrow {
  0% {
    transform: scaleX(0);
    opacity: 0;
  }

  100% {
    transform: scaleX(1);
    opacity: 1;
  }
}

.banner-one-main-wrapper .inner .disc {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 31px;
  margin-bottom: 0;
  margin-top: 22px;
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .inner .disc {
    margin-top: 9px;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
  }
}

.banner-one-main-wrapper .inner .button-area-banner-one {
  margin-top: 39px;
  position: relative;
  z-index: 2;
}

.banner-one-main-wrapper .banner-right-content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: end;
}

@media (min-width: 1450px) {
  .banner-one-main-wrapper .banner-right-content {
    right: -80px;
  }
}

.banner-one-main-wrapper .banner-right-content img {
  max-width: 600px;
  height: auto;
  object-fit: contain;
  margin-right: 70px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin-right: 0;
  }
}

@media only screen and (max-width: 1199px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin: auto;
  }
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin: auto;
  }
}

@media only screen and (max-width: 575px) {
  .banner-one-main-wrapper .banner-right-content img {
    max-width: 260px;
  }
}

.banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
  position: absolute;
  bottom: 190px;
  left: 0px;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: 2px;
  -webkit-text-stroke: 1px #FF9800;
  color: transparent;
  font-family: var(--font-secondary);
  font-weight: 700;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

@media (min-width: 300px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 50px;
    bottom: 30px;
  }
}

@media (min-width: 500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 50px;
    bottom: 30px;
  }
}

@media (min-width: 500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
    bottom: 100px;
  }
}

@media (min-width: 600px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media (min-width: 1200px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media (min-width: 1500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 73px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media only screen and (max-width: 575px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 48px;
  }
}

@media only screen and (max-width: 479px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 46px;
  }
}

/*========================
  Banner Two Main Wrapper
  ========================*/

/*==================================================
  Banner Four Main Wrapper, Banner Six Main Wrapper
  ===================================================*/

/*========================
  Banner Four Main Wrapper
  ========================*/

/*========================
  Banner Five Main Wrapper
  ========================*/

/*========================
  Banner Six Main Wrapper
  ========================*/

@keyframes banner-cycle-animation {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/*========================
  Find Me On
  ========================*/

/*=====================
  Text Para Doc Wrap
  =====================*/

/*========================
  Banner Three Main Wrapper
  ========================*/

/*==========================
  Up Down Animation Start
  ==========================*/

@-webkit-keyframes up-down {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

@keyframes up-down {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

@-webkit-keyframes up-down-2 {
  0% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes up-dow-2 {
  0% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

@-webkit-keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    opacity: 1;
  }
}

@keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    -moz-transform: rotateX(120deg);
    -ms-transform: rotateX(120deg);
    -o-transform: rotateX(120deg);
    transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    -moz-transform: rotateX(360deg);
    -ms-transform: rotateX(360deg);
    -o-transform: rotateX(360deg);
    transform: rotateX(360deg);
    opacity: 1;
  }
}

@-webkit-keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }
}

@-moz-keyframes cd-rotate-1-out {
  0% {
    -moz-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -moz-transform: rotateX(180deg);
    opacity: 0;
  }
}

@keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }
}

.tmp-contact-about-inner .download-icon.tmp-btn i {
  top: 0px;
  font-size: 16px;
}

@keyframes ripple-2 {
  0% {
    transform: scale(1);
    box-shadow: rgba(124, 124, 124, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(124, 124, 124, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(128, 128, 128, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

@keyframes ripple-2 {
  0% {
    transform: scale(1);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

.tmp-breadcrumb-image {
  position: relative;
  z-index: -1;
}

@keyframes skew-hi {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(0eg);
  }

  75% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.tmp-banner-circle img {
  z-index: 2;
  max-width: 100%;
}

.tmp-banner-circle .tmp-banner-circle-1 {
  position: absolute;
  top: 20%;
  left: 35%;
  -webkit-animation: services-triangle 5s linear infinite alternate;
  animation: services-triangle 5s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-2 {
  position: absolute;
  left: 35%;
  top: 65%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: services-triangle 6s linear infinite alternate;
  animation: services-triangle 6s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-3 {
  position: absolute;
  top: 30%;
  right: 32%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: services-triangle 7s linear infinite alternate;
  animation: services-triangle 7s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-4 {
  position: absolute;
  right: 32%;
  bottom: 20%;
  -webkit-animation: services-triangle 8s linear infinite alternate;
  animation: services-triangle 8s linear infinite alternate;
}

@keyframes services-triangle {
  0% {
    -webkit-transform: rotate(0deg) translateX(-50px);
    -moz-transform: rotate(0deg) translateX(-50px);
    -ms-transform: rotate(0deg) translateX(-50px);
    transform: rotate(0deg) translateX(-50px);
  }

  100% {
    -webkit-transform: rotate(360deg) translateY(100px);
    -moz-transform: rotate(360deg) translateY(100px);
    -ms-transform: rotate(360deg) translateY(100px);
    transform: rotate(360deg) translateY(100px);
  }
}

/*===============================
  Header Top Inner
  ===============================*/
.header-top-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  flex-wrap: wrap;
  padding-bottom: 60px;
}

@media only screen and (max-width: 575px) {
  .header-top-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.header-top-inner .section-head {
  padding-bottom: 0;
}

/*===============================
Section Head
===============================*/
.section-head {
  text-align: center;
}

.section-head .section-sm {
  display: inline-flex;
  max-width: 80%;
}

@media only screen and (max-width: 575px) {
  .section-head .section-sm {
    max-width: 100%;
  }
}

@media (min-width: 1200px) {
  .section-head .section-sm {
    max-width: 50%;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .section-head .section-sm {
    max-width: 70%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .section-head .section-sm {
    max-width: 90%;
  }
}

@media only screen and (max-width: 767px) {
  .section-head .section-sm {
    max-width: 80%;
  }
}

@media only screen and (max-width: 575px) {
  .section-head .section-sm {
    max-width: 100%;
  }
}

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

.section-head .section-sub-title {
  font-size: 16px;
  font-weight: var(--s-bold);
  color: var(--color-primary);
  text-transform: uppercase;
  margin-bottom: 8px;
  font-family: var(--font-secondary);
  display: flex;
  align-items: center;
  gap: 7px;
}

.section-head .section-sub-title img {
  margin-right: 8px;
}

.section-head .section-sub-title span.subtitle {
  font-family: var(--font-secondary);
}

.section-head .title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-weight: 700;
  margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
  .section-head .title br {
    display: none;
  }
}

@media only screen and (max-width: 575px) {
  .section-head .title {
    font-size: 28px;
    line-height: 1.4;
  }

  .section-head .title br {
    display: none;
  }
}

@media only screen and (max-width: 479px) {
  .section-head .title {
    font-size: 22px;
  }
}

.section-head .description {
  margin-top: 10px;
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
}

@media only screen and (max-width: 767px) {
  .section-head .description br {
    display: none;
  }
}

/*===============================
  Section Head Color White
  ===============================*/

/*===============================
  Section Head
  ===============================*/

.section-head .subtitle {
  font-weight: var(--s-bold);
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/*===============================
  Section Head
  ===============================*/
.section-head .section-sub-title.center-title {
  justify-content: center;
}

/*===============================
  Custom Title
  ===============================*/

/*===============================
  Discription Area
  ===============================*/

/*===============================
  Social Link
  ===============================*/
.social-link {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.social-link a {
  width: 40px;
  height: 40px;
  color: var(--color-heading);
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease;
  z-index: 1;
  background: rgba(255, 255, 255, 0.062745098);
  border-radius: 100%;
  font-size: 14px;
}

.social-link a::after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background: var(--icon-gradient);
  opacity: 0.06;
  transform: scale(0);
  transition: all 0.4s ease;
  z-index: -1;
}

.social-link a:hover {
  color: #ffffff;
}

.social-link a:hover::after {
  opacity: 1;
  transform: scale(1);
}

.social-link.footer a {
  min-width: 40px;
  min-height: 40px;
}

.social-link.banner {
  gap: 10px;
}

.social-link.banner a {
  border-radius: 500px;
  background: rgba(43, 43, 43, 0.4588235294);
  min-width: 45px;
  min-height: 45px;
  color: var(--color-heading);
  transition: var(--transition);
  opacity: 1;
  backdrop-filter: blur(4px);
}

.social-link.banner a::after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background: var(--icon-gradient);
  opacity: 0.06;
  transform: scale(0);
  transition: all 0.4s ease;
  z-index: -1;
}

.social-link.banner a:hover {
  border-color: transparent;
  color: #ffffff;
}

.social-link.banner a:hover::after {
  opacity: 1;
  transform: scale(1);
}

.tmp-btn-group {
  margin: -10px;
}

.tmp-btn-group .tmp-btn {
  margin: 10px;
}

.tmp-body-box-pattern {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.tmp-body-box-pattern::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  mix-blend-mode: overlay;
  background-image: linear-gradient(var(--color-white), transparent 1px), linear-gradient(to right, var(--color-white), transparent 1px);
  background-size: 100% 100px, 100px 100%;
  opacity: 0.08;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-attachment: fixed;
}

.tmp-btn {
  padding: 0 30px;
  background: var(--color-primary);
  height: 60px;
  line-height: 60px;
  color: var(--color-white);
  font-size: 16px;
  letter-spacing: 0.5px;
  font-weight: 500;
  display: inline-block;
  position: relative;
  z-index: 1;
  transition: all 0.4s ease-in-out;
  border-radius: 6px;
  border: 0 none;
  outline: none;
  text-decoration: none;
  font-family: var(--font-secondary);
  text-transform: capitalize;
}

.tmp-btn.btn-border {
  background: transparent;
  border: 2px solid var(--color-border);
  color: var(--color-body);
  line-height: 57px;
}

.tmp-btn.btn-border:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.tmp-btn.tmp-marquee-btn {
  overflow: hidden;
}

.tmp-btn.tmp-marquee-btn span {
  display: inline-flex;
  position: relative;
  z-index: 3;
  line-height: 1.2;
}

.tmp-btn.tmp-marquee-btn span::after {
  content: attr(data-text);
  position: absolute;
  white-space: nowrap;
  top: 50%;
  left: 100%;
  transform: translate(100%, -50%);
}

.tmp-btn.tmp-switch-btn {
  overflow: hidden;
}

.tmp-btn.tmp-switch-btn span {
  display: inline-flex;
  position: relative;
  z-index: 3;
  transition: opacity 0.65s, transform 0.85s;
  transition-timing-function: cubic-bezier(0.15, 0.85, 0.31, 1);
}

.tmp-btn.tmp-switch-btn span::after {
  content: attr(data-text);
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  top: 50%;
  opacity: 0;
  transition: inherit;
  left: 100%;
  transform: translate(50%, -50%);
}

.tmp-btn.tmp-switch-btn.tmp-switch-y span::after {
  left: 50%;
  transform: translate(-50%, 100%);
}

.tmp-btn.hover-icon-reverse .icon-reverse-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tmp-btn.hover-icon-reverse .btn-text {
  display: inline-block;
  transition: transform 0.6s 0.125s cubic-bezier(0.1, 0.75, 0.25, 1);
  margin-inline-start: 0;
}

@media only screen and (min-width: 768px) {
  .tmp-btn.hover-icon-reverse .btn-text {
    margin-inline-start: -23px;
  }
}

.tmp-btn.hover-icon-reverse .btn-icon {
  display: inline-block;
  transition: opacity 0.4s 0.25s, transform 0.6s 0.25s;
  transition-timing-function: cubic-bezier(0.1, 0.75, 0.25, 1);
}

.tmp-btn.hover-icon-reverse .btn-icon+.btn-icon {
  margin-inline-end: 0;
  margin-inline-start: 8px;
  display: inline-block;
  margin-inline-start: 0;
  margin-inline-end: 0;
  opacity: 0;
  transform: translateX(-10px);
  transition-delay: 0s;
  order: -2;
}

.tmp-btn.hover-icon-reverse .btn-icon+.btn-icon i {
  padding-left: 0;
  padding-right: 6px;
}

.tmp-btn:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
  transform: translate3d(0, -2px, 0);
}

.tmp-btn:hover.hover-icon-reverse .btn-text {
  transition-delay: 0.1s;
  transform: translateX(23px);
}

.tmp-btn:hover.hover-icon-reverse .btn-icon {
  opacity: 0;
  transition-delay: 0s;
  transform: translateX(10px);
}

.tmp-btn:hover.hover-icon-reverse .btn-icon+.btn-icon {
  opacity: 1;
  transform: translateX(0);
  transition-delay: 0.225s;
}

.tmp-btn:hover.tmp-switch-btn span {
  transform: translateX(-200%);
}

.tmp-btn:hover.tmp-switch-btn span::after {
  opacity: 1;
  transform: translate(100%, -50%);
}

.tmp-btn:hover.tmp-switch-btn.tmp-switch-y span {
  transform: translateY(-200%);
}

.tmp-btn:hover.tmp-switch-btn.tmp-switch-y span::after {
  transform: translate(-50%, 150%);
}

.tmp-btn:hover.tmp-marquee-btn span {
  animation: btnTxtMarqueeX 2s linear infinite;
}

.tmp-btn.btn-md {
  padding: 0 25px;
  height: 50px;
  line-height: 48px;
  font-size: 14px;
}

@media only screen and (max-width: 767px) {
  .tmp-btn.btn-md {
    padding: 0 15px;
    line-height: normal;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

.tmp-btn.btn-md.btn-border {
  line-height: 47px;
}

.tmp-btn i {
  padding-left: 6px;
  display: inline-block;
  top: 2px;
  position: relative;
  font-size: 17px;
}

.radius-round {
  border-radius: 500px !important;
}

/*-----------------------
    Portfolio Arrow Icon  
-------------------------*/
.tmp-arrow-icon-btn {
  height: 50px;
  width: 50px;
  border-radius: 10px;
  border: 2px solid var(--color-border);
  color: var(--color-white);
  font-size: 14px;
  line-height: 50px;
  text-align: center;
  background: transparent;
  display: inline-block;
  position: relative;
  overflow: hidden;
  min-width: 50px;
}

.tmp-arrow-icon-btn .btn-inner {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.tmp-arrow-icon-btn i {
  position: absolute;
  top: 50%;
  left: 50%;
  overflow: hidden;
  margin-top: -9px;
  margin-left: -4px;
  z-index: 1;
  font-size: 18px;
  color: var(--color-heading);
}

.tmp-arrow-icon-btn i.tmp-icon {
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.tmp-arrow-icon-btn i.tmp-icon-bottom {
  position: absolute;
  transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  transform: translateY(300%) translateX(-475%);
}

.tmp-arrow-icon-btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.tmp-arrow-icon-btn:hover i.tmp-icon {
  transform: translateY(-300%) translateX(475%);
}

.tmp-arrow-icon-btn:hover i.tmp-icon-bottom {
  transform: translateY(0) translateX(0) scale(1.1);
}

.tmp-arrow-icon-btn:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

/*--------------------
    Read More Btn  
---------------------*/

/*--------------------
    Custom Button  
----------------------*/

.tmp-btn.tmp-modern-button {
  position: relative;
  border: 1px solid var(--color-border-2);
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  overflow: hidden;
}

.tmp-btn.tmp-modern-button .btn-bg {
  z-index: -1;
  pointer-events: none;
  object-fit: cover;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  position: absolute;
  inset: 0%;
}

.tmp-btn.tmp-modern-button .btn-bg-hover {
  z-index: -1;
  opacity: 0;
  pointer-events: none;
  object-fit: cover;
  border-radius: inherit;
  width: 100%;
  height: 100%;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease;
  position: absolute;
  inset: 0%;
}

.tmp-btn.tmp-modern-button .btn-hack {
  pointer-events: none;
  justify-content: center;
  align-items: center;
  display: flex;
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0px;
  border-radius: inherit;
  padding: 2px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) padding-box;
  -webkit-mask-composite: destination-out;
  mask-composite: exclude;
}

.tmp-btn.tmp-modern-button .btn-hack::after {
  content: "";
  position: absolute;
  width: 500%;
  height: 500%;
  background: conic-gradient(from 148deg, transparent 46%, #ffffff 50%, transparent 54%);
  z-index: 1;
  border-radius: inherit;
  animation: animate 4s linear infinite;
}

.tmp-btn.tmp-modern-button:hover {
  background: transparent;
}

.tmp-btn.tmp-modern-button:hover .btn-hack::after {
  background: conic-gradient(from 148deg, transparent 46%, #FF9800 50%, transparent 54%);
}

.tmp-btn.tmp-modern-button:hover .btn-bg-hover {
  opacity: 1;
}

@keyframes animate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*===============================
  Img Box
  ===============================*/
.img-box {
  position: relative;
  width: 100%;
  overflow: hidden;
  cursor: pointer;
}

.img-box img {
  width: 100%;
}

@media (min-width: 568px) {
  .img-box.v2 {
    height: auto;
  }
}

@media (min-width: 1200px) {
  .img-box.v2 {
    height: 400px;
  }
}

@media (min-width: 1400px) {
  .img-box.v2 {
    height: 447px;
  }
}

/*===============================
  Blog Card
  ===============================*/

/*=========================
  Blog Card Style Two
  =========================*/

/*=========================
  Blog Inner
  =========================*/

/*=========================
  Blog Classic Card
  =========================*/

/*=========================
  Blog Classic Tag
  =========================*/

/*=========================
  Tmp Pagination Button
  =========================*/
.tmp-pagination-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

/*=========================
  Blog Detail left Area
  =========================*/

/*===============================
  Our Portfolio Swiper
  ===============================*/

/*===============================
  Our Portfolio Swiper Btn Wrap
  ===============================*/

/*===============================
  Blog Details Navigation
  ===============================*/

/*============================
  Comment Area Main Wrapper
  ============================*/

/*============================
  Blog Details Form Wrapper
  ============================*/

/*=========================
  Tmp Star
  =========================*/
.tmp-star ul {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tmp-star ul li {
  margin: 0;
  color: var(--color-primary);
}

/*===========================
  Testimonial Swiper
  ===========================*/
.testimonial-swiper {
  padding-bottom: 182px;
}

@media (min-width: 350px) {
  .testimonial-swiper {
    padding-bottom: 110px;
  }
}

@media (min-width: 420px) {
  .testimonial-swiper {
    padding-bottom: 30px;
  }
}

@media (min-width: 450px) {
  .testimonial-swiper {
    padding-bottom: 0px;
  }
}

@media (min-width: 800px) {
  .testimonial-swiper {
    padding-bottom: 62px;
  }
}

@media (min-width: 860px) {
  .testimonial-swiper {
    padding-bottom: 30px;
  }
}

@media (min-width: 911px) {
  .testimonial-swiper {
    padding-bottom: 0px;
  }
}

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

/*===========================
  Client Testimonial Swiper
  ===========================*/

.tmp-swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  opacity: 1;
  border-radius: 100%;
  background: transparent;
  box-shadow: inset 0 0 0 5px var(--color-gray-2);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
  margin: 0 8px !important;
}

.tmp-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--color-primary);
  transform: scale(2);
  opacity: 1;
}

.tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  box-shadow: inset 0 0 0 7px #212629;
  transition: var(--transition);
}

@media only screen and (max-width: 767px) {
  .tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}

.tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet:hover {
  box-shadow: inset 0 0 0 7px var(--color-primary);
}

.tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  content: "";
  position: absolute;
  height: 4px;
  width: 4px;
  background: var(--color-primary);
  border-radius: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/*========================
  RPP Banner One Area
  ========================*/
.tmp-gradient-main {
  position: relative;
  z-index: 1;
}

.tmp-gradient-main .tmp-gradient-wrapper {
  filter: blur(115px);
  position: absolute;
  left: 72%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.8;
  z-index: -1;
}

.tmp-banner-one-area {
  padding-top: 26px;
  background-image: url("../images/banner/banner-background-one.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-banner-one-area {
    padding-bottom: 100px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-banner-one-area {
    padding-bottom: 100px;
  }
}

.tmp-banner-one-area.add-pattern {
  background-image: none;
  position: relative;
  z-index: 1;
}

.tmp-banner-one-area.add-pattern::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  mix-blend-mode: overlay;
  background-image: linear-gradient(var(--color-white), transparent 1px), linear-gradient(to right, var(--color-white), transparent 1px);
  background-size: 100% 100px, 100px 100%;
  opacity: 0.08;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-attachment: fixed;
}

@keyframes ripple {
  0% {
    transform: scale(1);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

/*========================
  RPP Banner Two Area
  ========================*/

/*========================
  RPP Banner Four Area
  ========================*/

/*========================
  Banner One Main Wrapper
  ========================*/

.banner-one-main-wrapper .inner .title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 62px;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  margin-top: 10px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (max-width: 1199px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 54px;
  }
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .inner .title {
    font-size: 32px;
  }
}

.banner-one-main-wrapper .inner .title span {
  color: var(--color-primary);
}

.banner-one-main-wrapper .inner .disc {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 31px;
  margin-bottom: 0;
  margin-top: 22px;
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .inner .disc {
    margin-top: 9px;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
  }
}

.banner-one-main-wrapper .inner .button-area-banner-one {
  margin-top: 39px;
  position: relative;
  z-index: 2;
}

.banner-one-main-wrapper .banner-right-content {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: end;
}

@media (min-width: 1450px) {
  .banner-one-main-wrapper .banner-right-content {
    right: -80px;
  }
}

.banner-one-main-wrapper .banner-right-content img {
  max-width: 600px;
  height: auto;
  object-fit: contain;
  margin-right: 70px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin-right: 0;
  }
}

@media only screen and (max-width: 1199px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin-right: 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin: auto;
  }
}

@media only screen and (max-width: 767px) {
  .banner-one-main-wrapper .banner-right-content img {
    margin: auto;
  }
}

@media only screen and (max-width: 575px) {
  .banner-one-main-wrapper .banner-right-content img {
    max-width: 260px;
  }
}

.banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
  position: absolute;
  bottom: 190px;
  left: 0px;
  font-size: 48px;
  line-height: 1.1;
  letter-spacing: 2px;
  -webkit-text-stroke: 1px #FF9800;
  color: transparent;
  font-family: var(--font-secondary);
  font-weight: 700;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

@media (min-width: 300px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 50px;
    bottom: 30px;
  }
}

@media (min-width: 500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 50px;
    bottom: 30px;
  }
}

@media (min-width: 500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
    bottom: 100px;
  }
}

@media (min-width: 600px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media (min-width: 1200px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media (min-width: 1500px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 73px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 60px;
  }
}

@media only screen and (max-width: 575px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 48px;
  }
}

@media only screen and (max-width: 479px) {
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    font-size: 46px;
  }
}

/*========================
  Banner Two Main Wrapper
  ========================*/

/*==================================================
  Banner Four Main Wrapper, Banner Six Main Wrapper
  ===================================================*/

/*========================
  Banner Four Main Wrapper
  ========================*/

/*========================
  Banner Five Main Wrapper
  ========================*/

/*========================
  Banner Six Main Wrapper
  ========================*/

@keyframes banner-cycle-animation {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

/*========================
  Find Me On
  ========================*/

/*=====================
  Text Para Doc Wrap
  =====================*/

/*========================
  Banner Three Main Wrapper
  ========================*/

/*==========================
  Up Down Animation Start
  ==========================*/

@-webkit-keyframes up-down {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

@keyframes up-down {
  0% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(-10px);
  }
}

@-webkit-keyframes up-down-2 {
  0% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes up-dow-2 {
  0% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

@-webkit-keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    opacity: 1;
  }
}

@keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    -moz-transform: rotateX(120deg);
    -ms-transform: rotateX(120deg);
    -o-transform: rotateX(120deg);
    transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    -moz-transform: rotateX(360deg);
    -ms-transform: rotateX(360deg);
    -o-transform: rotateX(360deg);
    transform: rotateX(360deg);
    opacity: 1;
  }
}

@-webkit-keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }
}

@-moz-keyframes cd-rotate-1-out {
  0% {
    -moz-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -moz-transform: rotateX(180deg);
    opacity: 0;
  }
}

@keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    transform: rotateX(-40deg) scaleY(1.1);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }
}

.tmp-contact-about-inner .download-icon.tmp-btn i {
  top: 0px;
  font-size: 16px;
}

@keyframes ripple-2 {
  0% {
    transform: scale(1);
    box-shadow: rgba(124, 124, 124, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(124, 124, 124, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(128, 128, 128, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

@keyframes ripple-2 {
  0% {
    transform: scale(1);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 10px 10px 0px;
  }

  50% {
    transform: scale(1.3);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 30px 20px 0px;
  }

  100% {
    transform: scale(1);
    box-shadow: rgba(185, 185, 185, 0.3) 0px 10px 10px 0px;
  }
}

@keyframes color-change {
  0% {
    fill: var(--logo-color);
  }

  50% {
    fill: white;
  }

  100% {
    fill: var(--logo-color);
  }
}

.tmp-breadcrumb-image {
  position: relative;
  z-index: -1;
}

@keyframes skew-hi {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(5deg);
  }

  50% {
    transform: rotate(0eg);
  }

  75% {
    transform: rotate(-5deg);
  }

  100% {
    transform: rotate(0deg);
  }
}

.tmp-banner-circle img {
  z-index: 2;
  max-width: 100%;
}

.tmp-banner-circle .tmp-banner-circle-1 {
  position: absolute;
  top: 20%;
  left: 35%;
  -webkit-animation: services-triangle 5s linear infinite alternate;
  animation: services-triangle 5s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-2 {
  position: absolute;
  left: 35%;
  top: 65%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: services-triangle 6s linear infinite alternate;
  animation: services-triangle 6s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-3 {
  position: absolute;
  top: 30%;
  right: 32%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-animation: services-triangle 7s linear infinite alternate;
  animation: services-triangle 7s linear infinite alternate;
}

.tmp-banner-circle .tmp-banner-circle-4 {
  position: absolute;
  right: 32%;
  bottom: 20%;
  -webkit-animation: services-triangle 8s linear infinite alternate;
  animation: services-triangle 8s linear infinite alternate;
}

@keyframes services-triangle {
  0% {
    -webkit-transform: rotate(0deg) translateX(-50px);
    -moz-transform: rotate(0deg) translateX(-50px);
    -ms-transform: rotate(0deg) translateX(-50px);
    transform: rotate(0deg) translateX(-50px);
  }

  100% {
    -webkit-transform: rotate(360deg) translateY(100px);
    -moz-transform: rotate(360deg) translateY(100px);
    -ms-transform: rotate(360deg) translateY(100px);
    transform: rotate(360deg) translateY(100px);
  }
}

/*===============================
  About Me Section Card
  ===============================*/
.testimonial-card {
  position: relative;
  z-index: 2;
  display: flex;
  padding-top: 40px;
}

.testimonial-card .card-content-wrap {
  z-index: 1;
  position: relative;
}

.testimonial-card .card-content-wrap .card-title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 8px;
}

@media only screen and (max-width: 767px) {
  .testimonial-card .card-content-wrap .card-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 22px;
    margin-bottom: 2px;
  }
}

.testimonial-card .card-content-wrap .card-para {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  margin-bottom: 0;
}

.testimonial-card .card-content-wrap .testimonital-icon {
  width: 110px;
  height: 93px;
  margin-top: 29px;
  opacity: 0.2;
}

@media only screen and (max-width: 767px) {
  .testimonial-card .card-content-wrap .testimonital-icon {
    width: 79px;
    height: 71px;
    margin-top: 10px;
  }
}

.testimonial-card .card-content-wrap .testimonital-icon img {
  width: 100%;
}

.testimonial-wrapper {
  position: relative;
  z-index: 1;
}

.testimonial-wrapper .swiper-button-prev,
.testimonial-wrapper .swiper-button-next {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  border: 1px solid var(--color-border);
  transition: all 0.4s ease;
}

.testimonial-wrapper .swiper-button-prev i,
.testimonial-wrapper .swiper-button-next i {
  color: var(--color-heading);
  font-size: 24px;
  font-weight: 300;
  transition: all 0.4s ease;
}

.testimonial-wrapper .swiper-button-prev:hover,
.testimonial-wrapper .swiper-button-next:hover {
  background: var(--color-primary);
}

.testimonial-wrapper .swiper-button-prev:hover i,
.testimonial-wrapper .swiper-button-next:hover i {
  color: #ffffff;
  transform: rotate(0deg);
}

.testimonial-wrapper .swiper-button-prev::after,
.testimonial-wrapper .swiper-button-next::after {
  display: none;
}

.testimonial-wrapper .swiper-button-prev {
  display: none;
}

@media (min-width: 1700px) {
  .testimonial-wrapper .swiper-button-prev {
    left: 150px;
    display: inline-flex;
  }
}

.testimonial-wrapper .swiper-button-prev i {
  transform: rotate(45deg);
}

.testimonial-wrapper .swiper-button-next {
  display: none;
}

@media (min-width: 1700px) {
  .testimonial-wrapper .swiper-button-next {
    right: 150px;
    display: inline-flex;
  }
}

.testimonial-wrapper .swiper-button-next i {
  transform: rotate(-45deg);
}

/*===============================
  Price Plan Card
  ===============================*/
.price-plan-card {
  border-radius: 20px;
  background: var(--color-gray-2);
  padding: 25px;
  position: relative;
  overflow: hidden;
}

@media (min-width: 576px) {
  .price-plan-card {
    padding: 40px;
  }
}

.price-plan-card.v2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.price-plan-card.v2 .check-box {
  border-top: none;
  padding-bottom: 40px;
  border-bottom: 2px solid var(--color-border);
  margin-bottom: 40px;
  padding-top: 28px;
}

@media only screen and (max-width: 767px) {
  .price-plan-card.v2 .check-box {
    margin-bottom: 20px;
    padding-top: 16px;
  }
}

.price-plan-card .main-price {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 48px;
  font-weight: 700;
  line-height: 60px;
  text-transform: capitalize;
  margin-bottom: 5px;
}

.price-plan-card .per-month {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 18px;
  font-weight: 700;
  line-height: 27px;
  margin-bottom: 28px;
}

@media only screen and (max-width: 767px) {
  .price-plan-card .per-month {
    margin-bottom: 14px;
  }
}

/*===============================
  Check Box
  ===============================*/
.check-box {
  border-top: 2px solid var(--color-border);
  padding-top: 43px;
  padding-bottom: 30px;
}

@media (min-width: 992px) {
  .check-box {
    padding-bottom: 40px;
  }
}

.check-box ul li {
  margin: 0 0 15px 0;
}

.check-box ul li:last-child {
  margin-bottom: 0;
}

/*===============================
  Get In Touch Wrapper
  ===============================*/
.get-in-touch-wrapper {
  border-radius: 20px;
  background: var(--color-gray-2);
  padding: 20px 30px;
}

@media (min-width: 576px) {
  .get-in-touch-wrapper {
    padding: 80px 60px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-in-touch-wrapper {
    padding: 40px 40px;
  }
}

@media only screen and (max-width: 767px) {
  .get-in-touch-wrapper {
    padding: 30px 20px;
  }
}

@media only screen and (max-width: 575px) {
  .get-in-touch-wrapper {
    padding: 10px;
  }
}

/*===============================
  Counter Inner
  ===============================*/

/*===============================
  Contact Form
  ===============================*/
.contact-form .contact-form-wrapper .form-group {
  margin-bottom: 0;
  border: none !important;
}

.contact-form .contact-form-wrapper .form-group input {
  background: transparent;
  height: inherit;
  padding: 15px 20px;
  font-size: 16px;
  color: var(--color-heading);
  font-weight: 600;
  border-radius: 10px;
  border: 2px solid var(--color-border);
}

.contact-form .contact-form-wrapper .form-group input:focus {
  border-color: var(--color-primary);
}

.contact-form .contact-form-wrapper .form-group input::placeholder {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
}

.contact-form .contact-form-wrapper .form-group textarea {
  background: transparent;
  font-size: 16px;
  color: var(--color-heading);
  font-weight: 600;
  border-radius: 10px;
  border: 2px solid var(--color-border);
}

.contact-form .contact-form-wrapper .form-group textarea::placeholder {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
}

.contact-form .contact-form-wrapper .form-group textarea:focus {
  border-color: var(--color-primary);
}

/*===============================
  Contact Info
  ===============================*/

/*===============================
  Contact Get In Touch Wrap
  ===============================*/
.contact-get-in-touch-wrap .get-in-touch-wrapper .section-head {
  padding-right: 80px;
  position: sticky;
  top: 120px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .contact-get-in-touch-wrap .get-in-touch-wrapper .section-head {
    padding-right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .contact-get-in-touch-wrap .get-in-touch-wrapper .section-head {
    padding-right: 0;
  }
}

#form-messages.error {
  color: var(--color-danger);
}

#form-messages.success {
  color: var(--color-success);
}

.theme-gradient {
  background: var(--theme-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.breadcrumb-bg {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../../assets/images/breadcrumb/breadcum-bg.png");
}

.case-study-hero {
  min-height: calc(100vw * 724 / 2171);
  background-color: #000;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url("../images/bg/portbg.webp");
}

.case-study-hero .breadcrumb-inner {
  max-width: 1170px;
  text-align: left;
}

.case-study-hero .breadcrumb-inner .title,
.case-study-hero .breadcrumb-inner .description {
  max-width: 700px;
  text-align: left;
}

.case-study-hero .breadcrumb-inner .description {
  font-size: clamp(1.15rem, 1.5vw, 1.6rem);
  font-weight: 700;
  line-height: 1.6;
}

@media only screen and (max-width: 991px) {
  .case-study-hero {
    min-height: 480px;
    padding-top: 100px !important;
    padding-bottom: 36px !important;
    background-position: center center;
    background-size: cover;
  }

  .case-study-hero .breadcrumb-inner .title {
    position: relative;
    z-index: 2;
    font-size: clamp(2.35rem, 8vw, 3.4rem);
    line-height: 1.02;
    top: 180px !important;
    transform: none !important;
  }

  .case-study-hero .breadcrumb-inner .description {
    position: relative;
    z-index: 2;
    max-width: 100%;
    margin-top: 300px;
    padding: 0;
    color: #fff;
    background: transparent;
    font-size: clamp(1.15rem, 2.8vw, 1.45rem);
    font-weight: 800;
    line-height: 1.45;
    transform: translateY(42px);
    -webkit-text-stroke: 0.2px rgba(0, 0, 0, 0.7);
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.95), 0 4px 12px rgba(0, 0, 0, 0.95), 0 0 18px rgba(0, 0, 0, 0.8);
  }
}

.breadcrumb-area {
  position: relative;
  padding-top: 150px;
  padding-bottom: 70px;
}

/* Shared hero scroll indicator */
.lp-hero-scroll {
  display: block;
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  opacity: .5;
  z-index: 9999;
}

.lp-hero-scroll span {
  display: block;
  width: 5px;
  height: 5px;
  transform: rotate(45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin: 0 0 3px 5px;
}

.lp-hero-scroll .mouse {
  width: 14px;
  height: 21px;
  border: 2px solid #fff;
  border-radius: 10px;
  margin-bottom: 5px;
}

.lp-hero-scroll .down-arrow-1 {
  margin-top: 6px;
}

.lp-hero-scroll .down-arrow-1,
.lp-hero-scroll .down-arrow-2,
.lp-hero-scroll .down-arrow-3 {
  animation: lp-mouse-scroll 1s infinite alternate;
}

.lp-hero-scroll .down-arrow-1 { animation-delay: .1s; }
.lp-hero-scroll .down-arrow-2 { animation-delay: .2s; }
.lp-hero-scroll .down-arrow-3 { animation-delay: .3s; }

.lp-hero-scroll .mouse-in {
  display: block;
  width: 2px;
  height: 5px;
  margin: 5px auto;
  background: #fff;
  animation: lp-animated-mouse 1.2s ease infinite;
}

@keyframes lp-animated-mouse {
  0% { opacity: 1; transform: translateY(0); }
  100% { opacity: 0; transform: translateY(6px); }
}

@keyframes lp-mouse-scroll {
  0% { opacity: 0; }
  50% { opacity: .5; }
  100% { opacity: 1; }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .breadcrumb-area {
    padding-top: 100px;
    padding-bottom: 48px;
  }
}

@media only screen and (max-width: 767px) {
  .breadcrumb-area {
    padding-top: 100px;
    padding-bottom: 48px;
  }
}

.breadcrumb-inner {
  margin: 0 auto;
}

.breadcrumb-inner .title {
  color: var(--color-heading);
  margin-bottom: 5px;
  font-size: 40px;
}

@media only screen and (max-width: 575px) {
  .breadcrumb-inner .title {
    font-size: 32px;
  }
}

.breadcrumb-inner:hover a {
  color: var(--color-primary);
}

/*===============================
  Scroll To Top
  ===============================*/
.scrollToTop {
  display: none !important;
  height: 55px;
  width: 55px;
  position: fixed;
  bottom: 20px;
  left: 20px;
  background-color: #0f0f0f;
  border-radius: 50%;
  overflow: hidden;
  cursor: pointer;
  z-index: 999;
  transition: 0.5s ease all;
}

@media only screen and (max-width: 575px) {
  .scrollToTop {
    height: 40px;
    width: 40px;
  }
}

.scrollToTop.active-progress {
  display: block !important;
}

.scrollToTop:hover {
  transform: translateY(-15%);
}

.scrollToTop .arrowUp {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 24px;
}

.scrollToTop .arrowUp i {
  font-size: 19px;
}

.scrollToTop .water {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  transform: translateY(100%);
  background-color: #ad6200;
  transition: none;
  will-change: transform;
}

.scrollToTop .water svg symbol path {
  fill: var(--color-primary) !important;
}

symbol path {
  fill: var(--color-primary) !important;
}

.scrollToTop .water_wave {
  width: 200%;
  position: absolute;
  bottom: 100%;
}

.scrollToTop .water_wave_back {
  right: 0;
  fill: var(--color-heading);
  filter: brightness(0.82) saturate(1.15);
  animation: wave-back 1.4s infinite linear;
}

.scrollToTop .water_wave_front {
  left: 0;
  fill: rgba(122, 37, 158, 0.8784313725);
  filter: brightness(1.08) saturate(1.08);
  margin-bottom: -1px;
  animation: wave-front 0.7s infinite linear;
}

@keyframes wave-front {
  100% {
    transform: translateX(-50%);
  }
}

@keyframes wave-back {
  100% {
    transform: translateX(50%);
  }
}

body.loaded {
  overflow: hidden !important;
  height: 100% !important;
}

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

  100% {
    opacity: 0;
  }
}

@keyframes loading {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.year-of-expariance-wrapper {
  position: relative;
  overflow: hidden;
  background: var(--color-gray-2);
  border-radius: 20px;
  padding: 36px 52px 51px 52px;
}

@media (min-width: 1400px) {
  .year-of-expariance-wrapper {
    padding: 36px 52px 51px 52px;
  }
}

@media only screen and (max-width: 767px) {
  .year-of-expariance-wrapper {
    padding: 30px 20px;
  }
}

.year-of-expariance-wrapper .year-expariance-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .year-of-expariance-wrapper .year-expariance-wrap {
    gap: 10px;
  }
}

@media only screen and (max-width: 575px) {
  .year-of-expariance-wrapper .year-expariance-wrap {
    display: block;
  }
}

.year-of-expariance-wrapper .year-expariance-wrap .year-number {
  color: var(--color-primary);
  font-family: var(--font-primary);
  font-size: 167px;
  line-height: 115%;
  font-weight: 700;
  margin-bottom: 0;
  flex-basis: 40%;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-number {
    font-size: 100px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-number {
    font-size: 100px;
  }
}

@media only screen and (max-width: 767px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-number {
    font-size: 100px;
    line-height: 1;
  }
}

.year-of-expariance-wrapper .year-expariance-wrap .year-title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 42px;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-bottom: 0;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-title {
    font-size: 37px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-title {
    font-size: 37px;
  }
}

@media only screen and (max-width: 767px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-title {
    font-size: 32px;
  }

  .year-of-expariance-wrapper .year-expariance-wrap .year-title br {
    display: none;
  }
}

@media only screen and (max-width: 575px) {
  .year-of-expariance-wrapper .year-expariance-wrap .year-title {
    font-size: 26px;
  }

  .year-of-expariance-wrapper .year-expariance-wrap .year-title br {
    display: none;
  }
}

.year-of-expariance-wrapper .year-para {
  color: var(--color-heading);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  margin-top: 12px;
}

.counter-card {
  padding: 34px 7px;
  border-radius: 20px;
  background: var(--color-gray-2);
  height: 100%;
  box-shadow: 4px 4px 0 0 rgba(20, 155, 252, 0.11);
}

.counter-card .counter-title {
  color: var(--color-heading);
  text-align: center;
  font-family: var(--font-primary);
  font-size: 48px;
  font-weight: 700;
  line-height: 60px;
  text-transform: capitalize;
  margin-bottom: 0;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .counter-card .counter-title {
    font-size: 40px;
  }
}

.counter-card .counter-para {
  color: var(--color-body);
  text-align: center;
  font-family: var(--font-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  margin-top: 0px;
}

/*===============================
  Education Experience Card
  ===============================*/

/*===============================
  Experiences Wrapper
  ===============================*/

/*===============================
  Latest Portfolio Area
  ===============================*/
.custom-column-grid .row {
  --bs-gutter-x: 5rem;
  --bs-gutter-y: 4rem;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .custom-column-grid .row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .custom-column-grid .row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

@media only screen and (max-width: 767px) {
  .custom-column-grid .row {
    --bs-gutter-x: 15px;
    --bs-gutter-y: 30px;
  }
}

/*===============================
  Latest Portfolio Custom Title
  ===============================*/

/*===============================
  Latest Portfolio Card
  ===============================*/
.latest-portfolio-card .portfoli-card-img {
  border-radius: 20px;
  background: var(--color-gray-2);
  padding: 20px;
  border: 2px solid var(--color-border);
  transition: var(--transition);
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .latest-portfolio-card .portfoli-card-img {
    padding: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .latest-portfolio-card .portfoli-card-img {
    padding: 10px;
  }
}

@media only screen and (max-width: 575px) {
  .latest-portfolio-card .portfoli-card-img {
    padding: 5px;
  }
}

.latest-portfolio-card .portfoli-card-img a {
  display: block;
  transition: var(--transition);
}

.latest-portfolio-card .portfoli-card-img img {
  border-radius: 20px;
  width: 100%;
  object-fit: cover;
  transition: var(--transition);
}

.latest-portfolio-card:hover .portfoli-card-img img {
  transform: scale(1.03);
}

.latest-portfolio-card .portfolio-card-content-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 33px;
  gap: 20px;
}

@media only screen and (max-width: 767px) {
  .latest-portfolio-card .portfolio-card-content-wrap {
    margin-top: 15px;
    display: block;
  }
}

.latest-portfolio-card .portfolio-card-content-wrap .portfolio-card-title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 24px;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 0;
  transition: var(--transition);
}

@media only screen and (max-width: 479px) {
  .latest-portfolio-card .portfolio-card-content-wrap .portfolio-card-title {
    font-size: 20px;
  }
}

.latest-portfolio-card .portfolio-card-content-wrap .portfolio-card-title:hover {
  color: var(--color-primary);
}

.latest-portfolio-card .portfolio-card-content-wrap .portfoli-card-para {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  margin-top: 10px;
}

@media only screen and (max-width: 767px) {
  .latest-portfolio-card .portfolio-card-content-wrap .tmp-arrow-icon-btn {
    margin-top: 15px;
  }
}

/*===============================
  Latest Portfolio Area
  ===============================*/

/*===================================
  Latest Portfolio Card Style Two
  ===================================*/

/*===============================
  Tags Items
  ===============================*/

/*===================================
  Latest Portfolio Tabs Area
  ===================================*/

.latest-portfolio-tabs-area .nav {
  display: flex;
  justify-content: center;
  gap: 10px;
}

@media (min-width: 776px) {
  .latest-portfolio-tabs-area .nav {
    gap: 15px;
  }
}

.latest-portfolio-tabs-area .nav li {
  margin: 0;
}

/*----------------------
    Tmp Portfolio  
-----------------------*/
.tmp-portfolio {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  z-index: 1;
}

.tmp-portfolio img {
  width: 100%;
}

.tmp-portfolio::after {
  content: " ";
  position: absolute;
  right: 0;
  top: 0;
  background: linear-gradient(var(--color-primary) 10%, #000);
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.4s ease;
  z-index: 1;
}

.tmp-portfolio:hover::after {
  opacity: 0.85;
}

.tmp-portfolio:hover .portfolio-card-content-wrap {
  bottom: 30px;
  opacity: 1;
  pointer-events: inherit;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio:hover .portfolio-card-content-wrap {
    bottom: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-portfolio:hover .portfolio-card-content-wrap {
    bottom: 15px;
  }
}

.tmp-portfolio .portfolio-card-content-wrap {
  position: absolute;
  bottom: 0;
  left: 30px;
  right: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: all 0.4s ease;
  z-index: 999;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio .portfolio-card-content-wrap {
    left: 15px;
    right: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-portfolio .portfolio-card-content-wrap {
    left: 15px;
    right: 15px;
  }
}

.tmp-portfolio .portfolio-card-content-wrap .portfoli-card-para {
  margin-bottom: 10px;
  font-size: 16px;
  font-family: var(--font-secondary);
  color: var(--color-white);
}

.tmp-portfolio .portfolio-card-content-wrap .portfolio-card-title {
  font-size: 24px;
  margin-bottom: 0;
  color: var(--color-white);
  line-height: 1.3;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio .portfolio-card-content-wrap .portfolio-card-title {
    font-size: 18px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-portfolio .portfolio-card-content-wrap .portfolio-card-title {
    font-size: 18px;
  }
}

.tmp-portfolio .portfolio-card-content-wrap .portfolio-card-title:hover {
  color: #fff !important;
}

.tmp-portfolio .tmp-arrow-icon-btn i {
  color: var(--color-white);
}

/*===============================
  My Skill Card Wrapper
  ===============================*/

/* Removing desktop row layout override to keep 1-column stack */
/* @media (min-width: 992px) {
  .my-skill-card {
    justify-content: space-between;
    flex-direction: inherit;
  }
} */

/*=========================
  My Skill Card Style Two
  =========================*/

/*===============================
  My Skill Card Style Two
  ===============================*/

/*===============================
  About Me Section Card
===============================*/

.about-us-section-card .about-us-card {
  border-radius: 20px;
  background: var(--color-gray-2);
  padding: 25px;
  height: 100%;
}

.about-us-section-card .about-us-card .card-head .logo-img {
  width: 65px;
  height: 65px;
  background: var(--icon-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  min-width: 65px;
  box-shadow: var(--shadow-1);
  margin-bottom: 30px;
  margin-left: 0;
}

.about-us-section-card .about-us-card .card-head .logo-img i {
  font-size: 24px;
  color: var(--color-white);
}

.about-us-section-card .about-us-card .card-head .card-title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 30px;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .about-us-section-card .about-us-card .card-head .card-title {
    font-size: 20px;
    margin-bottom: 10px;
  }
}

.about-us-section-card .about-us-card .card-para {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 18px;
  font-weight: 400;
  line-height: 32px;
}

@media only screen and (max-width: 767px) {
  .about-us-section-card .about-us-card .card-para {
    font-size: 16px;
    line-height: 28px;
  }
}

/*===============================
  About Me Left Content Wrap
  ===============================*/

/*===============================
  Tmp Custom Box Tag
  ===============================*/

/*===============================
  My Expertise Area
  ===============================*/

/*===============================
  My Expertise Eontent Wrap
  ===============================*/

/*===============================
  My Expertise Card wrap
  ===============================*/

/* Service Card v1*/
.service-card-v1 {
  border-radius: 0px;
  padding: 40px 0 40px 0;
  transition: 0.4s;
  box-shadow: 4px 4px 0 0 rgba(31, 31, 31, 0.11);
  background: var(--color-gray-2);
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .service-card-v1 {
    padding: 30px 0 30px 0;
  }
}

@media only screen and (max-width: 767px) {
  .service-card-v1 {
    padding: 30px 0 30px 0;
  }
}

.service-card-v1 .service-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 55px;
  min-height: 55px;
  color: var(--color-primary);
  font-size: 50px;
  margin-bottom: 30px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .service-card-v1 .service-card-icon {
    margin-bottom: 16px;
  }
}

@media only screen and (max-width: 767px) {
  .service-card-v1 .service-card-icon {
    margin-bottom: 16px;
  }
}

.service-card-v1 .service-title {
  color: var(--color-heading);
  font-family: var(--font-primary);
  font-size: 24px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
  margin-bottom: 9px;
}

.service-card-v1 .service-para {
  color: var(--color-gray);
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  text-align: center;
}

/* Service Card v2*/

/*=========================
  Services Widget
  =========================*/
.services-widget {
  position: relative;
}

.services-widget.v2 .service-item {
  margin-bottom: 20px;
}

.services-widget.v2 .service-item:last-child {
  margin-bottom: 0;
}

.services-widget.v2 .active-bg {
  border-radius: 20px;
  background: rgba(19, 155, 253, 0.11);
  backdrop-filter: blur(35px);
}

.services-widget .service-item {
  position: relative;
  z-index: 2;
  gap: 20px;
  overflow: hidden;
}

.services-widget .number {
  color: var(--color-primary);
  font-size: 20px;
  /* 	font-weight: var(--tj-fw-bold); */
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.services-widget .active-bg {
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  position: absolute;
  z-index: 0;
  -webkit-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}


.support-company-logo {
  border-right: 2px solid var(--color-border);
  padding: 40px 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
  border-bottom: 2px solid var(--color-border);
}

.logo-swiper .support-company-logo {
  border-radius: 15px;
  transition: 0.3s;
  border: 2px solid var(--color-border);
}

.logo-swiper .support-company-logo img {
  transition: 0.3s;
  opacity: 0.6;
}

.logo-swiper .support-company-logo:hover {
  border: 2px solid var(--color-primary);
}

.logo-swiper .support-company-logo:hover img {
  opacity: 1;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .support-company-logo {
    padding: 50px 0;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .support-company-logo {
    padding: 50px 0;
  }
}

@media only screen and (max-width: 767px) {
  .support-company-logo {
    padding: 24px 0;
  }
}

@media only screen and (max-width: 575px) {
  .support-company-logo {
    padding: 24px 0;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .support-company-logo img {
    max-height: 44px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .support-company-logo img {
    max-height: 44px;
  }
}

@media only screen and (max-width: 767px) {
  .support-company-logo img {
    max-height: 44px;
  }
}

/* circle progress */
svg.radial-progress {
  height: auto;
  max-width: 100px;
  border-radius: 50%;
  border: 1px solid rgba(219, 219, 219, 0.14);
  transform: rotate(-90deg);
  width: 100%;
  background-image: none;
  transition: 0.3s;
}

svg.radial-progress circle {
  fill: transparent;
  stroke: #fff;
}

svg.radial-progress circle.bar--animated {
  stroke-dasharray: 219.9114857513;
  stroke: var(--color-heading);
  stroke-dashoffset: 219.9114857513;
  stroke-width: 3px;
  transition: 0.3s;
  stroke-linecap: round;
}

svg.radial-progress text {
  fill: #fafafa;
  font-size: 16px;
  font-weight: 700;
  text-anchor: middle;
  font-family: var(--font-primary);
  transition: 0.3s;
}

svg.radial-progress:hover circle.bar--animated {
  stroke-width: 4px;
}

/* Progress Area  */
.progress-charts {
  overflow: visible;
}

.progress-charts+.progress-charts {
  margin-top: 30px;
}

.progress-charts .progress {
  height: 13px;
  overflow: visible;
  font-size: 14px;
  border-radius: 10px;
  padding: 3px;
  background: #2e2600;
}

.progress-charts .progress .progress-bar {
  display: block;
  width: 0;
  height: 100%;
  overflow: visible;
  position: relative;
  border-radius: 14px;
  background: linear-gradient(317deg, #ffb443 0%, #ffb443 38.23%, #FF9800 62.96%, #FF9800 100%);
  transition: width 1.5s ease;
}

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

.progress {
  height: 30px;
  overflow: hidden;
  background-color: #0e4363;
  border-radius: 500px;
}

.progress .progress-bar {
  border-radius: 500px;
  width: 0;
  height: 100%;
  background: linear-gradient(317deg, #c47600 0%, #c47600 38.23%, #FF9800 62.96%, #FF9800 100%) border-box;
  transition: width 0.5s ease;
  overflow: visible;
}

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

.radial-progress {
  position: relative;
}

@media only screen and (max-width: 767px) {
  .radial-progress {
    display: inline-block;
  }
}

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

Primary style

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

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

  xrotate-1 

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

@-webkit-keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    opacity: 1;
  }
}

@-moz-keyframes cd-rotate-1-in {
  0% {
    -moz-transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -moz-transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -moz-transform: rotateX(360deg);
    opacity: 1;
  }
}

@keyframes cd-rotate-1-in {
  0% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }

  35% {
    -webkit-transform: rotateX(120deg);
    -moz-transform: rotateX(120deg);
    -ms-transform: rotateX(120deg);
    -o-transform: rotateX(120deg);
    transform: rotateX(120deg);
    opacity: 0;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(360deg);
    -moz-transform: rotateX(360deg);
    -ms-transform: rotateX(360deg);
    -o-transform: rotateX(360deg);
    transform: rotateX(360deg);
    opacity: 1;
  }
}

@-webkit-keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    opacity: 0;
  }
}

@-moz-keyframes cd-rotate-1-out {
  0% {
    -moz-transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -moz-transform: rotateX(-40deg);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -moz-transform: rotateX(180deg);
    opacity: 0;
  }
}

@keyframes cd-rotate-1-out {
  0% {
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -ms-transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    transform: rotateX(0deg);
    opacity: 1;
  }

  35% {
    -webkit-transform: rotateX(-40deg);
    -moz-transform: rotateX(-40deg);
    -ms-transform: rotateX(-40deg);
    -o-transform: rotateX(-40deg);
    transform: rotateX(-40deg);
    opacity: 1;
  }

  65% {
    opacity: 0;
  }

  100% {
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -ms-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    opacity: 0;
  }
}

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

  xtype 

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

.cd-headline.type b {
  visibility: hidden;
}

.cd-headline.type b.is-visible {
  visibility: visible;
}

.cd-headline.type i {
  position: absolute;
  visibility: hidden;
}

.cd-headline.type i.in {
  position: relative;
  visibility: visible;
}

@-webkit-keyframes cd-pulse {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
    opacity: 1;
  }

  40% {
    -webkit-transform: translateY(-50%) scale(0.9);
    opacity: 0;
  }

  100% {
    -webkit-transform: translateY(-50%) scale(0);
    opacity: 0;
  }
}

@-moz-keyframes cd-pulse {
  0% {
    -moz-transform: translateY(-50%) scale(1);
    opacity: 1;
  }

  40% {
    -moz-transform: translateY(-50%) scale(0.9);
    opacity: 0;
  }

  100% {
    -moz-transform: translateY(-50%) scale(0);
    opacity: 0;
  }
}

@keyframes cd-pulse {
  0% {
    -webkit-transform: translateY(-50%) scale(1);
    -moz-transform: translateY(-50%) scale(1);
    -ms-transform: translateY(-50%) scale(1);
    -o-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
    opacity: 1;
  }

  40% {
    -webkit-transform: translateY(-50%) scale(0.9);
    -moz-transform: translateY(-50%) scale(0.9);
    -ms-transform: translateY(-50%) scale(0.9);
    -o-transform: translateY(-50%) scale(0.9);
    transform: translateY(-50%) scale(0.9);
    opacity: 0;
  }

  100% {
    -webkit-transform: translateY(-50%) scale(0);
    -moz-transform: translateY(-50%) scale(0);
    -ms-transform: translateY(-50%) scale(0);
    -o-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    opacity: 0;
  }
}

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

  xrotate-2 

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

@-webkit-keyframes cd-rotate-2-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(90deg);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(-10deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0deg);
  }
}

@-moz-keyframes cd-rotate-2-in {
  0% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(90deg);
  }

  60% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(-10deg);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(0deg);
  }
}

@keyframes cd-rotate-2-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(90deg);
    -moz-transform: translateZ(-20px) rotateX(90deg);
    -ms-transform: translateZ(-20px) rotateX(90deg);
    -o-transform: translateZ(-20px) rotateX(90deg);
    transform: translateZ(-20px) rotateX(90deg);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(-10deg);
    -moz-transform: translateZ(-20px) rotateX(-10deg);
    -ms-transform: translateZ(-20px) rotateX(-10deg);
    -o-transform: translateZ(-20px) rotateX(-10deg);
    transform: translateZ(-20px) rotateX(-10deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0deg);
    -moz-transform: translateZ(-20px) rotateX(0deg);
    -ms-transform: translateZ(-20px) rotateX(0deg);
    -o-transform: translateZ(-20px) rotateX(0deg);
    transform: translateZ(-20px) rotateX(0deg);
  }
}

@-webkit-keyframes cd-rotate-2-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-100deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-90deg);
  }
}

@-moz-keyframes cd-rotate-2-out {
  0% {
    opacity: 1;
    -moz-transform: translateZ(-20px) rotateX(0);
  }

  60% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(-100deg);
  }

  100% {
    opacity: 0;
    -moz-transform: translateZ(-20px) rotateX(-90deg);
  }
}

@keyframes cd-rotate-2-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(-20px) rotateX(0);
    -moz-transform: translateZ(-20px) rotateX(0);
    -ms-transform: translateZ(-20px) rotateX(0);
    -o-transform: translateZ(-20px) rotateX(0);
    transform: translateZ(-20px) rotateX(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-100deg);
    -moz-transform: translateZ(-20px) rotateX(-100deg);
    -ms-transform: translateZ(-20px) rotateX(-100deg);
    -o-transform: translateZ(-20px) rotateX(-100deg);
    transform: translateZ(-20px) rotateX(-100deg);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-20px) rotateX(-90deg);
    -moz-transform: translateZ(-20px) rotateX(-90deg);
    -ms-transform: translateZ(-20px) rotateX(-90deg);
    -o-transform: translateZ(-20px) rotateX(-90deg);
    transform: translateZ(-20px) rotateX(-90deg);
  }
}

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

  xloading-bar 

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

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

  xslide 

  -------------------------------- */
.cd-headline.slide span {
  display: inline-block;
}

.cd-headline.slide b {
  opacity: 0;
  top: 0.2em;
}

.cd-headline.slide b.is-visible {
  top: 0;
  opacity: 1;
  -webkit-animation: slide-in 0.6s;
  -moz-animation: slide-in 0.6s;
  animation: slide-in 0.6s;
}

.cd-headline.slide b.is-hidden {
  -webkit-animation: slide-out 0.6s;
  -moz-animation: slide-out 0.6s;
  animation: slide-out 0.6s;
}

@-webkit-keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(20%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}

@-moz-keyframes slide-in {
  0% {
    opacity: 0;
    -moz-transform: translateY(-100%);
  }

  60% {
    opacity: 1;
    -moz-transform: translateY(20%);
  }

  100% {
    opacity: 1;
    -moz-transform: translateY(0);
  }
}

@keyframes slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateY(20%);
    -moz-transform: translateY(20%);
    -ms-transform: translateY(20%);
    -o-transform: translateY(20%);
    transform: translateY(20%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes slide-out {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateY(120%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(100%);
  }
}

@-moz-keyframes slide-out {
  0% {
    opacity: 1;
    -moz-transform: translateY(0);
  }

  60% {
    opacity: 0;
    -moz-transform: translateY(120%);
  }

  100% {
    opacity: 0;
    -moz-transform: translateY(100%);
  }
}

@keyframes slide-out {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateY(120%);
    -moz-transform: translateY(120%);
    -ms-transform: translateY(120%);
    -o-transform: translateY(120%);
    transform: translateY(120%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    -moz-transform: translateY(100%);
    -ms-transform: translateY(100%);
    -o-transform: translateY(100%);
    transform: translateY(100%);
  }
}

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

  xclip 

  -------------------------------- */
.cd-headline.clip span {
  display: inline-block;
}

.cd-headline.clip b {
  opacity: 0;
}

.cd-headline.clip b.is-visible {
  opacity: 1;
}

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

  xzoom 

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

@-webkit-keyframes zoom-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(100px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }
}

@-moz-keyframes zoom-in {
  0% {
    opacity: 0;
    -moz-transform: translateZ(100px);
  }

  100% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }
}

@keyframes zoom-in {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(100px);
    -moz-transform: translateZ(100px);
    -ms-transform: translateZ(100px);
    -o-transform: translateZ(100px);
    transform: translateZ(100px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
  }
}

@-webkit-keyframes zoom-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-100px);
  }
}

@-moz-keyframes zoom-out {
  0% {
    opacity: 1;
    -moz-transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -moz-transform: translateZ(-100px);
  }
}

@keyframes zoom-out {
  0% {
    opacity: 1;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateZ(-100px);
    -moz-transform: translateZ(-100px);
    -ms-transform: translateZ(-100px);
    -o-transform: translateZ(-100px);
    transform: translateZ(-100px);
  }
}

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

  xrotate-3 

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

@-webkit-keyframes cd-rotate-3-in {
  0% {
    -webkit-transform: rotateY(180deg);
  }

  100% {
    -webkit-transform: rotateY(0deg);
  }
}

@-moz-keyframes cd-rotate-3-in {
  0% {
    -moz-transform: rotateY(180deg);
  }

  100% {
    -moz-transform: rotateY(0deg);
  }
}

@keyframes cd-rotate-3-in {
  0% {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
  }

  100% {
    -webkit-transform: rotateY(0deg);
    -moz-transform: rotateY(0deg);
    -ms-transform: rotateY(0deg);
    -o-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
}

@-webkit-keyframes cd-rotate-3-out {
  0% {
    -webkit-transform: rotateY(0);
  }

  100% {
    -webkit-transform: rotateY(-180deg);
  }
}

@-moz-keyframes cd-rotate-3-out {
  0% {
    -moz-transform: rotateY(0);
  }

  100% {
    -moz-transform: rotateY(-180deg);
  }
}

@keyframes cd-rotate-3-out {
  0% {
    -webkit-transform: rotateY(0);
    -moz-transform: rotateY(0);
    -ms-transform: rotateY(0);
    -o-transform: rotateY(0);
    transform: rotateY(0);
  }

  100% {
    -webkit-transform: rotateY(-180deg);
    -moz-transform: rotateY(-180deg);
    -ms-transform: rotateY(-180deg);
    -o-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
  }
}

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

  xscale 

  -------------------------------- */
.cd-headline.scale b {
  opacity: 0;
}

.cd-headline.scale i {
  display: inline-block;
  opacity: 0;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
}

.is-visible .cd-headline.scale i {
  opacity: 1;
}

.cd-headline.scale i.in {
  -webkit-animation: scale-up 0.6s forwards;
  -moz-animation: scale-up 0.6s forwards;
  animation: scale-up 0.6s forwards;
}

.cd-headline.scale i.out {
  -webkit-animation: scale-down 0.6s forwards;
  -moz-animation: scale-down 0.6s forwards;
  animation: scale-down 0.6s forwards;
}

@-webkit-keyframes scale-up {
  0% {
    -webkit-transform: scale(0);
    opacity: 0;
  }

  60% {
    -webkit-transform: scale(1.2);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1);
    opacity: 1;
  }
}

@-moz-keyframes scale-up {
  0% {
    -moz-transform: scale(0);
    opacity: 0;
  }

  60% {
    -moz-transform: scale(1.2);
    opacity: 1;
  }

  100% {
    -moz-transform: scale(1);
    opacity: 1;
  }
}

@keyframes scale-up {
  0% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }

  60% {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@-webkit-keyframes scale-down {
  0% {
    -webkit-transform: scale(1);
    opacity: 1;
  }

  60% {
    -webkit-transform: scale(0);
    opacity: 0;
  }
}

@-moz-keyframes scale-down {
  0% {
    -moz-transform: scale(1);
    opacity: 1;
  }

  60% {
    -moz-transform: scale(0);
    opacity: 0;
  }
}

@keyframes scale-down {
  0% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  60% {
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }
}

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

  xpush 

  -------------------------------- */
.cd-headline.push b {
  opacity: 0;
}

.cd-headline.push b.is-visible {
  opacity: 1;
  -webkit-animation: push-in 0.6s;
  -moz-animation: push-in 0.6s;
  animation: push-in 0.6s;
}

.cd-headline.push b.is-hidden {
  -webkit-animation: push-out 0.6s;
  -moz-animation: push-out 0.6s;
  animation: push-out 0.6s;
}

@-webkit-keyframes push-in {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}

@-moz-keyframes push-in {
  0% {
    opacity: 0;
    -moz-transform: translateX(-100%);
  }

  60% {
    opacity: 1;
    -moz-transform: translateX(10%);
  }

  100% {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}

@keyframes push-in {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);
  }

  60% {
    opacity: 1;
    -webkit-transform: translateX(10%);
    -moz-transform: translateX(10%);
    -ms-transform: translateX(10%);
    -o-transform: translateX(10%);
    transform: translateX(10%);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes push-out {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateX(110%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
  }
}

@-moz-keyframes push-out {
  0% {
    opacity: 1;
    -moz-transform: translateX(0);
  }

  60% {
    opacity: 0;
    -moz-transform: translateX(110%);
  }

  100% {
    opacity: 0;
    -moz-transform: translateX(100%);
  }
}

@keyframes push-out {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }

  60% {
    opacity: 0;
    -webkit-transform: translateX(110%);
    -moz-transform: translateX(110%);
    -ms-transform: translateX(110%);
    -o-transform: translateX(110%);
    transform: translateX(110%);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
  }
}

.tmp-portfolio-small {
  text-align: left;
  padding: 30px;
  position: relative;
  border-radius: 6px;
  position: relative;
  z-index: 1;
  height: 100%;
  transition: 0.5s all ease-in-out;
  display: inline-block;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio-small {
    padding: 30px;
  }
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-small {
    padding: 20px;
  }
}

.tmp-portfolio-small .inner .thumbnail a {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.tmp-portfolio-small .inner .thumbnail a img {
  width: 100%;
  transition: var(--transition);
  height: auto;
  object-fit: cover;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio-small .inner .thumbnail a img {
    height: inherit;
  }
}

.tmp-portfolio-small .inner .thumbnail a video {
  border-radius: 10px;
  height: 100%;
  transition: var(--transition);
  object-fit: cover;
  width: 100%;
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-small .inner .thumbnail a {
    display: inline-flex;
  }
}

.tmp-portfolio-small .inner .content {
  padding-top: 18px;
}

.tmp-portfolio-small .inner .content .title {
  margin: 0;
}

.tmp-portfolio-small .inner .content .title a {
  transition: var(--transition);
  color: var(--color-lightn);
  font-weight: 600;
  font-size: 23px;
  line-height: 34px;
  display: inline-block;
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-small .inner .content .title a {
    font-size: 20px;
    line-height: 30px;
  }
}

.tmp-portfolio-small .inner .content .title a i {
  font-size: 0;
  position: relative;
  top: 10px;
  transition: var(--transition);
  opacity: 0;
}

.tmp-portfolio-small .inner .content .title:hover a {
  color: var(--color-primary);
}

.tmp-portfolio-small .inner .content .title:hover a i {
  color: var(--color-primary);
  top: 3px;
  opacity: 1;
  font-size: 23px;
}

.tmp-portfolio-small::before {
  content: "";
  position: absolute;
  transition: var(--transition);
  width: 100%;
  height: 100%;
  border-radius: 20px;
  top: 0;
  left: 0;
  background: linear-gradient(to right bottom, #212428, #16181c);
  opacity: 0;
  z-index: -1;
}

.tmp-portfolio-small:hover::before {
  opacity: 1;
}

.tmp-portfolio-small:hover .thumbnail a img {
  transform: scale(1.1);
}

.tmp-portfolio-small:hover video {
  transform: scale(1.1);
}

.tmp-portfolio-single-card {
  text-align: left;
  padding: 30px;
  position: relative;
  border-radius: 20px;
  background: var(--background-color-1);
  position: relative;
  z-index: 1;
  height: 100%;
  transition: 0.5s all ease-in-out;
  display: inline-block;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio-single-card {
    padding: 30px;
  }
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-single-card {
    padding: 20px;
  }
}

.tmp-portfolio-single-card .inner .thumbnail a {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.tmp-portfolio-single-card .inner .thumbnail a img {
  width: 100%;
  transition: var(--transition);
  height: auto;
  object-fit: cover;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-portfolio-single-card .inner .thumbnail a img {
    height: inherit;
  }
}

.tmp-portfolio-single-card .inner .thumbnail a video {
  border-radius: 10px;
  height: 100%;
  transition: var(--transition);
  object-fit: cover;
  width: 100%;
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-single-card .inner .thumbnail a {
    display: inline-flex;
  }
}

.tmp-portfolio-single-card .inner .content {
  padding-top: 18px;
}

.tmp-portfolio-single-card .inner .content .title {
  margin: 0;
}

.tmp-portfolio-single-card .inner .content .title a {
  transition: var(--transition);
  color: var(--color-lightn);
  font-weight: 600;
  font-size: 23px;
  line-height: 34px;
  display: inline-block;
}

@media only screen and (max-width: 479px) {
  .tmp-portfolio-single-card .inner .content .title a {
    font-size: 20px;
    line-height: 30px;
  }
}

.tmp-portfolio-single-card .inner .content .title a i {
  font-size: 0;
  position: relative;
  top: 10px;
  transition: var(--transition);
  opacity: 0;
}

.tmp-portfolio-single-card .inner .content .title:hover a {
  color: var(--color-primary);
}

.tmp-portfolio-single-card .inner .content .title:hover a i {
  color: var(--color-primary);
  top: 3px;
  opacity: 1;
  font-size: 23px;
}

.tmp-portfolio-single-card::before {
  content: "";
  position: absolute;
  transition: var(--transition);
  width: 100%;
  height: 100%;
  border-radius: 20px;
  top: 0;
  left: 0;
  background: linear-gradient(to right bottom, #212428, #16181c);
  opacity: 0;
  z-index: -1;
}

.tmp-portfolio-single-card:hover::before {
  opacity: 1;
}

.tmp-portfolio-single-card:hover .thumbnail a img {
  transform: scale(1.1);
}

.tmp-portfolio-single-card:hover video {
  transform: scale(1.1);
}

.tmp-light {
  position: absolute !important;
  content: "";
  width: 200px;
  height: 200px;
  background: var(--color-primary);
  border-radius: 100%;
  left: 50%;
  transform: translateX(-50%);
  filter: blur(70px);
  opacity: 0;
  transition: 0.5s;
}

.tmp-light.light-left {
  left: -100px;
  transform: inherit;
}

.tmp-light.active {
  opacity: 1;
}

.tmponhover {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--stroke-dark-100);
}

.tmponhover::before {
  content: "";
  position: absolute;
  inset: 0px;
  border-radius: inherit;
  border: 1px solid transparent;
  background-clip: border-box;
  -webkit-mask: var(--full) padding-box, var(--full);
  -webkit-mask-composite: xor;
  mask: var(--full) padding-box exclude, var(--full);
  pointer-events: none;
  background: var(--stroke-gr) border-box;
  z-index: 1;
  transition: 0.5s;
  transition: border-color 0.5s;
  opacity: 0;
  transition: opacity 0.5s ease;
  will-change: opacity;
}

.tmponhover::after {
  content: "";
  position: absolute;
  inset: 2px;
  background: var(--color-gray-2);
  border-radius: 20px;
}

.tmponhover>* {
  z-index: 2;
  position: relative;
}

.tmponhover:hover,
.tmponhover.active {
  border-color: transparent;
}

.tmponhover:hover::before,
.tmponhover.active::before {
  opacity: 1;
}

.tmponhover:hover .tmp-light,
.tmponhover.active .tmp-light {
  opacity: 1;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

.tmp-light-hover .tmp-light {
  position: absolute;
  width: 938px;
  height: 938px;
  max-width: 100%;
  max-height: 100%;
  border-radius: 100%;
  background: -o-linear-gradient(315deg, var(--color-primary) 46.07%, rgba(53, 52, 124, 0) 91.91%);
  background: linear-gradient(135deg, var(--color-primary) 46.07%, rgba(53, 52, 124, 0) 91.91%);
  -webkit-filter: blur(150px);
  filter: blur(150px);
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  transition: 0.5s;
}

.tmp-light-hover:hover .tmp-light {
  opacity: 0.5;
}

/*------------------
Right Demo  
--------------------*/
.tmp-right-demo {
  width: 40px;
  position: fixed;
  z-index: 99;
  right: 0px;
  top: calc(60% - 55px);
}

.tmp-right-demo p {
  font-weight: 700;
  color: #fff;
}

.tmp-right-demo .demo-button {
  border-radius: 6px 0 0 6px;
  transition: var(--transition);
  position: relative;
  z-index: 2;
  font-size: 14px;
  border: 0 none;
  width: 100%;
  min-width: 100%;
  padding: 10px 0px 8px;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
}

.tmp-right-demo .demo-button::before {
  content: "";
  position: absolute;
  transition: var(--transition);
  width: 100%;
  height: 100%;
  border-radius: 2px 0 0 2px;
  top: 0;
  left: 0;
  background: var(--color-primary);
  opacity: 1;
  z-index: -1;
  background: linear-gradient(-45deg, #ee7752, #252525, #ff004b, #d52323);
  background-size: 400% 400%;
  animation: gradient 4s ease infinite;
  opacity: 1;
  backdrop-filter: blur(21px);
}

@keyframes gradient {
  0% {
    background-position: 25% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 25% 50%;
  }
}

.tmp-right-demo .demo-button .text {
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  padding-left: 5px;
  padding-right: 5px;
  color: #ffffff;
  font-weight: 500;
  font-family: var(--font-secondary);
}

/*-------------------
 Popup Tab  
-----------------------*/
.popuptab-area {
  justify-content: center;
  margin: -20px -10px;
  margin-bottom: 30px;
  border: 0 none;
}

.popuptab-area li {
  margin: 20px 10px;
}

@media only screen and (max-width: 767px) {
  .popuptab-area li {
    margin: 10px 10px;
  }
}

/*-----------------------
    Demo Modal Popup  
------------------------*/
.demo-modal-area {
  width: 100%;
  height: 100%;
  left: 0px;
  top: 0px;
  border: 0px;
  background-color: #060606;
  position: fixed;
  z-index: 999;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  transform: translateX(100px);
}

.demo-modal-area .demo-close-btn {
  border: 0 none;
  position: fixed;
  right: 80px;
  top: 40px;
  width: 40px;
  display: inline-block;
  height: 40px;
  font-size: 22px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  transition: var(--transition);
  z-index: 2;
  border-radius: 100px;
  background: #141414;
  color: var(--color-primary);
  min-width: 40px;
  line-height: 42px;
}

.demo-modal-area .demo-close-btn:hover {
  color: var(--color-primary);
}

.demo-modal-area .wrapper .tmp-modal-inner {
  margin: 70px auto;
  border-radius: 6px;
  padding: 50px;
  background: #141414;
  position: relative;
  max-width: 1170px;
  width: 90%;
  overflow: hidden;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .demo-modal-area .wrapper .tmp-modal-inner {
    padding: 40px 30px;
  }
}

@media only screen and (max-width: 767px) {
  .demo-modal-area .wrapper .tmp-modal-inner {
    padding: 30px 20px;
  }
}

.demo-modal-area .wrapper .tmp-modal-inner::after {
  content: " ";
  position: absolute;
  right: -450px;
  bottom: -500px;
  min-width: 474px;
  min-height: 474px;
  border-radius: 100px;
  filter: blur(227px);
  z-index: 1;
  background: var(--color-primary);
}

.demo-modal-area .wrapper .tmp-modal-inner::before {
  content: " ";
  position: absolute;
  left: -450px;
  top: -500px;
  min-width: 474px;
  min-height: 474px;
  border-radius: 100px;
  filter: blur(227px);
  z-index: 1;
  background: var(--color-primary);
}

.demo-modal-area.open {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/*---------------------------------
    Right Demo Light Version  
----------------------------------*/
.demo-modal-area.active-light .wrapper .tmp-modal-inner {
  background: #EDEDED;
}

.demo-modal-area.active-light .demo-close-btn {
  background: var(--color-white);
}

.tmp-white-version .tmp-right-demo .demo-button .text {
  color: #141414;
}

.demo-modal-area.active-light {
  background-color: #e4e8ee;
}

.demo-modal-area.open::-webkit-scrollbar {
  display: none;
}

.lines {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh;
  margin: auto;
  width: 100vw;
  pointer-events: none;
}

.line {
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
  background: rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.line::after {
  content: "";
  display: block;
  position: absolute;
  height: 15vh;
  width: 100%;
  top: -50%;
  left: 0;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 75%, #fff 100%);
  -webkit-animation: drop 7s linear infinite;
  animation: drop 7s linear infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
  animation-timing-function: cubic-bezier(0.4, 0.26, 0, 0.97);
}

.line:nth-child(1) {
  margin-left: -40%;
}

.line:nth-child(1)::after {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.line:nth-child(2) {
  margin-left: -8px;
}

.line:nth-child(3) {
  margin-left: 39%;
}

.line:nth-child(3)::after {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

@-webkit-keyframes drop {
  0% {
    top: -50%;
  }

  100% {
    top: 110%;
  }
}

@keyframes drop {
  0% {
    top: -50%;
  }

  100% {
    top: 110%;
  }
}

@keyframes separateline {
  0% {
    left: 0;
  }

  100% {
    left: 110%;
  }
}

.tmp-intro-video-card-wrapper {
  position: fixed;
  z-index: 1008;
  right: 20px;
  bottom: 20px;
  width: 180px;
  height: 280px;
  transition: all 0.25s ease-in-out;
  border-radius: 8px;
  opacity: 1;
  background: var(--color-card);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}

@media only screen and (max-width: 575px) {
  .tmp-intro-video-card-wrapper {
    right: 20px;
    bottom: 20px;
  }
}

.tmp-video-controls {
  opacity: 0;
  transition: 0.3s;
}

.tmp-intro-video-card-wrapper:hover .tmp-video-controls {
  opacity: 1;
}

.tmp-video-inner {
  width: 100%;
  height: 100%;
  padding: 10px;
  position: relative;
}

.tmp-video-progress-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.tmp-video-element {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  border-radius: 4px;
  -o-object-fit: cover;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.1);
}

.tmp-intro-video-card-wrapper.is-expanded {
  width: 360px;
  height: 666px;
  right: 50%;
  bottom: 50%;
  transform: translate(50%, 50%);
}

@media only screen and (max-width: 575px) {
  .tmp-intro-video-card-wrapper.is-expanded {
    width: 300px;
    height: auto;
  }
}

.tmp-iv-close-button {
  position: absolute;
  right: -10px;
  top: -10px;
  background: linear-gradient(to right bottom, #212428, #16181c);
  display: inline-block;
  width: 30px;
  height: 30px;
  color: var(--color-primary);
  font-size: 16px;
  text-align: center;
  line-height: 32px;
  border-radius: 100%;
  opacity: 1;
  transition: 0.3s;
  transform: scale(0.8);
}

.tmp-iv-close-button i {
  font-weight: 900;
}

.tmp-intro-video-card-wrapper:hover .tmp-iv-close-button {
  opacity: 1;
}

.is-expanded .tmp-iv-close-button {
  opacity: 0;
  transform: scale(1);
}

.tmp-iv-top-wrapper {
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  z-index: 50;
  pointer-events: none;
  display: none;
}

.tmp-iv-progress-bar {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 5px;
  margin-bottom: 0;
  cursor: pointer;
  background: rgba(0, 0, 0, 0);
  border-radius: 0 0 8px 8px;
}

.tmp-iv-progress-bar span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0;
  height: 100%;
}

@keyframes animStar {
  from {
    transform: translateY(0px);
  }

  to {
    transform: translateY(-2000px);
  }
}

.tmp-banner-one-area.add-pattern {
  position: relative;
}

.footer-stars-animation-wrapper-footer {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/*----Bentogrid Demos Css ----*/
.header-area-bentogrid {
  width: 100%;
  z-index: 99;
  position: sticky;
  top: 0;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .header-area-bentogrid {
    position: fixed;
    bottom: 0;
    top: auto;
  }
}

@media only screen and (max-width: 767px) {
  .header-area-bentogrid {
    position: fixed;
    bottom: 0;
    top: auto;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .header-area-bentogrid .logo {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .header-area-bentogrid .logo {
    display: none;
  }
}

@media only screen and (max-width: 1199px) {
  .header-area-bentogrid .header-right-info {
    display: none !important;
  }
}

.header-area-bentogrid .menu-container {
  background-color: var(--color-card);
  padding: 10px 10px 10px 24px;
  display: flex;
  width: 100%;
  align-items: center;
  gap: 15px;
  box-shadow: 0 1px 2px 0 rgba(26, 31, 44, 0.25);
  border-radius: 8px;
  border: 2px solid var(--color-border);
  z-index: 5;
}

@media only screen and (max-width: 575px) {
  .header-area-bentogrid .menu-container {
    padding: 5px 0px 5px 0px;
  }
}

.header-area-bentogrid .menu-container .tmp-light {
  z-index: 1 !important;
}

#tmp-page-content-bento {
  padding: 24px 0 24px 0;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  #tmp-page-content-bento {
    padding: 24px 0 100px 0;
  }
}

@media only screen and (max-width: 767px) {
  #tmp-page-content-bento {
    padding: 24px 0 100px 0;
  }
}

@media only screen and (max-width: 575px) {
  #tmp-page-content-bento {
    padding: 24px 0 140px 0;
  }
}

.tmp-profile-card {
  border: 0;
  background-color: #010d16;
  box-shadow: 0 1px 2px 0 rgba(26, 31, 44, 0.25);
  border-radius: 8px;
  height: 100%;
}

.tmp-profile-card image {
  background-color: #010d16;
  border-radius: 8px;
  overflow: hidden;
}

.tmp-profile-card .text {
  margin-top: 9px;
}

.tmp-profile-card .text .card-title {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.333em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.tmp-profile-card .text p {
  margin-top: 8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em;
  margin-bottom: 20px;
}

.tmp-profile-card .text p span {
  color: var(--color-primary);
  font-weight: 600;
}

.tmp-card-body {
  padding: 24px;
}

.mySwiper-bentogrid .swiper-button-next,
.mySwiper-bentogrid .swiper-button-prev {
  height: 45px;
  width: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  border-radius: 50%;
  opacity: 0;
  transition: 0.3s;
}

.mySwiper-bentogrid .swiper-button-next i,
.mySwiper-bentogrid .swiper-button-prev i {
  color: #fff;
}

.mySwiper-bentogrid .swiper-button-next::after,
.mySwiper-bentogrid .swiper-button-prev::after {
  display: none;
}

.mySwiper-bentogrid:hover .swiper-button-next,
.mySwiper-bentogrid:hover .swiper-button-prev {
  opacity: 1;
}

@keyframes scrolling {
  0% {
    transform: translateX(35%);
  }

  to {
    transform: translateX(calc(-100% - 1.5rem));
  }
}

#tmp-page-content-bento .tmponhover::after {
  border-radius: 8px !important;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

@keyframes scrollY {
  0% {
    transform: translateY(0);
  }

  to {
    transform: translateY(calc(-100% - 1rem));
  }
}

/*----Template Style----*/

/*---------------------
    Card Styles  
----------------------*/
.tmp-breadcrumb-image {
  height: 400px;
}

@media only screen and (max-width: 767px) {
  .tmp-breadcrumb-image {
    height: 250px;
  }
}

.sticky-top {
  z-index: 10 !important;
}

.sticky-top.tmp-sticky-top {
  padding: 0 !important;
  margin: 0 !important;
}

.tmp-contact-about-inner {
  padding: 30px;
  border-radius: 10px;
  border: 2px solid var(--color-border);
  background: #010d16;
  text-align: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .tmp-contact-about-inner {
    padding: 20px 15px;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tmp-contact-about-inner {
    display: flex;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-contact-about-inner {
    display: flex;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-contact-about-inner {
    display: flex;
    padding: 30px 15px;
  }
}

@media only screen and (max-width: 575px) {
  .tmp-contact-about-inner {
    display: block;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tmp-contact-about-inner .content {
    text-align: left;
    padding-left: 30px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-contact-about-inner .content {
    text-align: left;
    padding-left: 30px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-contact-about-inner .content {
    text-align: left;
    padding-left: 30px;
  }
}

@media only screen and (max-width: 575px) {
  .tmp-contact-about-inner .content {
    padding-left: 0;
  }
}

.tmp-contact-about-inner .thumbnail {
  margin-bottom: 28px;
  overflow: hidden;
  border-radius: 10px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .tmp-contact-about-inner .thumbnail {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 1199px) {
  .tmp-contact-about-inner .thumbnail {
    margin-bottom: 0;
  }
}

.tmp-contact-about-inner .thumbnail img {
  width: 100%;
  transition: var(--transition);
  max-width: 300px;
  border-radius: 10px;
}

@media only screen and (max-width: 1199px) {
  .tmp-contact-about-inner .thumbnail img {
    max-width: max-content;
    margin-bottom: 0;
  }
}

.tmp-contact-about-inner .active {
  display: block;
  position: relative;
  max-width: max-content;
  margin: auto;
}

.tmp-contact-about-inner .active::after {
  content: "";
  right: -13px;
  top: 12px;
  height: 6px;
  width: 6px;
  background: var(--color-success);
  position: absolute;
  border-radius: 50%;
}

.tmp-contact-about-inner .subtitle {
  font-family: var(--font-secondary);
  color: var(--color-body);
  font-weight: 600;
}

.tmp-contact-about-inner .description {
  margin-bottom: 25px;
}

@media only screen and (min-width: 1200px) and (max-width: 1599px) {
  .tmp-contact-about-inner .description {
    margin-bottom: 5px;
  }
}

.tmp-contact-about-inner .description p {
  font-size: 16px;
  font-weight: 400;
  color: var(--color-body);
  font-family: var(--font-secondary);
  line-height: 28px;
  display: inline-block;
  margin-bottom: 20px;
}

.tmp-contact-about-inner .description span {
  display: block;
  font-family: var(--font-secondary);
  color: var(--color-body);
}

@media only screen and (max-width: 767px) {
  .tmp-contact-about-inner .description span {
    font-size: 16px;
  }
}

.tmp-contact-about-inner .description span a {
  transition: var(--transition);
  position: relative;
  color: var(--color-body);
  font-weight: 400;
}

.tmp-contact-about-inner .description span a::before {
  content: "";
  position: absolute;
  width: 0%;
  background-color: var(--color-primary);
  height: 1px;
  left: 0;
  bottom: 2px;
  transition: var(--transition);
  z-index: 10;
}

.tmp-contact-about-inner .description span a:hover {
  color: var(--color-primary);
}

.tmp-contact-about-inner .description span a:hover::before {
  width: 100%;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .tmp-contact-about-inner .social-link {
    justify-content: flex-start !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-contact-about-inner .social-link {
    justify-content: flex-start !important;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-contact-about-inner .social-link {
    justify-content: flex-start !important;
  }
}

.tmp-contact-about-inner::after {
  content: " ";
  position: absolute;
  right: -450px;
  bottom: -500px;
  min-width: 474px;
  min-height: 474px;
  border-radius: 100px;
  filter: blur(227px);
  z-index: 1;
  background: var(--color-primary);
}

.tmp-all-tab-content {
  background: var(--color-card-wrapper);
  padding: 40px;
  border-radius: 10px;
  border: 2px solid var(--color-border);
}

@media only screen and (max-width: 767px) {
  .tmp-all-tab-content {
    padding: 20px;
  }
}

@media only screen and (max-width: 575px) {
  .tmp-all-tab-content {
    padding: 5px;
  }
}

.for-animation-inner {
  padding: 50px;
  background: var(--color-card);
  grid-row-gap: 2.78rem;
  border: 1px solid var(--stroke-dark-100);
  background-image: url(../images/bg/bg-footer.webp);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 15px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 5.28rem 12.22rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

@media only screen and (max-width: 575px) {
  .for-animation-inner {
    padding: 27px 26px;
  }
}

.for-animation-inner::before {
  content: "";
  position: absolute;
  inset: 0px;
  border-radius: inherit;
  border: 1px solid transparent;
  background-clip: border-box;
  -webkit-mask: var(--full) padding-box, var(--full);
  -webkit-mask-composite: xor;
  mask: var(--full) padding-box exclude, var(--full);
  pointer-events: none;
  background: linear-gradient(127deg, #7ee1fa 0%, rgba(126, 225, 250, 0) 15.02%, rgba(126, 225, 250, 0) 100%) border-box, linear-gradient(-53deg, #7ee1fa 0%, rgba(126, 225, 250, 0) 15.02%, rgba(126, 225, 250, 0) 100%) border-box;
  z-index: 1;
}

.modal-backdrop {
  background-color: transparent;
}

.modal.fade {
  transition: opacity 0.1s linear;
}

body.modal-open {
  padding-right: 0 !important;
  overflow: visible !important;
}

.modal {
  /* Track */
  /* Handle */
  /* Handle on hover */
  z-index: 99999999;
  background: var(--color-page);
  padding: 60px 15px !important;
}

.modal::-webkit-scrollbar {
  width: 5px;
}

.modal::-webkit-scrollbar-track {
  background: #555;
}

.modal::-webkit-scrollbar-thumb {
  background: var(--color-primary);
}

.modal::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.modal.modal-boxed-home {
  width: calc(100% - 50px) !important;
  left: 50%;
  transform: translateX(-50%);
}

.modal .modal-news {
  max-width: 1000px !important;
}

.modal .modal-dialog {
  width: 100%;
  max-width: 1230px;
}

.modal .modal-dialog .modal-content {
  padding: 30px;
  border-radius: 10px;
  overflow: hidden;
  z-index: 1;
  border: 2px solid var(--color-border);
  background: #010d16;
}

.modal .modal-dialog .modal-content::after {
  content: " ";
  position: absolute;
  right: -450px;
  bottom: -500px;
  min-width: 474px;
  min-height: 474px;
  border-radius: 100px;
  filter: blur(227px);
  z-index: 1;
  background: var(--color-primary);
}

@media only screen and (max-width: 767px) {
  .modal .modal-dialog .modal-content {
    padding: 30px;
  }
}

@media only screen and (max-width: 479px) {
  .modal .modal-dialog .modal-content {
    padding: 40px 15px 25px 15px;
  }
}

.modal .modal-dialog .modal-content .modal-header {
  padding: 0;
  border: none;
}

.modal .modal-dialog .modal-content .modal-header .close {
  padding: 1rem 1rem;
  margin: -1rem -1rem -1rem auto;
  display: inline-block;
  width: 0;
  right: 44px;
  position: absolute;
  top: 18px;
  opacity: 1;
  transition: var(--transition);
}

.modal .modal-dialog .modal-content .modal-header .close span {
  color: var(--color-white);
  position: relative;
  z-index: 1;
  transition: var(--transition);
}

.modal .modal-dialog .modal-content .modal-header .close span svg {
  width: 22px;
  height: auto;
  position: relative;
  top: -1px;
}

.modal .modal-dialog .modal-content .modal-header .close span::after {
  content: "";
  position: absolute;
  transition: var(--transition);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--background-color-1);
  opacity: 1;
  z-index: -1;
}

.modal .modal-dialog .modal-content .modal-header .close:hover span {
  color: var(--color-primary);
}

.modal .carousel {
  position: relative;
}

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
}

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.5;
}

.modal-body .modal-feat-img {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.8rem;
  border-radius: 10px;
  vertical-align: middle;
}

.modal-backdrop.show {
  pointer-events: none;
  opacity: 0;
}

/*----Footer Style----*/

@keyframes sppeen-box {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*================================
   Footer Style One
  ================================*/

/*================================
   Footer Style two
  ================================*/

/*================================
   Newsletter Form 1
  ================================*/

/*================================
   Single Footer Wrapper
  ================================*/

/*================================
   FT Link
  ================================*/

/*================================
   Copyright Area One
  ================================*/

/*================================
   Newslatter
  ================================*/

.tmp-footer-area-style-net .inner * {
  font-weight: 400;
}

.tmp-footer-area-style-net .inner .title {
  font-size: 60px;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .tmp-footer-area-style-net .inner .title {
    font-size: 48px;
  }
}

@media only screen and (max-width: 767px) {
  .tmp-footer-area-style-net .inner .title {
    font-size: 40px;
  }
}

@media only screen and (max-width: 575px) {
  .tmp-footer-area-style-net .inner .title {
    font-size: 26px;
  }
}

body.tmp-white-version {
  background-color: #ECF0F3;
  --color-heading: #141414;
  --color-gray: #5d6570;
  --color-body: #2a2d31;
  --color-gray-2: linear-gradient(145deg, #e2e8ec, #ffffff);
  --color-border: #dce1e4;
  --stroke-dark-100: #dce1e4;
  --stroke-gr: linear-gradient(317deg, #13fdfd 0%, rgba(19, 215, 253, 1) 50%, rgba(19, 191, 253, 1) 62.96%, #FF9800 100%);
  --shadow-white: 5px 5px 15px #D1D9E6, -5px -5px 15px #ffffff;
  --gradient-white: linear-gradient(145deg, #e2e8ec, #ffffff);
}

body.tmp-white-version .tmp-banner-one-area.add-pattern::before,
body.tmp-white-version .tmp-body-box-pattern::before {
  background-image: linear-gradient(#554a4a, transparent 1px), linear-gradient(to right, #0c0a0a, transparent 1px);
}


body.tmp-white-version input::placeholder,
body.tmp-white-version textarea::placeholder {
  color: var(--color-gray);
}

body.tmp-white-version svg.radial-progress text {
  fill: #141414;
}


body.tmp-white-version .breadcrumb-area {
  background: #EDEDED;
}

body.tmp-white-version .tmp-round-action-btn {
  background: rgba(10, 10, 10, 0.06);
  color: var(--color-heading);
}

body.tmp-white-version .tmp-round-action-btn:hover {
  color: var(--color-white);
}

body.tmp-white-version .tmp-arrow-icon-btn:hover i.tmp-icon-bottom {
  color: var(--color-white);
}

body.tmp-white-version .logo img.logo-white {
  display: block;
}

body.tmp-white-version .logo img.logo-dark {
  display: none;
}

body.tmp-white-version .tmp-all-tab-content {
  background: #ffffff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

body.tmp-white-version .tmp-contact-about-inner {
  border-width: 1px;
}

body.tmp-white-version .for-animation-inner {
  background-image: none;
}

body.tmp-white-version .tmp-btn.tmp-modern-button:hover {
  background: var(--icon-gradient);
}

body.tmp-white-version .tmp-btn.tmp-modern-button:hover .btn-bg-hover {
  opacity: 0;
}

body.tmp-white-version .tmp-btn.tmp-modern-button:hover .btn-bg {
  opacity: 0;
}

body.tmp-white-version .tmp-portfolio-single-card {
  background: var(--color-border);
}

body.tmp-white-version .tmp-btn.tmp-modern-button .btn-bg {
  display: none;
}

body.tmp-white-version .tmp-btn.tmp-modern-button {
  border: 2px solid var(--color-border);
  box-shadow: var(--shadow-white);
  background: var(--gradient-white);
}

body.tmp-white-version .tmp-btn.tmp-modern-button:hover {
  border-color: var(--color-primary);
}

body.tmp-white-version .tmp-btn.tmp-modern-button .btn-hack::after {
  background: conic-gradient(from 148deg, transparent 46%, #333333 50%, transparent 54%);
}

body.tmp-white-version .tmponhover::after {
  display: none;
}

body.tmp-white-version .tmponhover,
body.tmp-white-version .tmp-contact-about-inner,
body.tmp-white-version .for-animation-inner,
body.tmp-white-version .progress-charts .progress,
body.tmp-white-version .social-link a,
body.tmp-white-version .tmp-intro-video-card-wrapper,
body.tmp-white-version .tmp-iv-close-button,
body.tmp-white-version .service-card-v1,
body.tmp-white-version .modal .modal-dialog .modal-content,
body.tmp-white-version .modal .modal-dialog .modal-content .modal-header .close span::after,
body.tmp-white-version .tmp-popup-mobile-menu .inner {
  background: var(--gradient-white);
}

body.tmp-white-version .tmponhover,
body.tmp-white-version .social-link a,
body.tmp-white-version .tmp-intro-video-card-wrapper,
body.tmp-white-version .tmp-iv-close-button,
body.tmp-white-version .service-card-v1,
body.tmp-white-version .modal .modal-dialog .modal-content,
body.tmp-white-version .modal .modal-dialog .modal-content .modal-header .close span::after {
  box-shadow: var(--shadow-white);
}

body.tmp-white-version .tmponhover,
body.tmp-white-version .tmp-contact-about-inner,
body.tmp-white-version .service-card-v1 {
  border: 0 none;
}

body.tmp-white-version .tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet {
  box-shadow: inset 0 0 0 7px #eef1f4;
}

body.tmp-white-version .tmp-swiper-pagination.tmp-swiper-pagination-01 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

body.tmp-white-version .modal {
  background: #ffffff;
}

body.tmp-white-version .modal .modal-dialog .modal-content .modal-header .close span svg,
body.tmp-white-version .modal .modal-dialog .modal-content .modal-header .close span {
  color: var(--color-heading);
}

body.tmp-white-version .progress {
  background-color: #f9f9f9;
}


body.tmp-white-version .get-in-touch-wrapper {
  box-shadow: var(--shadow-white);
}

body.tmp-white-version .year-of-expariance-wrapper {
  box-shadow: var(--shadow-white);
}

.tmp-white-version .tmp-right-demo .demo-button::before {
  content: "";
  background: linear-gradient(-45deg, #ee7752, #ff004b, #ff004b, #d52323);
  background-size: 400% 400%;
  animation: gradient 4s ease infinite;
  opacity: 1;
  backdrop-filter: blur(21px);
}

.tmp-white-version .tmp-right-demo * {
  color: #fff !important;
}

.tmp-white-version .tmponhover:hover .tmp-light,
.tmp-white-version .tmponhover.active .tmp-light {
  opacity: 0;
}

.intro_design_process_bg {
  column-gap: 35px;
  align-items: flex-start;
}

@media only screen and (max-width: 767px) {
  .intro_design_process_bg {
    display: none !important;
  }
}

.discoverbg {
  position: relative;
  border: 2px solid #252525;
  display: flex;
  flex-direction: column;
  padding: 75px 30px 90px 30px;
  max-width: 22.8%;
}

.discoverbg h4 {
  font-family: "Rajdhani", sans-serif;
  color: #FF9800;
  font-size: 36px;
  margin-bottom: 20px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 40px;
}

.discoverbg .content_box {
  margin-bottom: 20px;
}

.discoverbg .content_box label {
  font-family: var(--font-secondary);
  font-size: 14px;
  line-height: 12px;
  margin-bottom: 10px;
  font-weight: 500;
  color: #fff;
}

.discoverbg .content_box ul {
  padding-left: 20px;
}

.discoverbg .content_box ul li {
  list-style: disc;
  font-family: var(--font-secondary);
  font-size: 14x;
  color: #9F9F9F;
  font-weight: 400;
  line-height: 20px;
  margin-top: 0px;
  margin-bottom: 0px;
}

.discoverbg.box1 {
  border-radius: 0px 148px 46px 46px;
  margin-top: 208px;
}

.discoverbg.box2 {
  padding-top: 130px;
  border-radius: 148px 148px 0px 46px;
  margin-top: 19px;
}

.discoverbg.box3 {
  padding-top: 100px;
  padding-bottom: 40px;
  border-radius: 148px 148px 0px 46px;
  margin-top: 307px;
}

.discoverbg.box4 {
  padding-top: 120px;
  padding-bottom: 50px;
  border-radius: 148px 0px 46px 46px;
  margin-top: 0px;
}

.processarw {
  position: absolute;
  width: 58px;
  height: 58px;
}

.processarw.arw1 {
  top: -77px;
  right: -21px;
}

.processarw.arw2 {
  top: 208px;
  right: -80px;
  transform: rotate(60deg)
}

.processarw.arw3 {
  top: -27px;
  right: -21px;
}

.restarticon {
  position: absolute;
  width: 25px;
  height: 30px;
  bottom: 10px;
  right: 10px;
}

/* ================================
   GLOBAL RESPONSIVE FIXES
================================ */
img {
  max-width: 100%;
  height: auto;
}

.container {
  padding-left: 16px;
  padding-right: 16px;
}

/* ================================
   HERO / BANNER FIX
================================ */
@media (max-width: 991px) {
  .tmp-banner-one-area {
    text-align: center;
  }

  .banner-one-main-wrapper .row {
    flex-direction: column;
  }

  .banner-right-content img {
    max-width: 280px;
    margin: 0 auto 24px;
  }

  .banner-big-text-2 {
    font-size: clamp(32px, 10vw, 64px);
    letter-spacing: 2px;
  }

  .title {
    font-size: clamp(28px, 6vw, 42px);
  }
}

/* ================================
   COUNTERS FIX (BIG NUMBERS)
================================ */
@media (max-width: 768px) {

  .counter,
  .year-number {
    font-size: clamp(48px, 14vw, 72px) !important;
    line-height: 1;
  }
}

/* ================================
   SKILLS SECTION FIX
================================ */
@media (max-width: 991px) {

  .card-title {
    margin-bottom: 12px;
  }
}

/* ================================
   PORTFOLIO GRID FIX
================================ */
@media (max-width: 767px) {

  .latest-portfolio-area .col-lg-6,
  .latest-portfolio-area .col-sm-6 {
    width: 100%;
  }

  .portfolio-card-content-wrap {
    flex-direction: column;
    gap: 12px;
  }
}

/* ================================
   TESTIMONIAL FIX
================================ */
@media (max-width: 768px) {
  .testimonial-card h2 {
    font-size: 1.4rem !important;
    line-height: 1.6;
    min-width: auto !important;
  }
}

/* ================================
   FOOTER FIX
================================ */

/* ================================
   NAV DROPDOWN TAP FIX
================================ */
@media (max-width: 1200px) {
  .tmp-mainmenu .dropdown-menu {
    font-size: 1rem;
  }
}

/* =========================================
   MOBILE CENTER ALIGN – TAILORED DESIGN
========================================= */
@media (max-width: 991px) {

  /* Section heading */

  /* Card layout stack */

  /* Remove fixed widths */

  /* Card title center */

  /* List alignment */

}

/* =========================================
   CLIENT LOGO SIZE – RESPONSIVE
========================================= */

/* Tablet */
@media (max-width: 991px) {
  .support-company-logo img {
    max-height: 70px;
    width: auto;
  }
}

/* Mobile */
@media (max-width: 576px) {
  .support-company-logo img {
    max-height: 90px;
    width: auto;
  }

  .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}


@media (max-width: 576px) {
  .support-company-logo {
    padding: 16px 0;
  }
}


/* =========================================
   PORTFOLIO IMAGE FIX – MOBILE
========================================= */
@media (max-width: 991px) {

  .tilted-card-container {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 220px;
    border-radius: 16px;
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
  }

}


@media (max-width: 991px) {
  .tilted-card-container * {
    pointer-events: none;
  }
}

/* =========================================
   MOBILE MENU TOGGLE FIX
========================================= */

.tmp-popup-mobile-menu {
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: all 0.35s ease;
}

.tmp-popup-mobile-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* =========================================
   MOBILE MENU – BACKDROP BLUR
========================================= */
.tmp-popup-mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  transform: translateX(100%);
  transition: all 0.35s ease;
}

.tmp-popup-mobile-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* =========================================
   HAMBURGER ANIMATION
========================================= */
.hamberger-menu {
  transition: transform 0.3s ease;
}

.hamberger-menu.active {
  transform: rotate(90deg);
}

.hamberger-menu.active::before {
  content: "\f00d";
  /* FontAwesome X */
  font-family: "Font Awesome 6 Free";
}

/* =========================================
   TRUE FULLSCREEN MOBILE MENU (EDGE-TO-EDGE)
========================================= */

/* min-height, not height: height:100% here capped <html> to the viewport and
   made <body> the scroll container, so window.scrollY stayed 0 and no window
   scroll event ever fired. That silently killed every scroll-linked animation
   on the site (hero parallax, copy fade, impact-scene parallax, back-to-top
   fill). The fullscreen menus below are position:fixed with 100vh/100dvh, so
   they never needed a fixed height on the document. */
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 100%;
}

.tmp-popup-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;

  width: 100vw;
  height: 100vh;

  margin: 0;
  padding: 0;

  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  z-index: 10000;

  opacity: 0;
  visibility: hidden;
  transform: translateY(100%);
  transition: transform 0.35s ease, opacity 0.3s ease;
}

/* Active */
.tmp-popup-mobile-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* Kill container-style constraints */
.tmp-popup-mobile-menu .inner {
  width: 100%;
  max-width: 100% !important;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Remove bootstrap padding inside mobile menu */
.tmp-popup-mobile-menu .container,
.tmp-popup-mobile-menu .row,
.tmp-popup-mobile-menu [class*="col-"] {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Center nav links */
.tmp-popup-mobile-menu .tmp-mainmenu {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.tmp-popup-mobile-menu .tmp-mainmenu a {
  font-size: 1.6rem;
  font-weight: 500;
}

.tmp-popup-mobile-menu {
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
}

@media (max-width: 576px) {
  .tmp-popup-mobile-menu .tmp-mainmenu a {
    font-size: 1.4rem;
  }
}

/* =========================================
   STAGGERED MENU LINK ANIMATION
========================================= */

/* Initial hidden state */
.tmp-popup-mobile-menu .tmp-mainmenu li {
  opacity: 0;
  transform: translateY(20px);
}

/* Animate when menu opens */
.tmp-popup-mobile-menu.active .tmp-mainmenu li {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.45s ease,
    transform 0.45s ease;
}

/* Stagger delays */
.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(1) {
  transition-delay: 0.05s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(2) {
  transition-delay: 0.10s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(3) {
  transition-delay: 0.15s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(4) {
  transition-delay: 0.20s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(5) {
  transition-delay: 0.25s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(6) {
  transition-delay: 0.30s;
}

.tmp-popup-mobile-menu.active .tmp-mainmenu li:nth-child(7) {
  transition-delay: 0.35s;
}

.tmp-popup-mobile-menu .tmp-mainmenu a {
  transform: scale(0.98);
}

.tmp-popup-mobile-menu.active .tmp-mainmenu a {
  transform: scale(1);
  transition: transform 0.45s ease;
}

/* =========================================
   MOBILE PORTFOLIO MENU FIX
========================================= */

@media (max-width: 1200px) {

  /* Hide submenus by default */
  .tmp-popup-mobile-menu .dropdown-menu {
    display: none;
    padding-left: 0;
  }

  /* Open state */
  .tmp-popup-mobile-menu .case-dropdown.open>.dropdown-menu,
  .tmp-popup-mobile-menu .dropdown-submenu.open>.dropdown-menu {
    display: block;
  }

  /* Make parent items clearly tappable */
  .tmp-popup-mobile-menu .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  /* Arrow indicator */
  .tmp-popup-mobile-menu .dropdown-toggle::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1rem;
    transform: rotate(0deg);
    transition: transform 0.25s ease;
  }

  /* Rotate arrow when open */
  .tmp-popup-mobile-menu .open>.dropdown-toggle::after {
    transform: rotate(180deg);
  }

  /* Submenu links styling */
  .tmp-popup-mobile-menu .dropdown-menu a {
    font-size: 1.3rem;
    opacity: 0.9;
    padding: 10px 0;
  }
}

/* =========================================
   MOBILE MENU HEADER FIX (LOGO + X)
========================================= */

.tmp-popup-mobile-menu .header-top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;

  width: 100%;
  height: 64px;

  padding: 16px 20px;
  box-sizing: border-box;
}

/* Logo */
.tmp-popup-mobile-menu .header-top .logo {
  display: flex;
  align-items: center;
}

.tmp-popup-mobile-menu .header-top .logo img {
  max-height: 36px;
  width: auto;
}

/* Close button wrapper */
.tmp-popup-mobile-menu .close-menu {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Close button */

/* X icon */

.tmp-popup-mobile-menu .header-top *,
.tmp-popup-mobile-menu .header-top {
  margin: 0;
}

/* =========================================
   HAMBURGER + CLOSE ICON COLOR
========================================= */

.humberger-menu {
  color: #FF9800;
  transition: transform 0.35s ease, opacity 0.25s ease;
}

/* =========================================
   HAMBURGER MORPH ANIMATION
========================================= */

#menuBtn {
  font-size: 24px;
  transition: transform 0.35s ease, color 0.3s ease;
}

/* When menu is open */
#menuBtn.active {
  transform: rotate(180deg);
}

/* =========================================
   CLOSE BUTTON (X) ANIMATION
========================================= */

/* =========================================
   FOOTER CONTACT – FORCE ICON TOP, TEXT BELOW
   (WORKS WITH CURRENT HTML)
========================================= */

@media (max-width: 768px) {

  /* Reset list item layout */

  /* Icon on first line */

  /* Every link on its own line */
}

/* =========================================
   FOOTER ICON SUBTLE ANIMATION
========================================= */

@media (max-width: 768px) {

  /* Base icon style */

  /* Pause animation on interaction */
}

/* Floating animation */
@keyframes footerIconFloat {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-4px);
  }

  100% {
    transform: translateY(0);
  }
}

/* =========================================
   FOOTER CONTACT ICON – HARD RESET (MOBILE)
========================================= */

@media (max-width: 768px) {

  /* Kill the box completely */

  /* Icon itself */
}

/* =========================================
   FOOTER CONTACT – REMOVE ROUNDED ROW BOX
========================================= */

@media (max-width: 768px) {

  /* Remove pill/box from contact rows */

}

/* =========================================
   FOOTER CONTACT – FORCE REMOVE ALL PILLS
   (LI + ::before + ::after)
========================================= */

@media (max-width: 768px) {

  /* Kill the pill container */

  /* Remove padding/margins that create pill shape */

}

/* =========================================
   NOUPE AI CHAT – KEEP VISIBLE AND RESIZE ON MOBILE
========================================= */

/* Chat widget is now visible on all devices */

@media (max-width: 768px) {

  /* Scale down the Noupe chat widget to match WhatsApp icon size (~40px) */
  
  div[id*="noupe"],
  div[class*="noupe"] {
    display: none !important;
  }
}

@media (max-width: 1200px) {

  .tmp-popup-mobile-menu {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.92);
    backdrop-filter: blur(14px);
    z-index: 10000;

    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: all 0.35s ease;
  }

  .tmp-popup-mobile-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .tmp-popup-mobile-menu .inner {
    width: 100%;
    height: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
  }

  .tmp-popup-mobile-menu .tmp-mainmenu {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 18px;
  }
}

@media (max-width: 768px) {

  /* Remove theme animation pill */

  /* Stack icon + text */
}

/* =========================================
   GLOBAL RESPONSIVE FIX
========================================= */

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

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1200px) {

  .tmp-popup-mobile-menu {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(14px);
    z-index: 10000;

    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    transition: transform 0.35s ease, opacity 0.3s ease;
  }

  .tmp-popup-mobile-menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .tmp-popup-mobile-menu .inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .tmp-popup-mobile-menu .tmp-mainmenu {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 18px;
    text-align: center;
  }

  .tmp-popup-mobile-menu .tmp-mainmenu a {
    font-size: 1.6rem;
  }
}

@media (max-width: 768px) {

  /* Kill tmp-link-animation pills */
}

@media (max-width: 768px) {

  h1 {
    font-size: 2.6rem;
  }

  h2 {
    font-size: 2.2rem;
  }

  h3 {
    font-size: 1.8rem;
  }
}

/* =========================================
   MY CREATIVE ARSENAL – FINAL MOBILE FIX
   (WORKS WITH CURRENT <p><img><b><br> STRUCTURE)
========================================= */

@media (max-width: 768px) {

  /* Each paragraph becomes a vertical list */
  .progress-charts p {
    font-size: 1.2rem;
    line-height: 1.5;
  }

  /* Icon = left column */
  .progress-charts p img {
    float: left;
    width: 40px !important;
    height: 40px !important;
    margin: 4px 14px 24px 0 !important;
  }

  /* Title (FIGMA, SKETCH, etc.) */
  .progress-charts p b {
    display: block;
    font-size: 1.25rem;
    margin-bottom: 4px;
  }

  /* Clear float after each tool block */
  .progress-charts p br+br {
    display: block;
    content: "";
    clear: both;
    margin-bottom: 20px;
  }

  /* Ensure text wraps cleanly */
  .progress-charts p {
    overflow: hidden;
  }
}

/* =========================================
   CREATIVE ARSENAL – MOBILE REFACTOR
========================================= */

@media (max-width: 768px) {

  /* Keep desktop version visible but style it for mobile */
  .tmp-skill-area {
    display: block;
    padding: 40px 0;
  }

  /* Mobile-specific styling for skill area */
  .tmp-skill-area .container {
    padding: 0 15px;
  }

  .tmp-skill-area .progress-charts {
    margin-bottom: 16px;
  }

  .tmp-skill-area .progress-charts .progress {
    height: 8px;
  }

  .tmp-skill-area .title {
    font-size: 2rem;
    margin-bottom: 30px;
    text-align: center;
  }

  /* Keep mobile version hidden if it doesn't exist */
  .tmp-skill-area-mobile {
    display: none;
  }
}

/* =========================================
   CREATIVE ARSENAL – ICON SIZE FIX (MOBILE)
========================================= */

/* =========================================
   SKILL AREA – KEEP VISIBLE ON MOBILE
   (Desktop version is now styled for mobile)
========================================= */

@media (max-width: 768px) {

  /* Override any display:none - keep skill area visible */
  .tmp-skill-area {
    display: block !important;
  }
}

/* =========================================
   HARD ICON SIZE OVERRIDE (MOBILE)
========================================= */

@media (max-width: 768px) {

  /* Any icon inside Creative Arsenal (even with inline styles) */
  .tmp-skill-area-mobile img,
  .tmp-skill-area-mobile svg {
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 768px) {
  .tmp-skill-area-mobile img {
    opacity: 0.9;
  }
}

/* =========================================
   COMPREHENSIVE RESPONSIVENESS FIXES
   Added: January 2026
========================================= */

/* ================================
   HERO SECTION – MOBILE
================================ */
@media (max-width: 576px) {
  .tmp-banner-one-area {
    padding: 100px 0 60px;
  }

  .banner-one-main-wrapper .inner .title {
    font-size: clamp(24px, 7vw, 36px) !important;
    line-height: 1.3;
  }

  .banner-one-main-wrapper .inner .title br {
    display: none;
  }

  .banner-one-main-wrapper .inner .disc {
    font-size: 1.4rem !important;
    line-height: 1.6;
    padding: 0 10px;
  }

  .banner-one-main-wrapper .inner .disc span {
    font-size: 1.4rem !important;
    line-height: 1.5;
  }

  .banner-big-text-2 {
    font-size: clamp(28px, 9vw, 48px) !important;
    letter-spacing: 2px;
  }

  .banner-right-content img {
    max-width: 220px;
    margin: 0 auto 20px;
  }

  .button-area-banner-one {
    justify-content: center;
    margin-top: 20px;
  }

  .button-area-banner-one .tmp-btn {
    padding: 12px 24px;
    font-size: 1.3rem;
  }
}

/* ================================
   COUNTERS – MOBILE
================================ */
@media (max-width: 576px) {
  .counter-area {
    padding: 40px 0;
  }

  .year-of-expariance-wrapper {
    padding: 24px 20px;
    margin-bottom: 20px;
  }

  .year-expariance-wrap h2,
  .year-number {
    font-size: clamp(48px, 12vw, 64px) !important;
    line-height: 1;
  }

  .year-title {
    font-size: 1.6rem !important;
    line-height: 1.3;
  }

  .year-para {
    font-size: 1.3rem !important;
    line-height: 1.6;
  }

  .counter-card {
    padding: 20px 16px;
    margin-bottom: 16px;
  }

  .counter-title {
    font-size: clamp(40px, 10vw, 56px) !important;
    line-height: 1;
  }

  .counter-para {
    font-size: 1.3rem !important;
    margin-top: 8px;
  }
}

/* ================================
   LEADERSHIP SECTION – MOBILE
================================ */
@media (max-width: 768px) {
  .latest-portfolio-area#leadership .section-head {
    padding: 0 15px;
  }

  .latest-portfolio-area#leadership .section-head span {
    font-size: 1.5rem !important;
    line-height: 1.5;
    display: block;
    margin-bottom: 12px;
  }
}

/* ================================
   CORE SKILLS PROGRESS BARS – MOBILE
================================ */
@media (max-width: 768px) {

  .progress-charts {
    margin-bottom: 16px;
  }

  .progress-charts .progress {
    height: 10px;
  }
}

/* ================================
   TAILORED DESIGN SKILLS CARDS – MOBILE
================================ */

/* ================================
   EDUCATION/EXPERIENCE – MOBILE
================================ */

/* ================================
   CLIENT LOGOS SWIPER – MOBILE
================================ */
@media (max-width: 576px) {
  .logo-swiper .swiper-slide {
    padding: 10px;
  }

  .support-company-logo {
    padding: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .support-company-logo img {
    max-height: 60px !important;
    width: auto;
    object-fit: contain;
  }
}

/* ================================
   PORTFOLIO TABS – MOBILE
================================ */
@media (max-width: 768px) {
  .latest-portfolio-area#portfolio .section-head {
    padding: 0 15px;
    text-align: center;
  }

  .latest-portfolio-area#portfolio .title {
    font-size: 2rem !important;
    line-height: 1.3;
  }
}

/* ================================
   PORTFOLIO CARDS – MOBILE
================================ */
@media (max-width: 768px) {
  .latest-portfolio-card {
    margin-bottom: 24px;
  }

  .tilted-card-container {
    min-height: 200px !important;
    width: 100% !important;
    height: auto !important;
  }

  .portfolio-card-content-wrap {
    padding: 12px 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .portfolio-card-title {
    font-size: 1.4rem !important;
  }

  .portfoli-card-para {
    font-size: 1.2rem !important;
    line-height: 1.5;
  }

  .tmp-arrow-icon-btn {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
}

/* ================================
   TESTIMONIALS – MOBILE
================================ */
@media (max-width: 768px) {
  .testimonial .section-head {
    padding: 0 15px;
  }

  .testimonial-card {
    padding: 20px 16px;
    margin-bottom: 24px;
  }

  .testimonial-card h2,
  .testimonial-card .card-content-wrap h2 {
    font-size: 1.3rem !important;
    line-height: 1.6 !important;
    min-width: unset !important;
  }

  .testimonital-icon img {
    width: 40px;
    height: 40px;
  }
}

/* ================================
   CONTACT FORM – MOBILE
================================ */
@media (max-width: 768px) {
  .get-in-touch-area .section-head {
    text-align: center;
    margin-bottom: 30px;
  }

  .get-in-touch-area .title {
    font-size: 2rem !important;
    line-height: 1.3;
  }

  .get-in-touch-area .description {
    font-size: 1.3rem !important;
  }

  .contact-form-wrapper .form-group {
    margin-bottom: 16px;
  }

  .contact-form-wrapper .input-field {
    padding: 12px 16px;
    font-size: 1.4rem;
  }

  .contact-form-wrapper textarea.input-field {
    min-height: 120px;
  }
}

/* ================================
   FOOTER – MOBILE
================================ */

/* ================================
   GENERAL MOBILE SPACING FIXES
================================ */
@media (max-width: 768px) {
  .tmp-section-gap {
    padding: 60px 0;
  }

  .tmp-section-gapTop {
    padding-top: 60px;
  }

  .mb--60 {
    margin-bottom: 30px !important;
  }

  .mb--50 {
    margin-bottom: 25px !important;
  }

  .section-head .title {
    font-size: clamp(1.8rem, 5vw, 2.4rem) !important;
    line-height: 1.3;
  }

  .section-head .subtitle {
    font-size: 1.2rem !important;
  }

  .section-head .description {
    font-size: 1.3rem !important;
    line-height: 1.6;
  }
}

/* ================================
   HEADER/NAV – MOBILE FIXES
================================ */
@media (max-width: 576px) {
  .tmp-header-area-start {
    margin-top: 10px;
  }

  .header-content .logo img {
    max-width: 60px;
  }

  .tmp-side-collups-area .hamberger-menu {
    padding: 8px;
  }

  .tmp-side-collups-area .hamberger-menu i {
    font-size: 1.8rem;
  }
}

/* Mobile Menu Fixes */
@media (max-width: 1200px) {
  .tmp-popup-mobile-menu .inner {
    padding: 20px;
  }

  .tmp-popup-mobile-menu .header-top {
    margin-bottom: 24px;
  }

  .tmp-popup-mobile-menu .logo img {
    max-width: 60px;
  }

  .tmp-popup-mobile-menu .tmp-mainmenu li {
    margin-bottom: 16px;
  }

  .tmp-popup-mobile-menu .tmp-mainmenu a {
    font-size: 1.5rem !important;
    padding: 10px 0;
  }
}

/* ================================
   FLOATING BUTTONS – MOBILE
================================ */
@media (max-width: 576px) {

  .scrollToTop {
    bottom: 20px !important;
    right: 80px !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 1010 !important;
  }
}

/* ================================
   PREVENT HORIZONTAL OVERFLOW
================================ */
@media (max-width: 768px) {

  html,
  body {
    overflow-x: hidden;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }

  .row {
    margin-left: -8px;
    margin-right: -8px;
  }

  .row>* {
    padding-left: 8px;
    padding-right: 8px;
  }
}

/* ================================
   INLINE STYLE OVERRIDES – MOBILE
================================ */
@media (max-width: 768px) {

  /* Override inline font-sizes in leadership section */

  /* Override inline counter font-sizes */

  /* Override min-width in testimonials */
}

/* ================================
   SMOOTH SCROLLING AND TRANSITIONS
================================ */
@media (max-width: 768px) {
  * {
    -webkit-tap-highlight-color: transparent;
  }

  a,
  button {
    touch-action: manipulation;
  }
}

/* =========================================
   FOOTER QUICK LINK – CENTERED ON MOBILE
========================================= */
@media (max-width: 768px) {

  /* Center the Quick Link wrapper */

  /* Also center the contact section in footer */
}

/* =========================================
   CONTACT FORM SECTION – MOBILE FIX
========================================= */
@media (max-width: 768px) {

  /* Stack the contact section properly */
  .get-in-touch-area {
    padding: 60px 0;
  }

  .get-in-touch-area .container {
    padding: 0 15px;
  }

  .get-in-touch-wrapper {
    padding: 20px 15px;
  }

  /* Stack heading and form */
  .get-in-touch-area .row {
    flex-direction: column;
  }

  .get-in-touch-area .col-lg-5,
  .get-in-touch-area .col-lg-7 {
    width: 100%;
    max-width: 100%;
  }

  /* Center the section heading */
  .get-in-touch-area .section-head {
    text-align: center;
    margin-bottom: 30px;
  }

  .get-in-touch-area .section-head .text-align-left {
    text-align: center !important;
  }

  .get-in-touch-area .section-sub-title {
    justify-content: center;
  }

  .get-in-touch-area .title {
    font-size: 2rem !important;
    line-height: 1.3;
    text-align: center;
  }

  .get-in-touch-area .description {
    font-size: 1.3rem !important;
    line-height: 1.6;
    text-align: center;
  }

  .get-in-touch-area .description br {
    display: none;
  }

  /* Form fields */
  .contact-form-wrapper .col-lg-6 {
    width: 100%;
    max-width: 100%;
  }

  .contact-form-wrapper .form-group {
    margin-bottom: 16px;
  }

  .contact-form-wrapper .input-field {
    width: 100%;
    padding: 14px 16px;
    font-size: 1.4rem;
    border-radius: 8px;
  }

  .contact-form-wrapper textarea.input-field {
    min-height: 120px;
    resize: vertical;
  }

  /* Center the submit button */
  .contact-form-wrapper .tmp-button-here {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-bottom: 30px;
  }

  .contact-form-wrapper .tmp-btn {
    width: 100%;
    max-width: 280px;
    justify-content: center;
  }
}

/* =========================================
   CONTACT FORM – EXTRA SMALL SCREENS
========================================= */
@media (max-width: 480px) {
  .get-in-touch-wrapper {
    padding: 15px 10px;
  }

  .get-in-touch-area .title {
    font-size: 1.8rem !important;
  }

  .contact-form-wrapper .input-field {
    padding: 12px 14px;
    font-size: 1.3rem;
  }

  .contact-form-wrapper .tmp-btn {
    max-width: 100%;
    padding: 12px 20px;
    font-size: 1.3rem;
  }
}

/* =========================================
   CONNECT WITH ME CTA – TEXT CENTERED
========================================= */
@media (max-width: 768px) {

  /* Center the button container */
  .button-area-banner-one {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  /* Fix the CTA button text alignment */
  .button-area-banner-one .tmp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .button-area-banner-one .tmp-btn .icon-reverse-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    gap: 8px;
  }

  /* Reset the negative margin that misaligns text */
  .button-area-banner-one .tmp-btn .btn-text {
    margin-inline-start: 0 !important;
    margin-left: 0 !important;
    text-align: center;
  }

  /* Keep one arrow icon visible */
  .button-area-banner-one .tmp-btn .btn-icon {
    display: inline-flex !important;
    align-items: center;
    margin-left: 6px;
  }

  /* Hide the duplicate arrow icon */
  .button-area-banner-one .tmp-btn .btn-icon+.btn-icon {
    display: none !important;
  }

  /* Also fix for all tmp-btn with hover-icon-reverse on mobile */
  .tmp-btn.hover-icon-reverse .btn-text {
    margin-inline-start: 0 !important;
  }

  .tmp-btn.hover-icon-reverse .icon-reverse-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* Extra small screens */
@media (max-width: 480px) {
  .button-area-banner-one .tmp-btn {
    padding: 12px 24px;
    font-size: 1.3rem;
    height: auto;
    line-height: 1.5;
    white-space: nowrap;
    min-height: 50px;
  }

  .button-area-banner-one .tmp-btn .btn-text {
    font-size: 1.3rem;
  }
}

/* =========================================
   RESPONSIVE HERO BACKGROUND FIX
   Added: January 2026
========================================= */

@media (max-width: 991px) {

  /* Set background image on the main banner area - using !important to override specificity issues */
  .tmp-banner-one-area.add-pattern,
  .tmp-banner-one-area {
    background-image: url('../images/banner/banner-user-image-one.webp') !important;
    background-size: cover !important;
    background-position: calc(35% + 120px) 100px !important;
    background-repeat: no-repeat !important;
    height: 100vh !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
  }

  /* Ensure overlay darkness serves as the only overlay, overriding any pattern */
  .tmp-banner-one-area.add-pattern::before,
  .tmp-banner-one-area::before {
    display: none !important;
  }

  /* Hide the foreground image */
  .banner-one-main-wrapper .banner-right-content img {
    display: none !important;
  }

  /* SHOW the text column but position it absolute */
  .banner-one-main-wrapper .inner {
    display: block !important;
    position: absolute !important;
    top: 18% !important;
    left: 20px !important;
    width: 85% !important;
    /* Constrain width to force wrapping and avoid subject */
    z-index: 10 !important;
    text-align: left !important;
    margin-top: 0 !important;
  }

  /* Style the Main Title */
  .banner-one-main-wrapper .inner .title {
    font-size: 35px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    margin-bottom: 30px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  }

  /* Style the rotating text (Curiosity/Imagination etc) to be Yellow/Orange */
  .banner-one-main-wrapper .inner .title .theme-gradient {
    background: none !important;
    -webkit-text-fill-color: #FF9800 !important;
    color: #FF9800 !important;
  }

  /* Show the description paragraph on mobile */
  .banner-one-main-wrapper .inner .disc {
    display: block !important;
    margin-top: 15px !important;
  }

  /* Style the Button Area to be visible */
  .banner-one-main-wrapper .inner .button-area-banner-one {
    margin-top: 20px !important;
    display: block !important;
  }

  /* Button specific styles for visibility on dark background */
  .banner-one-main-wrapper .inner .tmp-btn {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 10px 25px !important;
    font-size: 14px !important;
  }

  /* Adjust banner layout elements */
  .banner-one-main-wrapper,
  .banner-one-main-wrapper .row,
  .banner-one-main-wrapper .col-lg-6 {
    height: 100%;
    position: static;
  }

  /* Position the LAJAPATHY text at the bottom */
  .banner-one-main-wrapper .banner-right-content .banner-big-text-2 {
    position: absolute !important;
    bottom: -20px !important;
    left: 20px !important;
    right: auto !important;
    font-size: 42px !important;
    color: #FF9800;
    line-height: 1;
    -webkit-text-stroke: 1px #ffffff !important;
    color: transparent !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-start !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 10;
  }

}

/* LP V25 LinkedIn theme override */
.tmp-header-right .social-link a {
  width: 40px;
  height: 40px;
  color: #ff9800;
  background: rgba(255, 152, 0, 0.025);
  border: 1px solid rgba(255, 152, 0, 0.78);
  border-radius: 7px;
  box-sizing: border-box;
  font-size: 16px;
}
.tmp-header-right .social-link a::after {
  background: #ff9800;
  opacity: 0;
  border-radius: 7px;
}
.tmp-header-right .social-link a:hover {
  color: #050505;
  border-color: #ff9800;
}
.tmp-header-right .social-link a:hover::after {
  opacity: 1;
  transform: scale(1);
}
