/* ! normalize.css v1.0.0 | MIT License | git.io/normalize */
 
/* ==========================================================================
HTML5 display definitions
========================================================================== */
 
/* * Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. */
 
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary { display: block; }
/* * Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio, canvas, video { display: inline-block; display: inline; zoom: 1; }
/* * Prevents modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices. */
audio:not([controls]) { display: none; height: 0; }
/* * Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, * and Safari 4.
* Known issue:no IE 6 support. */
[hidden] { display: none; }
/* ==========================================================================
Base
========================================================================== */
/* * 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
*    `em` units.
* 2. Prevents iOS text size adjust after orientation change, without disabling
*    user zoom. */
 
html { font-size: 85%; /* 1 */
    -webkit-text-size-adjust: 85%; /* 2 */
-ms-text-size-adjust: 85%; /* 2 */ 
  }
/* * Addresses `font-family` inconsistency between `textarea` and other form
* elements. */
html, button, input, select, textarea { font-family: 'Lato', sans-serif; }
/* * Addresses margins handled incorrectly in IE 6/7. */
body { margin: 0; font-family: 'Lato', sans-serif; }
/* ==========================================================================
Links
========================================================================== */
/* * Addresses `outline` inconsistency between Chrome and other browsers. */
a:focus { outline: thin dotted; }
/* * Improves readability when focused and also mouse hovered in all browsers. */
a:active, a:hover { outline: 0; }
/* ==========================================================================
Typography
========================================================================== */
/* * Addresses font sizes and margins set differently in IE 6/7.
* Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, * and Chrome. */
 
h1 { font-size: 1.3em; margin: 0.67em 0; font-weight: 1900; }
h2 { font-size: 1.5em; margin: 0.83em 0; }
h3 { font-size: 1.17em; margin: 1em 0; }
h4 { font-size: 1em; margin: 1.33em 0; }
h5 { font-size: 0.83em; margin: 1.67em 0; }
h6 { font-size: 0.75em; margin: 2.33em 0; }
/* * Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. */
abbr[title] { border-bottom: 1px dotted; }
/* * Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
/* * Addresses styling not present in Safari 5 and Chrome. */
dfn { font-style: italic; }
/* * Addresses styling not present in IE 6/7/8/9. */
mark { background: #ff0; color: #000; }
/* * Addresses margins set differently in IE 6/7. */
p, pre { margin: 1em 0; }
/* * Corrects font family set oddly in IE 6, Safari 4/5, and Chrome. */
code, kbd, pre, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
/* * Improves readability of pre-formatted text in all browsers. */
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
/* * Addresses CSS quotes not supported in IE 6/7. */
q { quotes: none; }
/* * Addresses `quotes` property not supported in Safari 4. */
q:before, q:after { content: ''; content: none; }
small { font-size: 75%; }
/* * Prevents `sub` and `sup` affecting `line-height` in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
/* ==========================================================================
Lists
========================================================================== */
/* * Addresses margins set differently in IE 6/7. */
 
dl, menu, ol, ul { margin: 1em 0; }
dd { margin: 0 0 0 40px; }
/* * Addresses paddings set differently in IE 6/7. */
menu, ol, ul { padding: 0 0 0 40px; }
/* * Corrects list images handled incorrectly in IE 7. */
nav ul, nav ol { list-style: none; list-style-image: none; }
/* ==========================================================================
Embedded content
========================================================================== */
/* * 1. Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improves image quality when scaled in IE 7. */
 
img { border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */ }
/* * Corrects overflow displayed oddly in IE 9. */
svg:not(:root) { overflow: hidden; }
/* ==========================================================================
Figures
========================================================================== */
/* * Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
 
figure { margin: 0; }
/* ==========================================================================
Forms
========================================================================== */
/* * Corrects margin displayed oddly in IE 6/7. */
 
form { margin: 0; }
/* * Define consistent border, margin, and padding. */
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
/* * 1. Corrects color not being inherited in IE 6/7/8/9.
* 2. Corrects text not wrapping in Firefox 3.
* 3. Corrects alignment displayed oddly in IE 6/7. */
legend { border: 0; /* 1 */
    padding: 0; white-space: normal; /* 2 */
    margin-left: -7px; /* 3 */ }
/* * 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, *    and Chrome.
* 3. Improves appearance and consistency in all browsers. */
button, input, select, textarea { font-size: 100%; /* 1 */
    margin: 0; /* 2 */
    vertical-align: baseline; /* 3 */
    vertical-align: middle; /* 3 */ }
/* * Addresses Firefox 3+ setting `line-height` on `input` using ` !important` in
* the UA stylesheet. */
button, input { line-height: normal; }
/* * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type
*    `input` and others.
* 4. Removes inner spacing in IE 7 without affecting normal text inputs.
*    Known issue:inner spacing remains in IE 6. */
button, html input[type="button"], /* 1 */
input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
    overflow: visible; /* 4 */ }
