:root {
    --accent: #04b4e0;
    --accent-rgb: 4, 180, 224;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { height: 100%; background: linear-gradient(#edf3f7, #edf3f7); }
body {
    font-family: 'Poppins', Helvetica, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.75em;
    color: #555;
    background: transparent;
    overflow: hidden;
    height: 100%;
}

/* PRELOADER */
.preloader {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: #fff; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
}
.preloader-spinner {
    display: inline-block;
    width: 35px; height: 35px;
    border: 2px solid #e5e5e5; border-top-color: var(--accent);
    border-radius: 50%; animation: spin .75s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* PAGE WRAPPER */
.page-wrapper {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    padding: 0 100px;
    overflow: hidden;
}
.page-content {
    position: relative;
    width: 100%;
    max-width: 1280px;
    min-height: 80vh;
    margin: 10vh auto;
    padding: 0;
    background: linear-gradient(#04b4e0, #04b4e0);
    border-radius: 32px;
    box-shadow: 0 0 100px -5px rgba(0,0,0,.25);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* HEADER / SIDEBAR */
.header {
    display: inline-block;
    float: left;
    width: 100%;
    max-width: 380px;
    height: 100%;
    max-height: 80vh;
    min-height: inherit;
    text-align: center;
    padding: 70px 30px 45px;
    overflow: auto;
}
.header-content { position: relative; z-index: 1; }
.header-photo { margin: 0 auto 25px; }
.header-photo img {
    display: block;
    margin: 0 auto;
    max-width: 150px;
    max-height: 150px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #fff;
    box-shadow: 0 0 20px rgba(0,0,0,.15);
}
.header-titles h1 {
    font-size: 28px; font-weight: 600;
    color: #fff; margin: 5px 0 3px;
    line-height: 1.2em;
}
.header-titles h2 {
    font-size: 18px; font-weight: 300;
    color: rgba(255,255,255,.85); margin: 3px 0;
    line-height: 1.2em;
}

/* MAIN MENU - FLOATING ICON PILLS */
ul.main-menu {
    position: absolute;
    padding: 15px 0;
    width: 70px;
    right: -90px;
    top: 0;
    background: #fff;
    border-radius: 35px;
    z-index: 999;
    list-style: none;
    box-shadow: 0 0 30px -5px rgba(0,0,0,.15);
}
ul.main-menu li { margin: 0; padding: 0; }
ul.main-menu a {
    display: block; position: relative;
    color: #767676;
    padding: 10px;
    font-size: 30px;
    text-align: center;
    text-decoration: none;
}
ul.main-menu a span { pointer-events: none; }
@media (hover: hover) {
ul.main-menu a:hover { color: var(--accent); }
}
ul.main-menu a.active { color: var(--accent); }
ul.main-menu .menu-icon { display: block; }
ul.main-menu .link-text {
    position: absolute;
    width: auto;
    visibility: hidden; opacity: 0;
    color: #fff;
    padding: 2px 10px;
    background: var(--accent);
    white-space: nowrap;
    font-size: 13px;
    border-radius: 4px;
    right: 0;
    top: -50%;
    margin-top: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 10px 10px -8px rgba(0,0,0,.22);
    z-index: 0;
    line-height: 1.6;
    font-weight: 400;
    text-align: center;
    pointer-events: none;
}
@media (hover: hover) {
ul.main-menu a:hover .link-text {
    right: 100%;
    visibility: visible;
    opacity: 1;
}
}
ul.main-menu .mobile-menu-text { display: none; }

/* MOBILE MENU (inside header) */
ul.mobile-main-menu { display: none; }

/* SOCIAL */
.social-links { margin: 25px 0; }
.social-links ul { list-style: none; padding: 0; }
.social-links li { display: inline-block; margin: 0 5px; }
.social-links a {
    display: block;
    width: 44px; height: 44px;
    line-height: 44px;
    text-align: center;
    border-radius: 50%;
    color: #fff;
    font-size: 16px;
    background: rgba(255,255,255,.15);
    transition: all 0.3s;
}
.social-links a:hover { background: rgba(255,255,255,.3); }

.header-buttons { margin-top: 30px; }
.btn-primary {
    display: inline-block;
    padding: 10px 30px;
    font-size: 15px;
    border: 2px solid #fff;
    color: #fff;
    background: transparent;
    border-radius: 30px;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}
.btn-primary:hover { background: #fff; color: var(--accent); }
.copyrights {
    color: rgba(255,255,255,.5);
    padding: 15px 10px;
    font-size: 12px;
    text-align: center;
    margin-top: 30px;
}

/* MOBILE */
.mobile-site-title { display: none; }
.menu-toggle { display: none; }

/* ARROWS */
.lmpixels-arrows-nav {
    position: absolute;
    padding: 10px 0;
    width: 60px;
    right: -80px;
    bottom: 0;
    background: #fff;
    border: 2px solid var(--accent);
    border-radius: 35px;
    z-index: 98;
    list-style: none;
    box-shadow: 0 0 30px -5px rgba(0,0,0,.15);
}
.lmpixels-arrows-nav div {
    display: block;
    position: relative;
    text-align: center;
    color: #b5b6b7;
    padding: 10px;
    font-size: 24px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}
.lmpixels-arrows-nav div:hover { color: var(--accent); }

/* CONTENT AREA */
.content-area {
    position: absolute;
    right: 0;
    background-color: transparent;
    height: 100%;
    width: 100%;
    max-width: calc(100% - 380px);
}

/* ANIMATED SECTIONS */
.animated-sections {
    position: relative;
    height: 100%;
    overflow: hidden;
    -webkit-perspective: 1500px;
    -moz-perspective: 1500px;
    perspective: 1500px;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}
.animated-section {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: transparent;
    height: 100%;
    width: 100%;
    border-radius: 30px;
    padding: 0;
    opacity: 0;
    overflow: auto;
    visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.animated-section::-webkit-scrollbar { display: none; }
.section-active,
.no-js .animated-section {
    opacity: 1;
    overflow: auto;
    visibility: visible;
    z-index: 99;
    -webkit-overflow-scrolling: touch;
}

/* ANIMATION CLASSES */
.animated-section-moveToLeft { -webkit-animation: moveToLeft .6s ease both; animation: moveToLeft .6s ease both; }
.animated-section-moveFromLeft { -webkit-animation: moveFromLeft .6s ease both; animation: moveFromLeft .6s ease both; }
.animated-section-moveToRight { -webkit-animation: moveToRight .6s ease both; animation: moveToRight .6s ease both; }
.animated-section-moveFromRight { -webkit-animation: moveFromRight .6s ease both; animation: moveFromRight .6s ease both; }
.animated-section-moveToTop { -webkit-animation: moveToTop .6s ease both; animation: moveToTop .6s ease both; }
.animated-section-moveFromTop { -webkit-animation: moveFromTop .6s ease both; animation: moveFromTop .6s ease both; }
.animated-section-moveToBottom { -webkit-animation: moveToBottom .6s ease both; animation: moveToBottom .6s ease both; }
.animated-section-moveFromBottom { -webkit-animation: moveFromBottom .6s ease both; animation: moveFromBottom .6s ease both; }
.animated-section-fade { -webkit-animation: fade .7s ease both; animation: fade .7s ease both; }
.animated-section-moveToLeftFade { -webkit-animation: moveToLeftFade .7s ease both; animation: moveToLeftFade .7s ease both; }
.animated-section-moveFromLeftFade { -webkit-animation: moveFromLeftFade .7s ease both; animation: moveFromLeftFade .7s ease both; }
.animated-section-moveToRightFade { -webkit-animation: moveToRightFade .7s ease both; animation: moveToRightFade .7s ease both; }
.animated-section-moveFromRightFade { -webkit-animation: moveFromRightFade .7s ease both; animation: moveFromRightFade .7s ease both; }
.animated-section-moveToTopFade { -webkit-animation: moveToTopFade .7s ease both; animation: moveToTopFade .7s ease both; }
.animated-section-moveFromTopFade { -webkit-animation: moveFromTopFade .7s ease both; animation: moveFromTopFade .7s ease both; }
.animated-section-moveToBottomFade { -webkit-animation: moveToBottomFade .7s ease both; animation: moveToBottomFade .7s ease both; }
.animated-section-moveFromBottomFade { -webkit-animation: moveFromBottomFade .7s ease both; animation: moveFromBottomFade .7s ease both; }
.animated-section-moveToLeftEasing { -webkit-animation: moveToLeft .7s ease-in-out both; animation: moveToLeft .7s ease-in-out both; }
.animated-section-moveToRightEasing { -webkit-animation: moveToRight .7s ease-in-out both; animation: moveToRight .7s ease-in-out both; }
.animated-section-moveToTopEasing { -webkit-animation: moveToTop .7s ease-in-out both; animation: moveToTop .7s ease-in-out both; }
.animated-section-moveToBottomEasing { -webkit-animation: moveToBottom .7s ease-in-out both; animation: moveToBottom .7s ease-in-out both; }
.animated-section-scaleDown { -webkit-animation: scaleDown .7s ease both; animation: scaleDown .7s ease both; }
.animated-section-scaleUp { -webkit-animation: scaleUp .7s ease both; animation: scaleUp .7s ease both; }
.animated-section-scaleUpDown { -webkit-animation: scaleUpDown .5s ease both; animation: scaleUpDown .5s ease both; }
.animated-section-scaleDownUp { -webkit-animation: scaleDownUp .5s ease both; animation: scaleDownUp .5s ease both; }
.animated-section-scaleDownCenter { -webkit-animation: scaleDownCenter .4s ease-in both; animation: scaleDownCenter .4s ease-in both; }
.animated-section-scaleUpCenter { -webkit-animation: scaleUpCenter .4s ease-out both; animation: scaleUpCenter .4s ease-out both; }
.animated-section-rotateRightSideFirst { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateRightSideFirst .8s both ease-in; animation: rotateRightSideFirst .8s both ease-in; }
.animated-section-rotateLeftSideFirst { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateLeftSideFirst .8s both ease-in; animation: rotateLeftSideFirst .8s both ease-in; }
.animated-section-rotateTopSideFirst { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateTopSideFirst .8s both ease-in; animation: rotateTopSideFirst .8s both ease-in; }
.animated-section-rotateBottomSideFirst { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateBottomSideFirst .8s both ease-in; animation: rotateBottomSideFirst .8s both ease-in; }
.animated-section-flipOutRight { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipOutRight .5s both ease-in; animation: flipOutRight .5s both ease-in; }
.animated-section-flipInLeft { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipInLeft .5s both ease-out; animation: flipInLeft .5s both ease-out; }
.animated-section-flipOutLeft { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipOutLeft .5s both ease-in; animation: flipOutLeft .5s both ease-in; }
.animated-section-flipInRight { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipInRight .5s both ease-out; animation: flipInRight .5s both ease-out; }
.animated-section-flipOutTop { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipOutTop .5s both ease-in; animation: flipOutTop .5s both ease-in; }
.animated-section-flipInBottom { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipInBottom .5s both ease-out; animation: flipInBottom .5s both ease-out; }
.animated-section-flipOutBottom { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipOutBottom .5s both ease-in; animation: flipOutBottom .5s both ease-in; }
.animated-section-flipInTop { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: flipInTop .5s both ease-out; animation: flipInTop .5s both ease-out; }
.animated-section-rotateFall { -webkit-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-animation: rotateFall 1s both ease-in; animation: rotateFall 1s both ease-in; }
.animated-section-rotateOutNewspaper { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: rotateOutNewspaper .5s both ease-in; animation: rotateOutNewspaper .5s both ease-in; }
.animated-section-rotateInNewspaper { -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-animation: rotateInNewspaper .5s both ease-out; animation: rotateInNewspaper .5s both ease-out; }
.animated-section-rotatePushLeft { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotatePushLeft .8s both ease; animation: rotatePushLeft .8s both ease; }
.animated-section-rotatePushRight { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotatePushRight .8s both ease; animation: rotatePushRight .8s both ease; }
.animated-section-rotatePushTop { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotatePushTop .8s both ease; animation: rotatePushTop .8s both ease; }
.animated-section-rotatePushBottom { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotatePushBottom .8s both ease; animation: rotatePushBottom .8s both ease; }
.animated-section-rotatePullRight { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotatePullRight .5s both ease; animation: rotatePullRight .5s both ease; }
.animated-section-rotatePullLeft { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotatePullLeft .5s both ease; animation: rotatePullLeft .5s both ease; }
.animated-section-rotatePullTop { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotatePullTop .5s both ease; animation: rotatePullTop .5s both ease; }
.animated-section-rotatePullBottom { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotatePullBottom .5s both ease; animation: rotatePullBottom .5s both ease; }
.animated-section-rotateFoldRight { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateFoldRight .7s both ease; animation: rotateFoldRight .7s both ease; }
.animated-section-rotateFoldLeft { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateFoldLeft .7s both ease; animation: rotateFoldLeft .7s both ease; }
.animated-section-rotateFoldTop { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateFoldTop .7s both ease; animation: rotateFoldTop .7s both ease; }
.animated-section-rotateFoldBottom { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateFoldBottom .7s both ease; animation: rotateFoldBottom .7s both ease; }
.animated-section-rotateUnfoldLeft { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateUnfoldLeft .7s both ease; animation: rotateUnfoldLeft .7s both ease; }
.animated-section-rotateUnfoldRight { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateUnfoldRight .7s both ease; animation: rotateUnfoldRight .7s both ease; }
.animated-section-rotateUnfoldTop { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateUnfoldTop .7s both ease; animation: rotateUnfoldTop .7s both ease; }
.animated-section-rotateUnfoldBottom { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateUnfoldBottom .7s both ease; animation: rotateUnfoldBottom .7s both ease; }
.animated-section-rotateRoomLeftOut { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateRoomLeftOut .8s both ease; animation: rotateRoomLeftOut .8s both ease; }
.animated-section-rotateRoomLeftIn { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateRoomLeftIn .8s both ease; animation: rotateRoomLeftIn .8s both ease; }
.animated-section-rotateRoomRightOut { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateRoomRightOut .8s both ease; animation: rotateRoomRightOut .8s both ease; }
.animated-section-rotateRoomRightIn { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateRoomRightIn .8s both ease; animation: rotateRoomRightIn .8s both ease; }
.animated-section-rotateRoomTopOut { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateRoomTopOut .8s both ease; animation: rotateRoomTopOut .8s both ease; }
.animated-section-rotateRoomTopIn { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateRoomTopIn .8s both ease; animation: rotateRoomTopIn .8s both ease; }
.animated-section-rotateRoomBottomOut { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateRoomBottomOut .8s both ease; animation: rotateRoomBottomOut .8s both ease; }
.animated-section-rotateRoomBottomIn { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateRoomBottomIn .8s both ease; animation: rotateRoomBottomIn .8s both ease; }
.animated-section-rotateCubeLeftOut { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateCubeLeftOut .6s both ease-in; animation: rotateCubeLeftOut .6s both ease-in; }
.animated-section-rotateCubeLeftIn { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateCubeLeftIn .6s both ease-in; animation: rotateCubeLeftIn .6s both ease-in; }
.animated-section-rotateCubeRightOut { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateCubeRightOut .6s both ease-in; animation: rotateCubeRightOut .6s both ease-in; }
.animated-section-rotateCubeRightIn { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateCubeRightIn .6s both ease-in; animation: rotateCubeRightIn .6s both ease-in; }
.animated-section-rotateCubeTopOut { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCubeTopOut .6s both ease-in; animation: rotateCubeTopOut .6s both ease-in; }
.animated-section-rotateCubeTopIn { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateCubeTopIn .6s both ease-in; animation: rotateCubeTopIn .6s both ease-in; }
.animated-section-rotateCubeBottomOut { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateCubeBottomOut .6s both ease-in; animation: rotateCubeBottomOut .6s both ease-in; }
.animated-section-rotateCubeBottomIn { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCubeBottomIn .6s both ease-in; animation: rotateCubeBottomIn .6s both ease-in; }
.animated-section-rotateCarouselLeftOut { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateCarouselLeftOut .8s both ease; animation: rotateCarouselLeftOut .8s both ease; }
.animated-section-rotateCarouselLeftIn { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateCarouselLeftIn .8s both ease; animation: rotateCarouselLeftIn .8s both ease; }
.animated-section-rotateCarouselRightOut { -webkit-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-animation: rotateCarouselRightOut .8s both ease; animation: rotateCarouselRightOut .8s both ease; }
.animated-section-rotateCarouselRightIn { -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-animation: rotateCarouselRightIn .8s both ease; animation: rotateCarouselRightIn .8s both ease; }
.animated-section-rotateCarouselTopOut { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCarouselTopOut .8s both ease; animation: rotateCarouselTopOut .8s both ease; }
.animated-section-rotateCarouselTopIn { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateCarouselTopIn .8s both ease; animation: rotateCarouselTopIn .8s both ease; }
.animated-section-rotateCarouselBottomOut { -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -webkit-animation: rotateCarouselBottomOut .8s both ease; animation: rotateCarouselBottomOut .8s both ease; }
.animated-section-rotateCarouselBottomIn { -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-animation: rotateCarouselBottomIn .8s both ease; animation: rotateCarouselBottomIn .8s both ease; }
.animated-section-rotateSidesOut { -webkit-transform-origin: -50% 50%; transform-origin: -50% 50%; -webkit-animation: rotateSidesOut .5s both ease-in; animation: rotateSidesOut .5s both ease-in; }
.animated-section-rotateSidesIn { -webkit-transform-origin: 150% 50%; transform-origin: 150% 50%; -webkit-animation: rotateSidesIn .5s both ease-out; animation: rotateSidesIn .5s both ease-out; }
.animated-section-rotateSlideOut { -webkit-animation: rotateSlideOut 1s both ease; animation: rotateSlideOut 1s both ease; }
.animated-section-rotateSlideIn { -webkit-animation: rotateSlideIn 1s both ease; animation: rotateSlideIn 1s both ease; }
.animated-section-ontop { z-index: 100; }
.animated-section-delay180 { -webkit-animation-delay: .180s; animation-delay: .180s; }
.animated-section-delay200 { -webkit-animation-delay: .2s; animation-delay: .2s; }
.animated-section-delay300 { -webkit-animation-delay: .3s; animation-delay: .3s; }
.animated-section-delay400 { -webkit-animation-delay: .4s; animation-delay: .4s; }
.animated-section-delay500 { -webkit-animation-delay: .5s; animation-delay: .5s; }

/* KEYFRAMES */
@-webkit-keyframes moveToLeft { from { } to { -webkit-transform: translateX(-100%); } }
@keyframes moveToLeft { from { } to { -webkit-transform: translateX(-100%); transform: translateX(-100%); } }
@-webkit-keyframes moveFromLeft { from { -webkit-transform: translateX(-100%); } }
@keyframes moveFromLeft { from { -webkit-transform: translateX(-100%); transform: translateX(-100%); } }
@-webkit-keyframes moveToRight { from { } to { -webkit-transform: translateX(100%); } }
@keyframes moveToRight { from { } to { -webkit-transform: translateX(100%); transform: translateX(100%); } }
@-webkit-keyframes moveFromRight { from { -webkit-transform: translateX(100%); } }
@keyframes moveFromRight { from { -webkit-transform: translateX(100%); transform: translateX(100%); } }
@-webkit-keyframes moveToTop { from { } to { -webkit-transform: translateY(-100%); } }
@keyframes moveToTop { from { } to { -webkit-transform: translateY(-100%); transform: translateY(-100%); } }
@-webkit-keyframes moveFromTop { from { -webkit-transform: translateY(-100%); } }
@keyframes moveFromTop { from { -webkit-transform: translateY(-100%); transform: translateY(-100%); } }
@-webkit-keyframes moveToBottom { from { } to { -webkit-transform: translateY(100%); } }
@keyframes moveToBottom { from { } to { -webkit-transform: translateY(100%); transform: translateY(100%); } }
@-webkit-keyframes moveFromBottom { from { -webkit-transform: translateY(100%); } }
@keyframes moveFromBottom { from { -webkit-transform: translateY(100%); transform: translateY(100%); } }
@-webkit-keyframes fade { from { } to { opacity: 0.3; } }
@keyframes fade { from { } to { opacity: 0.3; } }
@-webkit-keyframes moveToLeftFade { from { } to { opacity: 0.3; -webkit-transform: translateX(-100%); } }
@keyframes moveToLeftFade { from { } to { opacity: 0.3; -webkit-transform: translateX(-100%); transform: translateX(-100%); } }
@-webkit-keyframes moveFromLeftFade { from { opacity: 0.3; -webkit-transform: translateX(-100%); } }
@keyframes moveFromLeftFade { from { opacity: 0.3; -webkit-transform: translateX(-100%); transform: translateX(-100%); } }
@-webkit-keyframes moveToRightFade { from { } to { opacity: 0.3; -webkit-transform: translateX(100%); } }
@keyframes moveToRightFade { from { } to { opacity: 0.3; -webkit-transform: translateX(100%); transform: translateX(100%); } }
@-webkit-keyframes moveFromRightFade { from { opacity: 0.3; -webkit-transform: translateX(100%); } }
@keyframes moveFromRightFade { from { opacity: 0.3; -webkit-transform: translateX(100%); transform: translateX(100%); } }
@-webkit-keyframes moveToTopFade { from { } to { opacity: 0.3; -webkit-transform: translateY(-100%); } }
@keyframes moveToTopFade { from { } to { opacity: 0.3; -webkit-transform: translateY(-100%); transform: translateY(-100%); } }
@-webkit-keyframes moveFromTopFade { from { opacity: 0.3; -webkit-transform: translateY(-100%); } }
@keyframes moveFromTopFade { from { opacity: 0.3; -webkit-transform: translateY(-100%); transform: translateY(-100%); } }
@-webkit-keyframes moveToBottomFade { from { } to { opacity: 0.3; -webkit-transform: translateY(100%); } }
@keyframes moveToBottomFade { from { } to { opacity: 0.3; -webkit-transform: translateY(100%); transform: translateY(100%); } }
@-webkit-keyframes moveFromBottomFade { from { opacity: 0.3; -webkit-transform: translateY(100%); } }
@keyframes moveFromBottomFade { from { opacity: 0.3; -webkit-transform: translateY(100%); transform: translateY(100%); } }
@-webkit-keyframes scaleDown { from { } to { opacity: 0; -webkit-transform: scale(.8); } }
@keyframes scaleDown { from { } to { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8); } }
@-webkit-keyframes scaleUp { from { opacity: 0; -webkit-transform: scale(.8); } }
@keyframes scaleUp { from { opacity: 0; -webkit-transform: scale(.8); transform: scale(.8); } }
@-webkit-keyframes scaleUpDown { from { opacity: 0; -webkit-transform: scale(1.2); } }
@keyframes scaleUpDown { from { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2); } }
@-webkit-keyframes scaleDownUp { from { } to { opacity: 0; -webkit-transform: scale(1.2); } }
@keyframes scaleDownUp { from { } to { opacity: 0; -webkit-transform: scale(1.2); transform: scale(1.2); } }
@-webkit-keyframes scaleDownCenter { from { } to { opacity: 0; -webkit-transform: scale(.7); } }
@keyframes scaleDownCenter { from { } to { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7); } }
@-webkit-keyframes scaleUpCenter { from { opacity: 0; -webkit-transform: scale(.7); } }
@keyframes scaleUpCenter { from { opacity: 0; -webkit-transform: scale(.7); transform: scale(.7); } }
@-webkit-keyframes rotateRightSideFirst { 0% { } 40% { -webkit-transform: rotateY(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; } }
@keyframes rotateRightSideFirst { 0% { } 40% { -webkit-transform: rotateY(15deg); transform: rotateY(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); transform: scale(0.8) translateZ(-200px); opacity:0; } }
@-webkit-keyframes rotateLeftSideFirst { 0% { } 40% { -webkit-transform: rotateY(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; } }
@keyframes rotateLeftSideFirst { 0% { } 40% { -webkit-transform: rotateY(-15deg); transform: rotateY(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); transform: scale(0.8) translateZ(-200px); opacity:0; } }
@-webkit-keyframes rotateTopSideFirst { 0% { } 40% { -webkit-transform: rotateX(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; } }
@keyframes rotateTopSideFirst { 0% { } 40% { -webkit-transform: rotateX(15deg); transform: rotateX(15deg); opacity: .8; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); transform: scale(0.8) translateZ(-200px); opacity:0; } }
@-webkit-keyframes rotateBottomSideFirst { 0% { } 40% { -webkit-transform: rotateX(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); opacity:0; } }
@keyframes rotateBottomSideFirst { 0% { } 40% { -webkit-transform: rotateX(-15deg); transform: rotateX(-15deg); opacity: .8; -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { -webkit-transform: scale(0.8) translateZ(-200px); transform: scale(0.8) translateZ(-200px); opacity:0; } }
@-webkit-keyframes flipOutRight { from { } to { -webkit-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; } }
@keyframes flipOutRight { from { } to { -webkit-transform: translateZ(-1000px) rotateY(90deg); transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; } }
@-webkit-keyframes flipInLeft { from { -webkit-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; } }
@keyframes flipInLeft { from { -webkit-transform: translateZ(-1000px) rotateY(-90deg); transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; } }
@-webkit-keyframes flipOutLeft { from { } to { -webkit-transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; } }
@keyframes flipOutLeft { from { } to { -webkit-transform: translateZ(-1000px) rotateY(-90deg); transform: translateZ(-1000px) rotateY(-90deg); opacity: 0.2; } }
@-webkit-keyframes flipInRight { from { -webkit-transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; } }
@keyframes flipInRight { from { -webkit-transform: translateZ(-1000px) rotateY(90deg); transform: translateZ(-1000px) rotateY(90deg); opacity: 0.2; } }
@-webkit-keyframes flipOutTop { from { } to { -webkit-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; } }
@keyframes flipOutTop { from { } to { -webkit-transform: translateZ(-1000px) rotateX(90deg); transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; } }
@-webkit-keyframes flipInBottom { from { -webkit-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; } }
@keyframes flipInBottom { from { -webkit-transform: translateZ(-1000px) rotateX(-90deg); transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; } }
@-webkit-keyframes flipOutBottom { from { } to { -webkit-transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; } }
@keyframes flipOutBottom { from { } to { -webkit-transform: translateZ(-1000px) rotateX(-90deg); transform: translateZ(-1000px) rotateX(-90deg); opacity: 0.2; } }
@-webkit-keyframes flipInTop { from { -webkit-transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; } }
@keyframes flipInTop { from { -webkit-transform: translateZ(-1000px) rotateX(90deg); transform: translateZ(-1000px) rotateX(90deg); opacity: 0.2; } }
@-webkit-keyframes rotateFall { 0% { -webkit-transform: rotateZ(0deg); } 20% { -webkit-transform: rotateZ(10deg); -webkit-animation-timing-function: ease-out; } 40% { -webkit-transform: rotateZ(17deg); } 60% { -webkit-transform: rotateZ(16deg); } 100% { -webkit-transform: translateY(100%) rotateZ(17deg); } }
@keyframes rotateFall { 0% { -webkit-transform: rotateZ(0deg); transform: rotateZ(0deg); } 20% { -webkit-transform: rotateZ(10deg); transform: rotateZ(10deg); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 40% { -webkit-transform: rotateZ(17deg); transform: rotateZ(17deg); } 60% { -webkit-transform: rotateZ(16deg); transform: rotateZ(16deg); } 100% { -webkit-transform: translateY(100%) rotateZ(17deg); transform: translateY(100%) rotateZ(17deg); } }
@-webkit-keyframes rotateOutNewspaper { from { } to { -webkit-transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; } }
@keyframes rotateOutNewspaper { from { } to { -webkit-transform: translateZ(-3000px) rotateZ(360deg); transform: translateZ(-3000px) rotateZ(360deg); opacity: 0; } }
@-webkit-keyframes rotateInNewspaper { from { -webkit-transform: translateZ(-3000px) rotateZ(-360deg); opacity: 0; } }
@keyframes rotateInNewspaper { from { -webkit-transform: translateZ(-3000px) rotateZ(-360deg); transform: translateZ(-3000px) rotateZ(-360deg); opacity: 0; } }
@-webkit-keyframes rotatePushLeft { from { } to { opacity: 0; -webkit-transform: rotateY(90deg); } }
@keyframes rotatePushLeft { from { } to { opacity: 0; -webkit-transform: rotateY(90deg); transform: rotateY(90deg); } }
@-webkit-keyframes rotatePushRight { from { } to { opacity: 0; -webkit-transform: rotateY(-90deg); } }
@keyframes rotatePushRight { from { } to { opacity: 0; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg); } }
@-webkit-keyframes rotatePushTop { from { } to { opacity: 0; -webkit-transform: rotateX(-90deg); } }
@keyframes rotatePushTop { from { } to { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); } }
@-webkit-keyframes rotatePushBottom { from { } to { opacity: 0; -webkit-transform: rotateX(90deg); } }
@keyframes rotatePushBottom { from { } to { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg); } }
@-webkit-keyframes rotatePullRight { from { opacity: 0; -webkit-transform: rotateY(-90deg); } }
@keyframes rotatePullRight { from { opacity: 0; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg); } }
@-webkit-keyframes rotatePullLeft { from { opacity: 0; -webkit-transform: rotateY(90deg); } }
@keyframes rotatePullLeft { from { opacity: 0; -webkit-transform: rotateY(90deg); transform: rotateY(90deg); } }
@-webkit-keyframes rotatePullTop { from { opacity: 0; -webkit-transform: rotateX(-90deg); } }
@keyframes rotatePullTop { from { opacity: 0; -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); } }
@-webkit-keyframes rotatePullBottom { from { opacity: 0; -webkit-transform: rotateX(90deg); } }
@keyframes rotatePullBottom { from { opacity: 0; -webkit-transform: rotateX(90deg); transform: rotateX(90deg); } }
@-webkit-keyframes rotateFoldRight { from { } to { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); } }
@keyframes rotateFoldRight { from { } to { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); transform: translateX(100%) rotateY(90deg); } }
@-webkit-keyframes rotateFoldLeft { from { } to { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); } }
@keyframes rotateFoldLeft { from { } to { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); transform: translateX(-100%) rotateY(-90deg); } }
@-webkit-keyframes rotateFoldTop { from { } to { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); } }
@keyframes rotateFoldTop { from { } to { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg); } }
@-webkit-keyframes rotateFoldBottom { from { } to { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); } }
@keyframes rotateFoldBottom { from { } to { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg); } }
@-webkit-keyframes rotateUnfoldLeft { from { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); } }
@keyframes rotateUnfoldLeft { from { opacity: 0; -webkit-transform: translateX(-100%) rotateY(-90deg); transform: translateX(-100%) rotateY(-90deg); } }
@-webkit-keyframes rotateUnfoldRight { from { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); } }
@keyframes rotateUnfoldRight { from { opacity: 0; -webkit-transform: translateX(100%) rotateY(90deg); transform: translateX(100%) rotateY(90deg); } }
@-webkit-keyframes rotateUnfoldTop { from { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); } }
@keyframes rotateUnfoldTop { from { opacity: 0; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg); } }
@-webkit-keyframes rotateUnfoldBottom { from { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); } }
@keyframes rotateUnfoldBottom { from { opacity: 0; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg); } }
@-webkit-keyframes rotateRoomLeftOut { from { } to { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); } }
@keyframes rotateRoomLeftOut { from { } to { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); transform: translateX(-100%) rotateY(90deg); } }
@-webkit-keyframes rotateRoomLeftIn { from { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); } }
@keyframes rotateRoomLeftIn { from { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); transform: translateX(100%) rotateY(-90deg); } }
@-webkit-keyframes rotateRoomRightOut { from { } to { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); } }
@keyframes rotateRoomRightOut { from { } to { opacity: .3; -webkit-transform: translateX(100%) rotateY(-90deg); transform: translateX(100%) rotateY(-90deg); } }
@-webkit-keyframes rotateRoomRightIn { from { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); } }
@keyframes rotateRoomRightIn { from { opacity: .3; -webkit-transform: translateX(-100%) rotateY(90deg); transform: translateX(-100%) rotateY(90deg); } }
@-webkit-keyframes rotateRoomTopOut { from { } to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); } }
@keyframes rotateRoomTopOut { from { } to { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); transform: translateY(-100%) rotateX(-90deg); } }
@-webkit-keyframes rotateRoomTopIn { from { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); } }
@keyframes rotateRoomTopIn { from { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); transform: translateY(100%) rotateX(90deg); } }
@-webkit-keyframes rotateRoomBottomOut { from { } to { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); } }
@keyframes rotateRoomBottomOut { from { } to { opacity: .3; -webkit-transform: translateY(100%) rotateX(90deg); transform: translateY(100%) rotateX(90deg); } }
@-webkit-keyframes rotateRoomBottomIn { from { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); } }
@keyframes rotateRoomBottomIn { from { opacity: .3; -webkit-transform: translateY(-100%) rotateX(-90deg); transform: translateY(-100%) rotateX(-90deg); } }
@-webkit-keyframes rotateCubeLeftOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); } 100% { opacity: .3; -webkit-transform: translateX(-100%) rotateY(-90deg); } }
@keyframes rotateCubeLeftOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); } 100% { opacity: .3; -webkit-transform: translateX(-100%) rotateY(-90deg); transform: translateX(-100%) rotateY(-90deg); } }
@-webkit-keyframes rotateCubeLeftIn { 0% { opacity: .3; -webkit-transform: translateX(100%) rotateY(90deg); } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg); } }
@keyframes rotateCubeLeftIn { 0% { opacity: .3; -webkit-transform: translateX(100%) rotateY(90deg); transform: translateX(100%) rotateY(90deg); } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg); transform: translateX(50%) translateZ(-200px) rotateY(45deg); } }
@-webkit-keyframes rotateCubeRightOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg); } 100% { opacity: .3; -webkit-transform: translateX(100%) rotateY(90deg); } }
@keyframes rotateCubeRightOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg); transform: translateX(50%) translateZ(-200px) rotateY(45deg); } 100% { opacity: .3; -webkit-transform: translateX(100%) rotateY(90deg); transform: translateX(100%) rotateY(90deg); } }
@-webkit-keyframes rotateCubeRightIn { 0% { opacity: .3; -webkit-transform: translateX(-100%) rotateY(-90deg); } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); } }
@keyframes rotateCubeRightIn { 0% { opacity: .3; -webkit-transform: translateX(-100%) rotateY(-90deg); transform: translateX(-100%) rotateY(-90deg); } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); transform: translateX(-50%) translateZ(-200px) rotateY(-45deg); } }
@-webkit-keyframes rotateCubeTopOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); } 100% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); } }
@keyframes rotateCubeTopOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); } 100% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg); } }
@-webkit-keyframes rotateCubeTopIn { 0% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); } }
@keyframes rotateCubeTopIn { 0% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg); } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); } }
@-webkit-keyframes rotateCubeBottomOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); } 100% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); } }
@keyframes rotateCubeBottomOut { 0% { } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg); transform: translateY(50%) translateZ(-200px) rotateX(-45deg); } 100% { opacity: .3; -webkit-transform: translateY(100%) rotateX(-90deg); transform: translateY(100%) rotateX(-90deg); } }
@-webkit-keyframes rotateCubeBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); } 50% { -webkit-animation-timing-function: ease-out; -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); } }
@keyframes rotateCubeBottomIn { 0% { opacity: .3; -webkit-transform: translateY(-100%) rotateX(90deg); transform: translateY(-100%) rotateX(90deg); } 50% { -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg); transform: translateY(-50%) translateZ(-200px) rotateX(45deg); } }
@-webkit-keyframes rotateCarouselLeftOut { from { } to { opacity: .3; -webkit-transform: translateX(-150%) scale(.4) rotateY(-65deg); } }
@keyframes rotateCarouselLeftOut { from { } to { opacity: .3; -webkit-transform: translateX(-150%) scale(.4) rotateY(-65deg); transform: translateX(-150%) scale(.4) rotateY(-65deg); } }
@-webkit-keyframes rotateCarouselLeftIn { from { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); } }
@keyframes rotateCarouselLeftIn { from { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); transform: translateX(200%) scale(.4) rotateY(65deg); } }
@-webkit-keyframes rotateCarouselRightOut { from { } to { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); } }
@keyframes rotateCarouselRightOut { from { } to { opacity: .3; -webkit-transform: translateX(200%) scale(.4) rotateY(65deg); transform: translateX(200%) scale(.4) rotateY(65deg); } }
@-webkit-keyframes rotateCarouselRightIn { from { opacity: .3; -webkit-transform: translateX(-200%) scale(.4) rotateY(-65deg); } }
@keyframes rotateCarouselRightIn { from { opacity: .3; -webkit-transform: translateX(-200%) scale(.4) rotateY(-65deg); transform: translateX(-200%) scale(.4) rotateY(-65deg); } }
@-webkit-keyframes rotateCarouselTopOut { from { } to { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); } }
@keyframes rotateCarouselTopOut { from { } to { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); transform: translateY(-200%) scale(.4) rotateX(65deg); } }
@-webkit-keyframes rotateCarouselTopIn { from { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); } }
@keyframes rotateCarouselTopIn { from { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); transform: translateY(200%) scale(.4) rotateX(-65deg); } }
@-webkit-keyframes rotateCarouselBottomOut { from { } to { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); } }
@keyframes rotateCarouselBottomOut { from { } to { opacity: .3; -webkit-transform: translateY(200%) scale(.4) rotateX(-65deg); transform: translateY(200%) scale(.4) rotateX(-65deg); } }
@-webkit-keyframes rotateCarouselBottomIn { from { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); } }
@keyframes rotateCarouselBottomIn { from { opacity: .3; -webkit-transform: translateY(-200%) scale(.4) rotateX(65deg); transform: translateY(-200%) scale(.4) rotateX(65deg); } }
@-webkit-keyframes rotateSidesOut { from { } to { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(90deg); } }
@keyframes rotateSidesOut { from { } to { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(90deg); transform: translateZ(-500px) rotateY(90deg); } }
@-webkit-keyframes rotateSidesIn { from { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(-90deg); } }
@keyframes rotateSidesIn { from { opacity: 0; -webkit-transform: translateZ(-500px) rotateY(-90deg); transform: translateZ(-500px) rotateY(-90deg); } }
@-webkit-keyframes rotateSlideOut { 0% { } 25% { opacity: .5; -webkit-transform: translateZ(-500px); } 75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); } 100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); } }
@keyframes rotateSlideOut { 0% { } 25% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); } 75% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); } 100% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(-200%); transform: translateZ(-500px) translateX(-200%); } }
@-webkit-keyframes rotateSlideIn { 0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); } 75% { opacity: .5; -webkit-transform: translateZ(-500px); } 100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); } }
@keyframes rotateSlideIn { 0%, 25% { opacity: .5; -webkit-transform: translateZ(-500px) translateX(200%); transform: translateZ(-500px) translateX(200%); } 75% { opacity: .5; -webkit-transform: translateZ(-500px); transform: translateZ(-500px); } 100% { opacity: 1; -webkit-transform: translateZ(0) translateX(0); transform: translateZ(0) translateX(0); } }

