/*
 * site.css - small additions that replace plugin behavior and former inline styles.
 * Keeping all styles in files (no style="" attributes) allows a strict Content-Security-Policy.
 */

/* Barlow, self-hosted (SIL Open Font License 1.1, see assets/fonts/OFL.txt) */
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-300.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-regular.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-500.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-600.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-700.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-800.woff2) format('woff2');
}
@font-face {
    font-family: 'Barlow';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url(../fonts/barlow-v13-latin-900.woff2) format('woff2');
}

/* Former inline banner backgrounds */
.banner-one--home     { background-image: url(../images/background/banner-bg-1-1.png); }
.banner-one--network  { background-image: url(../images/background/banner-bg-1-2.png); }
.banner-one--custom   { background-image: url(../images/background/banner-bg-1-3.png); }

/* Former inline paragraph style on the home page feature boxes */
.service-one__text { text-align: left; padding: 15px; }

/* Inline SVG icons (replace Font Awesome) */
.icon { width: 1em; height: 1em; fill: currentColor; vertical-align: -0.125em; }

/* Back-to-top button: shown by site.js after scrolling */
.scroll-to-top { display: inline-block; opacity: 0; visibility: hidden; }
.scroll-to-top.is-visible { opacity: 1; visibility: visible; }

/* Preloader fade-out */
.preloader { transition: opacity .4s ease, visibility .4s ease; }
.preloader.is-hidden { opacity: 0; visibility: hidden; }

/* Side menu scrolls natively (replaces mCustomScrollbar) */
.side-menu__block-inner { overscroll-behavior: contain; }
.side-menu__block-overlay .cursor,
.side-menu__block-overlay .cursor-follower { position: fixed; }

/* Reveal-on-scroll (replaces wow.js + animate.css) */
.reveal-pending { opacity: 0; }
.reveal-in { animation-name: fadeInUp; animation-duration: 1s; animation-fill-mode: both; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translate3d(0, 40px, 0); }
    to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
    .reveal-pending { opacity: 1; }
    .reveal-in { animation: none; }
    .preloader, .side-menu__block, .stricked-menu, .scroll-to-top { transition: none; }
}