/* * Re-set default cursor for disabled elements. */
button[disabled], input[disabled] { cursor: default; }
/* * 1. Addresses box sizing set to content-box in IE 8/9.
* 2. Removes excess padding in IE 8/9.
* 3. Removes excess padding in IE 7.
*    Known issue:excess padding remains in IE 6. */
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
    height: 13px; /* 3 */
    width: 13px; /* 3 */ }
/* * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
*    (include `-moz` to future-proof). */
input[type="search"] { -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box; }
/* * Removes inner padding and search cancel button in Safari 5 and Chrome
* on OS X. */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
/* * Removes inner padding and border in Firefox 3+. */
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
/* * 1. Removes default vertical scrollbar in IE 6/7/8/9.
* 2. Improves readability and alignment in all browsers. */
textarea { overflow: auto; /* 1 */
vertical-align: top; /* 2 */ }
/* ==========================================================================
Tables
========================================================================== */
/* * Remove most spacing between table cells. */
 
table { border-collapse: collapse; border-spacing: 0; }
/* ==========================================================================
Clearfix
========================================================================== */
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
* html .clearfix { zoom: 1; }
/* IE6 */
*:first-child+html .clearfix { zoom: 1; }
/* IE7 */

/* ==========================================================================
Headings
========================================================================== */