.animated-section > .section-content {
    background-color: #fff;
    padding: 60px;
    position: relative;
    height: auto;
    width: 100%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
    -ms-transform: none;
}

/* PAGE TITLE */
.page-title {
    display: inline-block;
    position: relative;
    padding-right: 25px;
    padding-bottom: 15px;
    margin-bottom: 30px;
}
.page-title h1 {
    font-size: 30px;
    font-weight: 600;
    color: #222;
    font-family: 'Poppins', sans-serif;
    letter-spacing: 0;
    margin: 0;
}
.page-title:after {
    position: absolute; opacity: 0.45;
    top: 12px; right: 0;
    content: '';
    height: 25px; width: 45px;
    background-image: -webkit-repeating-radial-gradient(center center, var(--accent), var(--accent) 1px, transparent 0px, transparent 100%);
    background-size: 6px 6px;
    z-index: 0;
}

/* BLOCK TITLE */
.block-title {
    display: inline-block;
    position: relative;
    padding-right: 12px;
    padding-bottom: 10px;
    margin-bottom: 25px;
}
.block-title h2 {
    font-size: 24px;
    font-weight: 600;
    color: #222;
    margin: 0;
    position: relative; z-index: 1;
}
.block-title h2 span { color: var(--accent); }
.block-title:after {
    position: absolute; opacity: 0.45;
    top: 10px; right: 0;
    content: '';
    height: 20px; width: 30px;
    background-image: -webkit-repeating-radial-gradient(center center, var(--accent), var(--accent) 1px, transparent 0px, transparent 100%);
    background-size: 6px 6px;
    z-index: 0;
}