.hero h1 { font-size: 70px; font-weight: 500; color: #d1d9d2; letter-spacing: -1px; margin: 110px 0 20px 70px; }
.about-me h1 { font-size: 45px; font-weight: 100; color: #253326; margin: 100px 0 20px 0; }
.portfolio h1 { font-size: 45px; font-weight: 100; color: #d1d9d2; margin: 30px 0 30px 0; }
.testimonials h1 { color: #d1d9d2; font-size: 43px; font-weight: 100; margin: 20px 0 80px 0; font-style: italic; }
.latest-updates h1 { color: #253326; font-size: 15px; margin: 50px 0 50px 0; text-transform: uppercase; }
.modal-content h1 { font-size: 30px; font-weight: 100; color: #253326; margin: 100px 0 20px 0; }
.modal-content h2 { color: #253326; font-size: 15px; margin: 20px 0 20px 0; text-transform: uppercase; }

/*
/* ==========================================================================
Custom Styles
========================================================================== */
p { font-weight: 300; }
.navigation { 
    background-color: #253326; 
    /*height: 10%;*/
}
.nav-last { margin-bottom: 50px; }
nav ul { list-style: none; padding: 0; }
nav ul li a { color: rgba(209, 217, 210, 0.6); padding: 20px; display: block; border-bottom: 1px dotted rgba(209, 217, 210, 0.2); transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; padding-left: 0; position: relative; }
nav ul li a:hover, nav ul li a:focus { color: rgba(209, 217, 210, 1); text-decoration: none; }
.indicator { position: absolute; right: 0 !important; }
.pull { display: none; }
.hero {
    position: relative;
    height: 100vh;
    background-color: #000000;
    overflow: hidden;}
#hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the video scales properly to fill the background */
    z-index: 1;}
.typewriter {
    color: #ffffff;
    font-size: 2.5rem;
    font-weight: bold;}
.container {
        position: relative;
        z-index: 2;
        overflow-x: hidden;  /*prevent horizontal scrolling.*/
        }
.hero p { color: #4d544e; font-style: italic; font-size: 17px; }
.hero a { color: #d1d9d2; }
.hero-play-btn { height: 99px; 
    width: 99px; 
    background: url('../img/ImKati.jpg') no-repeat center center; 
    display: block; 
    text-indent: -99999px; 
    margin: 80px auto 260px; 
    transition: all 1s ease; 
    -moz-transition: all 1s ease; 
    -webkit-transition: all 1s ease; 
    -o-transition: all 1s ease; }
.hero-play-btn:hover, .hero-play-btn:focus { transform: translate(0, -15px); -webkit-transform: translate(0, -15px); -o-transform: translate(0, -15px); -moz-transform: translate(0, -15px); }
#cookieConsentBanner {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: rgba(255, 255, 255, 0.6); /* 30% transparent white */
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    z-index: 3;
    font-size: 9px;
    display: none; /* Hidden until consent logic runs */
    max-width: 300px;
}
.cookie-banner p {
    margin: 0;
    padding: 5px 0;
}
.cookie-banner button {
    margin: 5px 2px;
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    z-index: 4000;
}
#acceptCookies, #rejectCookies {
    background-color: #b6b2a4;
    color: #253326;
}
.get-started-btn { background-color: #0d0d0d; padding: 20px 80px; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; font-size: 22px; letter-spacing: 2px; box-shadow: inset 0px 1px 0px rgba(209, 217, 210, 0.4); transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; display: inline-block; }
.get-started-btn:hover, .get-started-btn:focus { text-decoration: none; background-color: #b6b2a4; }
.logo {
    position: absolute; /* Allow precise placement */
    top: 30px; 
    right: 50px;
    width: 100px; 
    height: auto; /* Maintain aspect ratio */
    z-index: 100; /* Ensure it appears above other elements */}

/* General Scroll Indicator Styling */
.scroll-indicator-container {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease;
  animation: bounce 1.5s infinite;
  z-index: 3;
}
/* Hidden class for scroll indicator */
.scroll-indicator-container.hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease;
}
/* Arrow Styling */
.scroll-indicator-arrow {
  width: 20px;
  height: 20px;
  border: solid #b6b2a4; /* Arrow color */
  border-width: 0 4px 4px 0; /* Arrow shape */
  display: inline-block;
  margin: 5px 0;
  transform: rotate(45deg);
  z-index: 1000;
}
/* Staggered animation for the second arrow */
.scroll-indicator-arrow:nth-child(2) {
  margin-top: -10px; /* Adjust spacing */
  animation-delay: 0.2s; /* Delay for staggered effect */
}
.about-me { background: #b6b2a4 url('../img/ImKati.jpg') no-repeat right 0px; 
    background-size: 30%; 
    height: 70vh;}
.about-me p { color: #253326; font-size: 16px; margin: 40px 30px 40px 0; line-height: 30px; }
.download-now_2 { background: #d1d9d2 url('../img/model.png') no-repeat left 0px; 
    background-size: 40%; 
    height: 70vh;}
.download-now_2 p { color: #253326; font-size: 16px; margin: 40px 30px 40px 0; line-height: 30px; }
.aboutme-btn { border: solid 3px #d1d9d2; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; font-size: 17px; letter-spacing: 2px; transition: all 0.5s ease; padding: 15px 10px; display: inline-block; color: #d1d9d2; margin-bottom: 185px; }
.aboutme-btn:hover, .aboutme-btn:focus { text-decoration: none; border-color: #253326; color: #253326; }
.talks-btn { border: solid 3px #253326; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; font-size: 17px; letter-spacing: 2px; transition: all 0.5s ease; padding: 15px 15px; display: inline-block; color: #253326; margin-bottom: 15px; }
.talks-btn:hover, .aboutme-btn:focus { text-decoration: none; border-color: #b6b2a4; color: #b6b2a4; }
.testimonials { background: #0d0d0d url('../img/spine_drawing.jpg') no-repeat left center; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover; padding: 130px 0; }
.features { background: #d1d9d2 url('../img/arrowBG.png') no-repeat center -1px; padding: 70px 0; }
.features p { color: #0d0d0d; font-size: 16px; word-spacing: 2px; line-height: 30px; }
.latest-updates {
    padding: 20px 0;
  }
  
.heading {
font-size: 2rem;
font-weight: 400;
color: #d1d9d2;
text-align: center;
margin-bottom: 30px;
}

/* Posts Layout */
.post-column {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}

/* Iframe Styling */
.post-iframe {
transform: scale(0.9);
width: 100%;
height: 750px;
max-width: 580px;
border: none;
border-radius: 8px;
}

.margin-bottom { margin-bottom: 70px; }
.try-btn { background-color: #0d0d0d; border-radius: 3px; -webkit-border-radius: 3px; -moz-border-radius: 3px; font-size: 17px; color: #d1d9d2; transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; display: inline-block; padding: 15px 50px; margin: 70px 0 70px; }
.try-btn:hover, .try-btn:focus { background-color: #253326; color: #d1d9d2; text-decoration: none; }
.portfolio { padding: 100px 0; background-color: #253326; position: relative; }
.flat-box {
    background-color: #d1d9d2; /* Fallback in case image fails to load */
    -webkit-box-shadow: 0px 3px 0px 0px rgba(209, 217, 210, 1);
    -moz-box-shadow: 0px 3px 0px 0px rgba(209, 217, 210, 1);
    box-shadow: 0px 3px 0px 0px rgba(209, 217, 210, 1);
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    position: relative;
    overflow: hidden;
    border-radius: 10px; /* rounded corners */
    text-align: center;
    height: 85vh; }
.flat-box img {
    width: 100%; /* Make the image fill the box horizontally */
    height: auto; /* and vertically */
    object-fit: contain; 
    transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out; /* Add transition for filter */
    display: block; /* Remove any inline spacing issues */
    filter: grayscale(90%); /* Make the image black-and-white initially */}
.flat-box:hover img {
    transform: scale(1.1); /* Zoom-in effect on hover */
    filter: grayscale(0%); /* Remove grayscale (turn the image colorful) on hover */}
.flat-box .text-content {
    padding: 10px; /* Space around the text */
    background-color: #d1d9d2; /* Same color as the original box background */}
.flat-box .title {
    font-size: 1.5rem;
    color: #253326;
    margin-bottom: 10px;}
.flat-box .flatbox-text {
    font-size: 1rem;
    color: #253326;
    margin-bottom: 5px; /* Space between bullet points */}
.colourway { height: 346px; }
.colour1 { background-color: #0d0d0d; }
.colour2 { background-color: #b6b2a4; }
.colour3 { background-color: #d1d9d2; }
.colour4 { background-color: #253326; }
.title { font-size: 15px; color: #a9aeb0; text-transform: uppercase; font-weight: 600; letter-spacing: 2px; padding: 20px 40px 0; }
.feature-text { padding: 0px 20px 40px 40px; font-style: italic; color: #0d0d0d; font-size: 16px; }
/*.design-content p { color: #a9aeb0; line-height: 30px; font-weight: 300; }*/
.controls a { color: #b6b2a4; transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; }
.controls a:hover, .controls a:focus { color: #253326; }
.controls .prev { margin-right: 5px; }
footer { background-color: #0d0d0d; padding: 75px 0 100px; } /* top right bottom left. - left padding is inherited from the right padding by default unless explicitly defined
footer p { color: #d1d9d2; line-height: 30px; }
.footer-nav { list-style: none; padding: 0; } /* the navigation menu on the right*/
.footer-nav a { display: block; color: #d1d9d2; padding: 5px; transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; }
.footer-nav li a { display: block; color: #d1d9d2; padding: 5px; transition: all 0.5s ease; -moz-transition: all 0.5s ease; -webkit-transition: all 0.5s ease; -o-transition: all 0.5s ease; text-align: right; }
.footer-nav li a:hover, .footer-nav li a:focus { text-decoration: none; color: #b6b2a4; }
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: none; /* No background here, only the modal-content will define the popup's visual style */
    align-items: center;}
  .modal-content {
    background-color: #fff;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    width: 75%;
    max-width: none;}
  .close {
    color: #b6b2a4;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;}
  .close:hover,
  .close:focus {
    color: black;}
/*
/* ==========================================================================
Media Queries
========================================================================== */
@media only screen and (max-width: 900px) {
    .about-me { background: #b6b2a4; }
    .about-me h1 { margin-top: 40px; font-size: 35px; font-weight: 100; }
    .about-me p { font-size: 20px; margin: 50px 0px 40px 0; line-height: 22px; font-weight: 80; }
    .portfolio { background: #253326; position: relative;}
    .portfolio h1 { margin-top: 10px; font-size: 35px; }
    .portfolio p { font-size: 20px; margin: 40px 0px 40px 0; line-height: 25px; }
    .flat-box .flatbox-text {font-size: 16px; color: #253326; margin-bottom: 5px;}
    .aboutme-btn { margin-bottom: 35px; font-size: 15px; }
    .logo {width: 70px; top: 10px; right: 20px;}
    .latest-updates h1 { color: #253326; font-size: 20px; margin: 50px 0 50px 0; text-transform: uppercase; }
    .scroll-indicator .arrow {width: 20px; height: 20px; z-index: 3;} /* Maintain a square aspect ratio */
    .hero h1 { font-size: 70px; font-weight: 300; color: #d1d9d2; letter-spacing: -1px; position: relative; left: 25%;  width: calc(60vw - 20px);}
    .hero h2 { font-size: 80px; font-weight: 300; color: #b6b2a4; letter-spacing: -1px; margin: 10px 0 0 70px; }
    #hero {
        position: relative;
        height: 70vh;
        overflow: hidden;
        width: 100vw;
        transition: height 0.3s ease;
    }
    #hero-video {
        position: absolute; /* fills the whole hero container */
        width: 100vw;
        bottom: 0;
        transform-origin: center center;
        z-index: 1;
        }
    .wp1 h1 {
        font-size: 2rem; /* Smaller font size for h1 on small screens */
      }
    .flat-box {
        height: auto;
        width: 90%; 
        margin-bottom: 20px;
        margin: 0 auto 20px auto;
    }
    .flat-box .title{ /* flat box titles*/
        font-size: 30px;
        font-weight: 400;
    }
    }

    /* Optional: Remove horizontal padding in the row to prevent overflow */
    .row {
        padding-left: 0;
        padding-right: 0;
    }
/* Responsive adjustments (max: taller than wide, min: wider than tall*/
/*@media (max-aspect-ratio: 16/9) {
    #hero-video {
      height: auto;
      width: 100vw;
      transform: scale(1.2);
      transform-origin: center center;
      padding-top: 20px;
    }
}*/
/* ==========================================================================
Animations
========================================================================== */
.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 fadeInUpDelay {
    0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInUpDelay {
    0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
.fadeInUpDelay { -webkit-animation-name: fadeInUpDelay; animation-name: fadeInUpDelay; animation-delay: 1s; -webkit-animation-delay: 1s; }
@-webkit-keyframes fadeInUp {
    0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
.fadeInUpDelay-2 { -webkit-animation-name: fadeInUpDelay-2; animation-name: fadeInUpDelay-2; animation-delay: 2s; -webkit-animation-delay: 2s; }
@-webkit-keyframes fadeInUp {
    0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInUp {
    0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
.fadeInUp { -webkit-animation-name: fadeInUp; animation-name: fadeInUp; }
@-webkit-keyframes fadeInDown {
    0% { opacity: 0; -webkit-transform: translateY(-20px); transform: translateY(-20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInDown {
    0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
.fadeInDown { -webkit-animation-name: fadeInDown; animation-name: fadeInDown; }
@-webkit-keyframes fadeInUpD {
    0% { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes fadeInUpD {
    0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
    100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}
/* Bounce Animation */
@keyframes bounce {
    0%, 100% {
      transform: translateY(0) rotate(45deg);
    }
    50% {
      transform: translateY(10px) rotate(45deg);
    }
  }
.fadeInUpD { -webkit-animation-name: fadeInUpD; animation-name: fadeInUpD; animation-delay: 0.5s; -webkit-animation-delay: 0.5s; }
/* ==========================================================================
Waypoints
========================================================================== */
.wp1, .wp2, .wp3, .wp4, .wp5, .wp6 { visibility: hidden; }
.bounceInLeft, .bounceInRight, .fadeInUp, .fadeInUpDelay, .fadeInDown, .fadeInUpD { visibility: visible; }