/* HOME */
.vcentered {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 120px);
    width: 100%;
}
.title-block {
    text-align: center;
    width: 100%;
}
.title-block h2 {
    font-size: 48px;
    line-height: 1.3em;
    margin: 0 0 10px;
    color: #222;
    font-weight: 700;
}
.text-rotation .sp-subtitle {
    font-size: 21px;
    font-weight: 300;
    color: #767676;
}
.typed-cursor { font-weight: 300; color: #767676; font-size: 21px; animation: blink 1s infinite; }
@keyframes blink { 0%,50% { opacity:1; } 51%,100% { opacity:0; } }

/* INFO LIST */
.info-list ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; }
.info-list ul li {
    flex: 0 0 50%;
    padding: 0 15px 10px 0;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 10px;
}
.info-list ul li:nth-last-child(2):nth-child(odd) { border-bottom: none; }
.info-list ul li:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.info-list .title { color: var(--accent); margin-right: 5px; font-weight: 600; }
.info-list .value { color: #777; }

/* WHAT I DO */
.info-block-w-icon { margin-bottom: 25px; display: table; width: 100%; }
.info-block-w-icon .ci-icon { display: table-cell; width: 54px; padding-right: 20px; vertical-align: top; }
.info-block-w-icon .ci-icon i { font-size: 42px; color: var(--accent); opacity: .7; }
.info-block-w-icon .ci-text { display: table-cell; }
.info-block-w-icon .ci-text h4 { margin: 0 0 5px; color: #222; font-size: 18px; }
.info-block-w-icon .ci-text p { font-size: .95em; color: #555; margin: 0; }

/* TESTIMONIALS */
.testimonial {
    text-align: center;
    border: 2px solid #e5e6e7;
    border-radius: 20px;
    margin: 45px 2px 10px;
    padding: 0 25px 20px;
    background: #fff;
}
.testimonial .img { margin: -45px auto 20px; width: 90px; }
.testimonial .img img {
    width: 90px; height: 90px;
    border-radius: 50%;
    box-shadow: 0 10px 10px -8px rgba(0,0,0,.22);
    object-fit: cover;
}
.testimonial .text { text-align: left; font-style: italic; font-size: .95em; color: #555; margin-bottom: 15px; }
.testimonial .text p { margin: 0; }
.testimonial .author-info { position: relative; text-align: left; }
.testimonial .author-info .author { margin: 0; font-size: 15px; color: #222; }
.testimonial .author-info .company { color: #a5a6a7; font-size: 13px; font-weight: 300; margin: 0; }
.testimonial .author-info .company a { color: #a5a6a7; text-decoration: none; }
.testimonial .author-info .icon {
    position: absolute; font-size: 30px;
    right: 0; top: 7px;
    color: var(--accent); opacity: .5;
}

/* CLIENTS MARQUEE */

/* FUN FACTS */
.fun-fact {
    text-align: center;
    width: 100%;
    background: #fff;
    padding: 25px 10px 15px;
    border: 2px solid #e5e5e5;
    border-radius: 10px;
    transition: all 0.2s;
}
.fun-fact:hover { transform: translateY(-5px); box-shadow: 0 12px 17px rgba(0,0,0,0.12); }
.fun-fact i { font-size: 33px; color: var(--accent); margin-bottom: 10px; }
.fun-fact h4 { font-size: 16px; margin: 10px 0; color: #222; font-weight: 600; }
.fun-fact-block-value { color: #aaa; font-size: 36px; line-height: 50px; display: block; margin: 5px 0; }

/* TIMELINE */
.timeline-item {
    position: relative;
    display: table;
    table-layout: fixed;
    width: 100%;
    padding-bottom: 20px;
}
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item .left-part {
    width: 30%; display: table-cell;
    padding-right: 25px;
    text-align: right;
    vertical-align: top;
}
.timeline-item .left-part .item-period { margin: 3px 0; font-size: 14px; line-height: 1.4em; color: #555; font-weight: 500; }
.timeline-item .left-part .item-company { display: block; margin: 0 0 4px; font-size: 13px; font-weight: 300; line-height: 1.45em; color: #a5a6a7; }
.timeline-item .right-part {
    width: 70%; display: table-cell;
    padding-left: 25px; padding-right: 15px;
    vertical-align: top;
}
.timeline-item .right-part p { font-size: 0.92em; color: #555; margin: 0; }
.timeline-item .right-part ul { padding-left: 18px; font-size: 0.92em; color: #555; margin: 0; }
.timeline-item .right-part .item-title { font-size: 16px; margin-bottom: 5px; color: #222; font-weight: 600; }
.timeline-item .divider {
    position: absolute; top: 0; left: 30%; bottom: 0;
    width: 1px; background: #eee;
}
.timeline-item .divider:before {
    content: '';
    display: block;
    position: absolute; margin-top: 4px;
    width: 17px; height: 17px;
    margin-left: -8px;
    border-radius: 10px;
    background: var(--accent); opacity: .25;
    z-index: 0;
}
.timeline-item .divider:after {
    content: '';
    display: block;
    position: absolute; margin-top: 8px;
    width: 9px; height: 9px;
    margin-left: -4px;
    background: #fff;
    border-radius: 5px;
    border: 2px solid var(--accent);
    z-index: 1;
}

/* SKILLS */
.skills-info .skill { margin-bottom: 4px; }
.skills-info h4 { font-size: 13px; line-height: 1.1em; float: left; margin: 0; color: #222; }
.skill-value { font-size: 11px; line-height: 1.1em; float: right; margin: 0; color: #aaa; }
.skill-container {
    position: relative;
    display: inline-block;
    background: #fff;
    border: 1px solid var(--accent);
    border-radius: 8px;
    height: 10px;
    margin-bottom: 12px;
    width: 100%;
}
.skill-percentage {
    background: var(--accent);
    border: 2px solid #fff;
    border-radius: 9px;
    height: 8px;
    padding: 0;
}

/* KNOWLEDGES */
.knowledges { list-style: none; padding: 0; }
.knowledges li {
    display: inline-block;
    background: var(--accent);
    border-radius: 3px;
    color: #fff;
    padding: 2px 10px;
    margin: 3px 2px;
    font-size: 13px;
}

/* CERTIFICATES */
.certificate-item {
    position: relative;
    display: table;
    table-layout: fixed;
    width: 100%;
    border: 2px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 20px;
    transition: all .2s;
    cursor: pointer;
}
.certificate-item:hover { border-color: var(--accent); }
.certi-logo {
    display: table-cell;
    width: 120px; height: 100%;
    background: #f5f5f5;
    padding: 25px;
    vertical-align: middle;
    border-radius: 6px 0 0 6px;
}
.certi-logo img { display: block; max-width: 100%; }
.certi-content { display: table-cell; width: 100%; padding: 20px 25px; vertical-align: middle; }
.certi-title h4 { font-size: 16px; margin: 0 0 5px; color: #222; font-weight: 600; }
.certi-id { font-size: .9em; color: #777; }
.certi-date { font-size: .7em; color: #777; opacity: .7; }

/* PORTFOLIO */
.portfolio-filters { margin-bottom: 30px; list-style: none; padding: 0; }
.portfolio-filters li { display: inline-block; margin-right: 15px; }
.portfolio-filters li a {
    color: #666; cursor: pointer; transition: all 0.3s;
    font-size: 13px; text-decoration: none; padding: 2px 0;
}
.portfolio-filters li.active a { color: var(--accent); }
.portfolio-filters li a:hover { color: var(--accent); }
.portfolio-grid { margin: 0 -7px; }
.portfolio-grid:after { content: ''; display: table; clear: both; }
.portfolio-grid figure {
    width: 33.33333%; float: left; padding: 7px;
    position: relative; overflow: hidden;
    margin: 0;
}
.portfolio-item-img { position: relative; overflow: hidden; border-radius: 4px; }
.portfolio-item-img img { width: 100%; display: block; transition: all 0.3s; }
.portfolio-grid figure:hover .portfolio-item-img img { transform: scale(1.05); }
.portfolio-grid figure .name {
    display: block; padding: 15px 0 3px;
    font-size: 16px; color: #222; font-weight: 600;
}
.portfolio-grid figure .category {
    display: inline-block;
    color: #a5a6a7;
    font-size: 11px;
}

/* BLOG */
.blog-masonry { margin: 0 -1em 1.8em; }
.blog-masonry:after { content: ''; display: table; clear: both; }
.blog-masonry .item { width: 50%; float: left; padding: 0 1em 2em; }
.blog-card { background: #fff; border: 1px solid #eee; border-radius: 8px; overflow: hidden; }
.blog-card .media-block { overflow: hidden; position: relative; }
.blog-card .media-block img { width: 100%; transition: all .3s; display: block; }
.blog-card .media-block:hover img { transform: scale(1.05); }
.blog-card .category { position: absolute; top: 10px; left: 10px; }
.blog-card .category a {
    background: #fff; padding: 2px 7px;
    font-size: 11px; color: #222; z-index: 3;
    text-decoration: none; border-radius: 2px;
}
.blog-card .post-info { padding: 1em 1.4em 1.4em; }
.blog-card .post-date { color: #888; font-size: 11px; font-weight: 300; }
.blog-card .blog-item-title {
    margin: 5px 0 0; font-size: 16px;
    color: #222; font-weight: 600;
    text-decoration: none; transition: all 0.3s;
}
.blog-card .blog-item-title:hover { color: var(--accent); }

/* CONTACT INFO */
.lm-info-block {
    text-align: center;
    width: 100%;
    background: #fcfcfc;
    padding: 20px 10px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: all 0.2s;
}
.lm-info-block:hover { border-color: var(--accent); }
.lm-info-block i { font-size: 33px; color: var(--accent); }
.lm-info-block h4 { font-size: 15px; margin-top: 8px; color: #222; font-weight: 600; }

/* FORM */
.form-group { position: relative; margin: 0 0 21.5px; }
.form-control {
    height: 44px;
    border: 2px solid #d5d6d7;
    border-radius: 5px;
    display: block;
    font-size: 1em; line-height: 1.4;
    margin: 0;
    padding: 10px 25px 10px 12px;
    width: 100%;
    background: transparent;
    color: #555;
    box-shadow: 0 10px 10px -8px rgba(0,0,0,.1);
    outline: none;
    font-family: 'Poppins', sans-serif;
    transition: border-color 0.3s;
}
textarea.form-control { height: auto; resize: vertical; }
.form-control:focus { border-color: var(--accent); }
.form-group label {
    position: absolute;
    top: 10px; left: 15px;
    color: #a5a6a7;
    font-size: 13px;
    transition: 0.3s;
    pointer-events: none;
    font-weight: 400;
}
.form-group .form-control:focus ~ label,
.form-group.form-group-focus .form-control ~ label {
    color: var(--accent);
    top: -20px; left: 0;
    font-size: 13px;
}
.controls.two-columns:after { content: ''; display: table; clear: both; }
.controls.two-columns .left-column { width: 47%; float: left; margin-right: 3%; }
.controls.two-columns .right-column { width: 50%; float: right; }
.button.btn-send {
    display: inline-block;
    padding: 12px 30px;
    font-size: 15px;
    border: 2px solid var(--accent);
    background: var(--accent);
    color: #fff;
    border-radius: 30px;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: all 0.3s;
}
.button.btn-send:hover { background: transparent; color: var(--accent); }
.form-status {
    margin-top: 15px; font-size: 14px;
    min-height: 20px;
}
.form-status.success { color: #28a745; }
.form-status.error { color: #dc3545; }
.map-container { border-radius: 8px; overflow: hidden; margin-bottom: 20px; }
.map-container iframe { width: 100%; height: 300px; border: 0; display: block; }
.map-placeholder {
    width: 100%; height: 300px;
    background: #f0f0f0;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    position: relative;
}
.map-placeholder:hover { background: #e4e4e4; }
.map-placeholder-text { color: #666; font-size: 14px; }
.map-placeholder:hover .map-placeholder-text { color: var(--accent); }
.white-space-50 { padding-bottom: 50px; }
.white-space-30 { padding-bottom: 30px; }
.white-space-10 { padding-bottom: 10px; }

/* GRID */
.row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.col-4 { flex: 0 0 33.333%; max-width: 33.333%; padding: 0 15px; }
.col-5 { flex: 0 0 41.667%; max-width: 41.667%; padding: 0 15px; }
.col-6 { flex: 0 0 50%; max-width: 50%; padding: 0 15px; }
.col-7 { flex: 0 0 58.333%; max-width: 58.333%; padding: 0 15px; }
.col-8 { flex: 0 0 66.667%; max-width: 66.667%; padding: 0 15px; }
.col-12 { flex: 0 0 100%; max-width: 100%; padding: 0 15px; }

/* CLIENTS MARQUEE */
.clients-marquee { overflow: hidden; margin-bottom: 15px; }
.clients-track { display: flex; gap: 40px; width: fit-content; padding: 10px 0; }
.track-left { animation: marquee-left 30s linear infinite; }
.clients-marquee:hover .track-left { animation-play-state: paused; }
@keyframes marquee-left {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.client-block { text-align: center; padding: 5px; opacity: .7; transition: all 0.3s; flex-shrink: 0; }
.client-block:hover { opacity: 1; }
.client-block img { max-height: 40px; filter: grayscale(1); transition: all 0.3s; width: auto; max-width: 120px; }
.client-block:hover img { filter: grayscale(0); }

/* RESPONSIVE */
@media (max-width: 1200px) {
    .testimonials-row .col-4 { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 1024px) {
    body { overflow: hidden; }
    .page-wrapper { padding: 0; overflow: hidden; }
    .page-content { border-radius: 0; margin: 0; height: 100vh; height: 100dvh; padding: 0; box-shadow: none; overflow: hidden; }
    .header {
        position: absolute;
        width: 100%;
        max-width: 330px;
        top: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(#04b4e0, #04b4e0);
        z-index: 101;
        padding: 30px 30px 10px 30px;
        text-align: center;
        opacity: 1;
        visibility: visible;
        overflow: auto;
        -webkit-transition: all .25s ease-in-out;
        -moz-transition: all .25s ease-in-out;
        -o-transition: all .25s ease-in-out;
        -ms-transition: all .25s ease-in-out;
        transition: all .25s ease-in-out;
        float: none;
        height: auto;
        min-height: inherit;
        min-height: 100%;
    }
    .header .copyrights {
        right: 0;
        width: 100%;
        position: relative;
        margin-top: 30px;
    }
    .header.mobile-menu-hide {
        width: 0;
        right: 0;
        margin-right: -100%;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        -webkit-box-shadow: none;
        -moz-box-shadow: none;
        box-shadow: none;
    }
    .header-titles h1 { font-size: 30px; margin-bottom: 10px; }
    .header-titles h2 { font-size: 17px; }
    .header-photo { max-width: 130px; margin-bottom: 25px; }
    ul.main-menu {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        width: 100% !important;
        display: block !important;
        background: transparent !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin: 30px 0 !important;
        z-index: 103 !important;
    }
    ul.main-menu li { margin: 0; }
    ul.main-menu a {
        display: block; color: #fff; padding: 12px 20px;
        line-height: 21px; opacity: .7; font-size: 16px;
        text-decoration: none; border-radius: 25px; transition: all 0.3s;
    }
    ul.main-menu a.active,
    ul.main-menu a:hover { opacity: 1; color: #fff; background: rgba(255,255,255,.15); }
    ul.main-menu .menu-icon { display: none; }
    ul.main-menu .link-text {
        position: relative;
        visibility: visible;
        opacity: 1;
        background: transparent;
        box-shadow: none;
        padding: 0;
        color: #fff;
        right: auto;
        top: auto;
        margin-top: 0;
        font-size: 16px;
        line-height: 21px;
        width: auto;
    }
    ul.mobile-main-menu { display: none; }
    .mobile-site-title {
        display: block; visibility: visible;
    }
    .mobile-site-title a,
    .mobile-site-title a:hover,
    .mobile-site-title a:focus {
        position: absolute;
        display: inline-block;
        font-weight: 600;
        padding: 10px;
        z-index: 99;
        left: 20px;
        top: 10px;
        border-radius: 5px;
        background-color: rgba(255,255,255,.8);
        font-size: 18px;
        color: #222;
        text-decoration: none;
    }
    .menu-toggle {
        display: block;
        position: absolute;
        width: 48px; height: 48px;
        line-height: 46px;
        text-align: center;
        background: var(--accent);
        right: 10px;
        top: 10px;
        border-radius: 30px;
        border: none;
        cursor: pointer;
        z-index: 900;
        font-size: 19px;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        -o-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    .menu-toggle span {
        display: block;
        position: absolute;
        height: 3px;
        width: 50%;
        background: #fff;
        border-radius: 5px;
        opacity: 1;
        left: 25%;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: .25s ease-in-out;
        -moz-transition: .25s ease-in-out;
        -o-transition: .25s ease-in-out;
        transition: .25s ease-in-out;
    }
    .menu-toggle span:nth-child(1) {
        top: 16px;
        -webkit-transform-origin: left center;
        -moz-transform-origin: left center;
        -o-transform-origin: left center;
        transform-origin: left center;
    }
    .menu-toggle span:nth-child(2) {
        top: 22px;
        -webkit-transform-origin: left center;
        -moz-transform-origin: left center;
        -o-transform-origin: left center;
        transform-origin: left center;
    }
    .menu-toggle span:nth-child(3) {
        top: 28px;
        -webkit-transform-origin: left center;
        -moz-transform-origin: left center;
        -o-transform-origin: left center;
        transform-origin: left center;
    }
    .menu-toggle.open span:nth-child(1) {
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 13px;
        left: 15px;
    }
    .menu-toggle.open span:nth-child(2) {
        width: 0%;
        opacity: 0;
    }
    .menu-toggle.open span:nth-child(3) {
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -o-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 30px;
        left: 15px;
    }
    .lmpixels-arrows-nav {
        display: block;
        background: rgba(255,255,255,.6);
        width: 48px;
        right: 10px;
        bottom: calc(10px + env(safe-area-inset-bottom, 0px));
        padding: 5px 0;
        border: 2px solid var(--accent);
        position: absolute;
        border-radius: 35px;
        z-index: 98;
        box-shadow: 0 0 30px -5px rgba(0,0,0,.15);
    }
    .lmpixels-arrows-nav div { font-size: 24px; }
    .content-area {
        max-width: 100%;
    }
    .animated-section {
        border-radius: 0;
        overflow: auto !important;
    }
    .animated-section > .section-content { padding: 85px 30px 40px; }
    #section-home > .section-content { display: flex; flex-direction: column; }
    #section-home .vcentered { height: 100%; flex: 1; }
    .title-block h2 { font-size: 36px; }
    .page-title h1 { font-size: 24px; }

}
@media (max-width: 768px) {
    .portfolio-grid figure { width: 50%; }
    .blog-masonry .item { width: 100%; }
    .controls.two-columns .left-column,
    .controls.two-columns .right-column { float: none; width: 100%; margin: 0; }
    .info-list ul li { flex: 0 0 100%; overflow-wrap: break-word; }
    .testimonials-row .col-4 { flex: 0 0 100%; max-width: 100%; }
    .header-titles h1 { font-size: 24px; }
    .header-titles h2 { font-size: 15px; }
    .clients-track { gap: 25px; }
    .track-left { animation-duration: 20s; }
}
@media (max-width: 480px) {
    .portfolio-grid figure { width: 100%; }
    .portfolio-filters { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 10px; }
    .portfolio-filters li { margin-right: 10px; }
    .timeline-item { display: block; }
    .timeline-item .left-part { width: 100%; display: block; padding-left: 25px; text-align: left; padding-right: 0; }
    .timeline-item .divider { left: 0; }
    .timeline-item .right-part { width: 100%; display: block; padding-left: 25px; padding-right: 0; }
    .animated-section > .section-content { padding: 80px 15px 30px; }
    #section-home > .section-content { display: flex; flex-direction: column; }
    #section-home .vcentered { height: 100%; flex: 1; }
    .row { margin: 0 -10px; }
    .col-4, .col-5, .col-6, .col-7, .col-8, .col-12 { padding: 0 10px; min-width: 0; overflow-wrap: break-word; }
    .col-4,
    .col-5,
    .col-7,
    .col-8 { flex: 0 0 100%; max-width: 100%; }
    #section-about-me .col-7,
    #section-about-me .col-5 { flex: 0 0 100%; max-width: 100%; }
    .col-6 { flex: 0 0 100%; max-width: 100%; }
    .certificate-item { display: block; }
    .certi-logo { display: block; width: 100%; padding: 15px; border-radius: 6px 6px 0 0; text-align: center; }
    .certi-logo img { max-width: 80px; margin: 0 auto; }
    .certi-content { display: block; width: 100%; padding: 15px; }
    .title-block h2 { font-size: 28px; }
    .text-rotation .sp-subtitle { font-size: 16px; }
    .page-title h1 { font-size: 20px; }
    .block-title h2 { font-size: 18px; }
    .info-block-w-icon .ci-icon i { font-size: 32px; }
    .fun-fact-block-value { font-size: 28px; }
    .blog-card .blog-item-title { font-size: 14px; }
    .lm-info-block { padding: 15px 8px; }
    .lm-info-block i { font-size: 26px; }
    .lm-info-block h4 { font-size: 13px; }
}
.portfolio-item-img img, .certi-logo img, .testimonial .img img { width: 100%; height: auto; }
.testimonial .img img { aspect-ratio: 1; }
.certi-logo img { aspect-ratio: 1; object-fit: contain; }
a:focus-visible, button:focus-visible { outline: 2px solid #04b4e0; outline-offset: 2px; }

