@charset "utf-8";

@import "font-awesome.min.css";
@import "simple-line-icons.css";


/* CSS fallback for hero height - prevents content flash before JS sets exact height */
.js-height-full {
	min-height: 100vh;
}



/*------------------------------------------------------------------
[Table of contents]

1. Common styles
2. Page loader / .page-loader
3. Typography
4. Buttons
5. Forms fields
6. Home sections / .home-section
    6.1. Home content
    6.2. Scroll down icon
    6.3. Headings styles
7. Compact bar / .nav-bar-compact
8. Classic menu bar / .main-nav
9. Sections styles / .page-section, .small-section, .split-section
10. Services / .service-grid
11. Alternative services / .alt-service-grid
12. Team / .team-grid
13. Features
14. Benefits (Process)
15. Counters
16. Portfolio / #portfolio
    16.1. Works filter
    16.2. Works grid
    16.3. Works full view
17. Banner section
18. Testimonial
    18.1. Logotypes
19. Last posts (blog section)
20. Newsletter
21. Contact section
    21.1. Contact form
22. Bottom menu / .bot-menu
23. Google maps  /.google-map
24. Footer / .footer
25. Blog
    25.1. Pagination
    25.2. Comments
    25.3. Sidebar
26. Pricing
27. Shortcodes
    27.1. Owl Carousel
    27.2. Tabs
    27.3. Tabs minimal
    27.4. Alert messages
    27.5. Accordion
    27.6. Toggle
    27.7. Progress bars
    27.8. Font icons examples
    27.9. Intro page
28. Bootstrap multicolumn grid


/*------------------------------------------------------------------
# [Color codes]

# Red (active elements, links) #e41919
# Black (text) #000
# Dark #222
# Dark Lighter #252525
# Gray #f4f4f4
# Gray Lighter #f8f8f8
# Mid grey #5f5f5f
# Borders #e9e9e9
# Orange #f47631
# Yellow #ffce02
# Cyan #27c5c3
# Green #58bf44
# Blue #43a5de
# Purple #375acc
# Red #e13939
# */


/*------------------------------------------------------------------
[Typography]

Body:               14px/1.6 Raleway, arial, sans-serif;
Headers:            Raleway, arial, sans-serif;
Serif:              Libre Baskerville", "Times New Roman", Times, serif;
Section Title:      35px/1.3 Raleway, arial, sans-serif;
Section Heading:    16px/1.3 Libre Baskerville", "Times New Roman", Times, serif;
Section Text:       17px/1.8 Raleway, arial, sans-serif;

-------------------------------------------------------------------*/





/* =============================================
        1. ZÁKLADNÍ LAYOUT
        Nastavení základní struktury stránky
        ============================================= */

/* Světlé pozadí */
body {
	background-color: #f8f9fa;
}

/* Odsazení první sekce pod fixed navigací */
body.has-fixed-header section:first-of-type,
body.has-fixed-header main {
	scroll-margin-top: 100px;
	padding-top: max(100px, 10vh);
}

/* Obsah stránky nad canvas animací */
.page {
	position: relative;
	z-index: 2;
}

/* =============================================
   2. NAVIGACE
   Fixed header s transparentním->solid přechodem
   ============================================= */

/* Transparentní header na vrchu stránky */
#siteHeader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: transparent;
	transition: background-color 240ms ease,
		box-shadow 240ms ease,
		border-color 240ms ease;
}

/* Solid header po scrollu dolů */
#siteHeader.header-solid {
	background: #ffffff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Hero logo - velké logo v první sekci */
.hero-logo {
	height: 120px;
	width: auto;
	max-width: 90%;
	margin: 0 auto;
	display: block;
}

/* NOVÝ KÓD - Bílá barva a posun dolů */
.nav-logo-wrap .logo {
	max-width: none !important;
	max-height: none !important;
	width: auto !important;
	height: auto !important;
	display: flex;
	align-items: center;
	/* ZMĚNA 1: Nastavení barvy odkazu na bílou.
       Díky fill="currentColor" v SVG bude logo bílé. */
	color: #ffffff !important;
}

.nav-logo-wrap .logo img,
.nav-logo-wrap .logo svg {
	width: auto !important;
	max-width: none !important;
	max-height: none !important;
	transition: all 0.3s ease;
	/* ZMĚNA 2: Posun loga směrem dolů o 6 pixelů */
	margin-top: 6px;
}

/* === STATE 1: HERO (Transparent) === */
#siteHeader:not(.header-solid) {
	padding-top: 15px;
	padding-top: 15px;
	padding-bottom: 15px;
}

/* Align Nav Text to Logo Baseline */
#siteHeader:not(.header-solid) .inner-nav ul li a {
	line-height: normal !important;
	padding-top: 20px !important;
	height: auto !important;
}

/* Ensure text is dark in solid header */
#siteHeader.header-solid .inner-nav ul li a {
	color: #000 !important;
	line-height: 55px !important;
	/* Ensure vertical centering is reset */
	padding-top: 0 !important;
	/* Reset padding */
}

/* Large White SVG */
#siteHeader:not(.header-solid) .logo-hero {
	height: 50px !important;
	/* Zvětšeno pro Hero sekci */
	display: block !important;
}

/* Hidden Colorful IMG */
#siteHeader:not(.header-solid) .logo-scroll {
	display: none !important;
}

/* === STATE 2: SCROLLED (Solid) === */
/* Hidden SVG */
#siteHeader.header-solid .logo-hero {
	display: none !important;
}

/* Small Colorful IMG */
#siteHeader.header-solid .logo-scroll {
	height: 35px !important;
	/* Původní velikost pro scroll */
	display: block !important;
}

/* =============================================
   3. CANVAS ANIMACE
   Fullscreen animované pozadí s částicemi
   ============================================= */

/* Canvas fixovaný na celou obrazovku */
#large-header-home {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 0 !important;
	overflow: hidden;
	background:
		/* 1. VRSTVA: Světlo z boku (zleva) */
		radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),

		/* 2. VRSTVA: Původní lineární gradient */
		linear-gradient(#224256 0%, #224256 63%, #224155 83%, #224256 100%);
}

#large-header-dopravni-stavby {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 0 !important;
	overflow: hidden;
	background:
		/* 1. VRSTVA: Světlo z boku (zleva) */
		radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),

		/* 2. VRSTVA: Původní lineární gradient */
		linear-gradient(#233125 0%, #233125 63%, #233024 83%, #233125 100%);
	/* linear-gradient(#ffe6ff 0%, #ffe6ff 63%, #ffe6ff 83%, #ffe6ff 100%); */
}

#large-header-developeri {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 0 !important;
	overflow: hidden;
	background:
		/* 1. VRSTVA: Světlo z boku (zleva) */
		radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),

		/* 2. VRSTVA: Původní lineární gradient */
		linear-gradient(#23353b 0%, #23353b 63%, #24343b 83%, #23353b 100%);
	/* linear-gradient(#ffe6ff 0%, #ffe6ff 63%, #ffe6ff 83%, #ffe6ff 100%); */
}

#large-header-produktove-rendery {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	z-index: 0 !important;
	overflow: hidden;
	background:
		/* 1. VRSTVA: Světlo z boku (zleva) */
		radial-gradient(ellipse at 0% 30%, rgba(255, 255, 255, 0.3) 0%, transparent 60%),

		/* 2. VRSTVA: Původní lineární gradient */
		linear-gradient(#4e3b48 0%, #4e3b48 63%, #4e3a48 83%, #4e3b48 100%);
	/* linear-gradient(#ffe6ff 0%, #ffe6ff 63%, #ffe6ff 83%, #ffe6ff 100%); */
}


/* 1. Styl pro nový obrázek domu - VYCENTROVANÝ A MENŠÍ */
.hero-bg-image-home {
	position: absolute;
	z-index: 0;
	/* Zůstává vrstva pod částicemi */

	/* --- NASTAVENÍ VELIKOSTI (cca 50%) --- */
	width: 80%;
	/* Nastaví šířku na polovinu kontejneru */
	height: auto;
	/* Výška se dopočítá automaticky, aby se nedeformoval */
	/* Pokud by se vám zdál moc velký/malý, upravte hodnotu 'width' (např. 40% nebo 60%) */

	/* --- NASTAVENÍ POZICE NA STŘED --- */
	top: 50%;
	/* Horní hrana obrázku je v polovině výšky okna */
	left: 50%;
	/* Levá hrana obrázku je v polovině šířky okna */
	/* Následující řádek je klíčový: posune obrázek zpět o polovinu jeho vlastní
       šířky a výšky, čímž ho perfektně vycentruje */
	transform: translate(-50%, -50%);
}

.hero-bg-image-dopravni-stavby {
	position: absolute;
	z-index: 0;
	/* Zůstává vrstva pod částicemi */

	/* --- NASTAVENÍ VELIKOSTI (cca 50%) --- */
	width: 70%;
	/* Nastaví šířku na polovinu kontejneru */
	height: auto;
	/* Výška se dopočítá automaticky, aby se nedeformoval */
	/* Pokud by se vám zdál moc velký/malý, upravte hodnotu 'width' (např. 40% nebo 60%) */

	/* --- NASTAVENÍ POZICE NA STŘED --- */
	top: 50%;
	/* Horní hrana obrázku je v polovině výšky okna */
	left: 50%;
	/* Levá hrana obrázku je v polovině šířky okna */
	/* Následující řádek je klíčový: posune obrázek zpět o polovinu jeho vlastní
       šířky a výšky, čímž ho perfektně vycentruje */
	transform: translate(-50%, -50%);
}

.hero-bg-image-developeri {
	position: absolute;
	z-index: 0;
	/* Zůstává vrstva pod částicemi */

	/* --- NASTAVENÍ VELIKOSTI (cca 50%) --- */
	width: 80%;
	/* Nastaví šířku na polovinu kontejneru */
	height: auto;
	/* Výška se dopočítá automaticky, aby se nedeformoval */
	/* Pokud by se vám zdál moc velký/malý, upravte hodnotu 'width' (např. 40% nebo 60%) */

	/* --- NASTAVENÍ POZICE NA STŘED --- */
	top: 50%;
	/* Horní hrana obrázku je v polovině výšky okna */
	left: 50%;
	/* Levá hrana obrázku je v polovině šířky okna */
	/* Následující řádek je klíčový: posune obrázek zpět o polovinu jeho vlastní
       šířky a výšky, čímž ho perfektně vycentruje */
	transform: translate(-50%, -50%);
}

.hero-bg-image-produktove-rendery {
	position: absolute;
	z-index: 99;
	/* Zůstává vrstva pod částicemi */

	/* --- NASTAVENÍ VELIKOSTI (cca 50%) --- */
	width: 70%;
	/* Nastaví šířku na polovinu kontejneru */
	height: auto;
	/* Výška se dopočítá automaticky, aby se nedeformoval */
	/* Pokud by se vám zdál moc velký/malý, upravte hodnotu 'width' (např. 40% nebo 60%) */

	/* --- NASTAVENÍ POZICE NA STŘED --- */
	top: 50%;
	/* Horní hrana obrázku je v polovině výšky okna */
	left: 50%;
	/* Levá hrana obrázku je v polovině šířky okna */
	/* Následující řádek je klíčový: posune obrázek zpět o polovinu jeho vlastní
       šířky a výšky, čímž ho perfektně vycentruje */
	transform: translate(-50%, -50%);
}




/* Opravený styl pro canvas */
#demo-canvas {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
	display: block !important;
	pointer-events: none;
}

/* Oprava bílého pruhu pod navigací */
.sticky-wrapper {
	height: 0px !important;
	/* Vnutíme nulovou výšku */
	position: absolute !important;
	/* Vyjmeme z toku dokumentu */
	width: 100%;
}

/* Semi-transparentní sekce pro viditelnost animace */
.page-section,
.small-section,
section {
	position: relative !important;
	z-index: 2 !important;
	background-image: none !important;
	background-color: rgba(248, 249, 250, 0.75) !important;
}

/* Variace průhlednosti pro různé typy sekcí */
.page-section.bg-dark,
.small-section.bg-dark,
section.bg-dark {
	background-color: rgba(248, 249, 250, 0.01) !important;
}

.page-section.bg-gray-lighter,
.small-section.bg-gray-lighter {
	background-color: rgba(250, 250, 250, 0.75) !important;
}

.page-section.bg-gray,
.small-section.bg-gray {
	background-color: rgba(245, 245, 245, 0.75) !important;
}

.bg-light-alfa,
section[data-background] {
	background-image: none !important;
	background-color: rgba(17, 184, 224, 0.9) !important;
}

.bg-dark-alfa-50,
.bg-dark-alfa-90,
.bg-scroll {
	background-image: none !important;
	background-color: rgba(42, 42, 42, 0.85) !important;
}

/* 1. Reset samotné sekce */
.home-section {
	position: relative !important;
	background: transparent !important;
	/* Barvu dáme do ::before */
	z-index: 2 !important;
}

.split-section,
.parallax-3 {
	background-image: none !important;
	background-color: rgba(42, 42, 42, 0.85) !important;
}

.fullwidth-slider section {
	background-image: none !important;
	background-color: rgba(42, 42, 42, 0.85) !important;
}

/* Styl pro obrázek v záložkách */
#about-img {
	/* Zajistí plynulost a hardwarovou akceleraci (proti sekání) */
	transition: opacity 0.4s ease-in-out;
	opacity: 1;
	will-change: opacity;

	/* Zabrání skákání výšky, pokud by se obrázek nenačetl hned */
	min-height: 200px;
	display: block;
	margin: 0 auto;
}

/* Třída pro skrytý stav */
#about-img.image-hidden {
	opacity: 0;
}


/* =============================================
   4. KOMPONENTY
   Tabs, filtry, listy, tlačítka, popupy
   ============================================= */

/* --- 4.1 TABS A FILTRY --- */
/* Jednotný styl pro všechny taby a filtry portfolia */

.tpl-minimal-tabs>li>a,
.works-filter a {
	padding: 15px 20px 14px !important;
	border-radius: 0 !important;
	border: 2px solid rgba(17, 184, 224, 0.2) !important;
	color: #777 !important;
	background: none !important;
	transition: all 0.3s ease;
	font-weight: 700;
	display: inline-block;
	margin: 5px;
}

/* Hover efekt - zvednutí a zvýraznění */
.tpl-minimal-tabs>li:not(.active)>a:hover,
.tpl-minimal-tabs>li:not(.active)>a:focus,
.tpl-minimal-tabs>li:not(.active)>a:active,
.works-filter a:not(.active):hover,
.works-filter a:not(.active):focus {
	border-color: rgba(17, 184, 224, 0.8) !important;
	background-color: rgba(17, 184, 224, 0.05) !important;
	color: #11b8e0 !important;
	transform: translateY(-2px);
	outline: none !important;
}

/* Aktivní stav - silnější border */
.tpl-minimal-tabs>li.active>a,
.tpl-minimal-tabs>li.active>a:hover,
.tpl-minimal-tabs>li.active>a:focus,
.tpl-minimal-tabs>li.active>a:active,
.works-filter a.active {
	border: 3px solid #11b8e0 !important;
	border-color: #11b8e0 !important;
	color: #000 !important;
	background: none !important;
	transform: none;
	cursor: default;
}

.works-filter a.active:hover {
	background: none !important;
	transform: none;
	cursor: default;
}

/* Override Bootstrap výchozích stylů */
.nav-tabs>li>a:hover,
.nav-tabs>li>a:focus {
	color: #11b8e0 !important;
	border-color: rgba(17, 184, 224, 0.8) !important;
}

/* Ultimate override pro všechny kombinace */
.tpl-minimal-tabs.nav.nav-tabs>li:not(.active)>a:hover,
.tpl-minimal-tabs.nav.nav-tabs>li:not(.active)>a:focus,
ul.tpl-minimal-tabs>li:not(.active)>a:hover,
ul.tpl-minimal-tabs>li:not(.active)>a:focus {
	color: #11b8e0 !important;
	border-color: rgba(17, 184, 224, 0.8) !important;
	background-color: rgba(17, 184, 224, 0.05) !important;
}

/* --- 4.2 CUSTOM BULLET LISTS --- */
/* Vlastní odrážkové seznamy s tyrkysovými čtverečky */

.custom-bullet-list {
	list-style: none;
	padding-left: 0;
	text-align: left;
	display: inline-block;
	margin: 0 auto;
	overflow: hidden;
}

.custom-bullet-list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 10px;
	text-align: left;
}

/* Tyrkysový čtvereček jako bullet */
.custom-bullet-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 13px;
	width: 5px;
	height: 5px;
	background-color: #11b8e0;
}

.list-wrapper {
	text-align: center;
}

/* --- 4.3 BUTTONS --- */
/* Styly tlačítek */

/* Border button s tyrkysovou barvou */
.btn-mod.btn-border-c,
.btn-mod.btn-border-c:hover,
.btn-mod.btn-border-c:focus {
	border-color: #11b8e0 !important;
	color: #11b8e0 !important;
}

.btn-mod.btn-border-c:hover {
	background-color: #11b8e0 !important;
	color: #fff !important;
}

/* Velké bílé tlačítko s hover animací */
.btn-mod.btn-w.btn-large {
	border-radius: 0 !important;
	transition: all 0.3s ease !important;
}

.btn-mod.btn-w.btn-large:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(17, 184, 224, 0.3) !important;
}

/* --- 4.4 MAGNIFIC POPUP --- */
/* Video lightbox nastavení */

.mfp-iframe-holder .mfp-content {
	max-width: 900px;
	line-height: 0;
}

/* 16:9 aspect ratio pro videa */
.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	position: relative;
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	background: #000;
}

/* =============================================
   5. BARVY A TÉMATA
   Definice barevného schématu a témat
   ============================================= */

/* --- 5.1 ZÁKLADNÍ PRVKY --- */
/* Hlavní tyrkysová barva #11b8e0 napříč celým webem */

.section-line {
	background-color: #11b8e0 !important;
}

.st-point {
	color: #11b8e0 !important;
}

.section-icon.color {
	color: #11b8e0 !important;
}

a:hover,
a:focus {
	color: #11b8e0 !important;
}

/* --- 5.2 IKONY A ČÍSLA --- */

.benefit-icon {
	color: #11b8e0 !important;
}

.benefit-number {
	color: #11b8e0 !important;
	opacity: 0.1 !important;
	margin-left: -10px !important;
}

.service-icon {
	color: #11b8e0 !important;
}

.service-icon span {
	color: #11b8e0 !important;
}

.count-descr i,
.count-descr .fa {
	color: #11b8e0 !important;
}

/* --- 5.3 BANNER SEKCE --- */

/* Tyrkysový banner (call-to-action) */
.banner-section-turquoise {
	background-color: #11b8e0 !important;
	background-image: none !important;
}

.banner-section-turquoise .banner-heading {
	color: #fff !important;
}

.banner-section-turquoise .banner-decription {
	color: rgba(255, 255, 255, 0.9) !important;
}

/* Šedý banner (kontaktní sekce) */
.banner-section-gray {
	background-color: #224256 !important;
	background-image: none !important;
}

.banner-section-gray .banner-heading {
	color: #fff !important;
}

.banner-section-gray .banner-decription {
	color: rgba(255, 255, 255, 0.9) !important;
}

/* Kontaktní elementy v šedém banneru */
.banner-section-gray .contact-item .ci-icon,
.banner-section-gray .contact-item .ci-icon i {
	color: #fff !important;
}

.banner-section-gray .contact-item .ci-title {
	color: #fff !important;
}

.banner-section-gray .contact-item .ci-text,
.banner-section-gray .contact-item .ci-phone {
	color: rgba(255, 255, 255, 0.9) !important;
}

.banner-section-gray .contact-item .ci-text a {
	color: rgba(255, 255, 255, 0.9) !important;
}

.banner-section-gray .contact-item .ci-text a:hover {
	color: #11b8e0 !important;
}

/* --- 5.4 FOOTER --- */
/* Šedý footer s bílými texty */

footer.footer,
footer.footer.bg-dark,
footer.small-section.bg-dark.footer {
	background-color: #224256 !important;
	background-image: none !important;
	padding-top: 40px !important;
	padding-bottom: 40px !important;
}

/* Zajištění viditelnosti obsahu */
footer.footer .container,
footer.footer .container.animate-init {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

/* Bílé texty */
footer.footer .footer-text,
footer.footer .footer-copy,
footer.footer .footer-copy a,
footer.footer .footer-copy a span,
footer.footer .footer-copy a span.number {
	color: #fff !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	transform: none !important;
}

footer.footer .footer-copy a:hover {
	color: #11b8e0 !important;
}


/* =============================================
   5.5 KONTAKTNÍ FORMULÁŘ
   Styly pro inputy, validaci a výsledkové hlášky
   ============================================= */

/* Formulář v šedé sekci - základní styly */
.banner-section-gray .form-group label {
	color: #fff !important;
}

.banner-section-gray .ci-field,
.banner-section-gray .ci-area {
	background-color: rgba(255, 255, 255, 0.15) !important;
	border-color: rgba(255, 255, 255, 0.3) !important;
	color: #fff !important;
}

.banner-section-gray .ci-field::placeholder,
.banner-section-gray .ci-area::placeholder {
	color: rgba(255, 255, 255, 0.95) !important;
	font-weight: 500;
}

/* Focus stavy - zvýraznění při kliknutí */
.banner-section-gray .ci-field:focus,
.banner-section-gray .ci-area:focus {
	background-color: rgba(255, 255, 255, 0.2) !important;
	border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Submit button v šedé sekci */
.banner-section-gray .submit_btn.btn-mod.btn-w.btn-large {
	border: 2px solid #fff !important;
	color: #fff !important;
	background: transparent !important;
}

.banner-section-gray .submit_btn.btn-mod.btn-w.btn-large:hover {
	background: #fff !important;
	color: #777 !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(255, 255, 255, 0.3) !important;
}

/* Chybové stavy - MODRÉ OHRANIČENÍ */
.ci-field.has-error,
.ci-area.has-error {
	border-color: #11b8e0 !important;
	border-width: 2px !important;
}

/* Chybové zprávy pod poli */
.error-msg {
	color: #11b8e0;
	font-size: 13px;
	margin-top: 8px;
	margin-bottom: 0;
	font-weight: 600;
	line-height: 1.4;
	display: block;
}

/* Alert boxy pro výsledky odeslání */
.alert {
	padding: 15px 20px;
	border-radius: 4px;
	margin-top: 20px;
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

.alert-info {
	background: rgba(17, 184, 224, 0.1);
	border: 2px solid #11b8e0;
	color: #11b8e0;
}

.alert-success {
	background: rgba(46, 204, 113, 0.1);
	border: 2px solid #2ecc71;
	color: #2ecc71;
}

.alert-error {
	background: rgba(231, 76, 60, 0.1);
	border: 2px solid #e74c3c;
	color: #e74c3c;
}

/* Responzivita formuláře */
@media (max-width: 768px) {
	.error-msg {
		font-size: 12px;
		margin-top: 6px;
	}

	.alert {
		font-size: 14px;
		padding: 12px 15px;
	}
}

/* =============================================


/* Desktop services - fix centering - FORCE */
@media (min-width: 992px) {

	.split-section .service-item,
	.service-grid .service-item,
	.service-item {
		display: table !important;
		min-height: 280px !important;
	}

	.split-section .service-item .si-cell,
	.service-grid .service-item .si-cell,
	.service-item .si-cell {
		display: table !important;
		width: 100% !important;
		height: 100% !important;
		min-height: inherit !important;
	}

	.split-section .service-item .si-inner,
	.service-grid .service-item .si-inner,
	.service-item .si-inner {
		display: table-cell !important;
		vertical-align: middle !important;
		text-align: center !important;
		height: 100% !important;
	}

	.service-item .service-intro,
	.service-item .service-icon,
	.service-item .service-title,
	.service-item .service-descr {
		text-align: center !important;
	}

	.service-item .service-icon {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Hide mouse effect animation on small screens, but keep hero particles */
@media (max-width: 991px) {

	#large-header-home,
	#large-header-dopravni-stavby,
	#demo-canvas {
		display: none !important;
	}

	body.has-fixed-header section:first-of-type,
	body.has-fixed-header main {
		padding-top: 80px !important;
	}

	/* Center tabs on mobile */
	.tpl-minimal-tabs {
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.tpl-minimal-tabs>li {
		display: block;
		width: 100%;
		max-width: 300px;
		margin-bottom: 10px;
	}

	.tpl-minimal-tabs>li>a {
		display: block;
		width: 100%;
	}

	/* Center and stack counters on mobile */
	#counts .row {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#counts .col-xs-6,
	#counts .col-sm-4 {
		width: 100%;
		max-width: 300px;
		margin-bottom: 30px;
		text-align: center;
	}

	/* Center portfolio filters on mobile */
	.works-filter {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.works-filter a {
		width: 100%;
		max-width: 300px;
		margin: 5px 0 !important;
		text-align: center;
	}

	/* Services section - vertical layout on mobile */
	.split-section-content.service-grid {
		display: block !important;
	}

	.service-item {
		width: 100% !important;
		float: none !important;
		display: block !important;
		margin-bottom: 20px !important;
		padding: 20px !important;
		background-color: rgba(255, 255, 255, 0.02) !important;
		border: 1px solid rgba(255, 255, 255, 0.08) !important;
		border-radius: 0 !important;
		overflow: visible !important;
		max-height: none !important;
		box-sizing: border-box !important;
	}

	.service-item .si-cell {
		display: block !important;
		height: auto !important;
		position: relative !important;
		overflow: visible !important;
	}

	.service-item .si-inner {
		display: block !important;
		height: auto !important;
		position: relative !important;
		transform: none !important;
	}

	/* Skryj první service-intro pokud existují duplikáty */
	.service-item .si-inner .service-intro:first-child:not(:only-child) {
		display: none !important;
	}

	/* Zobraz service-intro na mobilu */
	.service-item .service-intro {
		display: block !important;
		text-align: center !important;
		margin-bottom: 15px !important;
		position: static !important;
	}

	/* Zobraz ikony na mobilu */
	.service-item .service-icon {
		display: block !important;
		margin: 0 auto 10px !important;
		font-size: 48px !important;
		color: #11b8e0 !important;
		text-align: center !important;
	}

	.service-item .service-icon span {
		display: inline-block !important;
		color: #11b8e0 !important;
	}

	.service-item .service-title {
		margin-bottom: 10px !important;
		display: block !important;
	}

	/* Zobraz popis na mobilu */
	.service-item .service-descr {
		display: block !important;
		opacity: 1 !important;
		visibility: visible !important;
		max-height: none !important;
		height: auto !important;
		text-align: center !important;
		padding: 0 15px !important;
		position: static !important;
		transform: none !important;
	}
}

/* Override any inline styles or template JS */
@media (min-width: 992px) {
	.service-item .service-descr {
		position: relative !important;
	}
}


/* Základní rozložení sekce */
#alt-services .alt-eq-row {
	display: block;
}

/* Levý sloupec se službami */
#alt-services .alt-left-col .alt-service-wrap {
	margin-bottom: 25px;
	cursor: pointer;
	/* Ukazatel při hover */
}

/* --- iPad Rám (973×721px) --- */

#alt-services .alt-services-image {
	position: relative;
	width: 100%;
	overflow: visible;
}

/* Vnitřní obal - drží aspect ratio iPadu */
#alt-services .alt-image-inner {
	position: relative;
	height: 100%;
	/* Výška se synchronizuje s levým sloupcem přes JS */
	aspect-ratio: 973 / 721;
	/* Landscape iPad proporce */
	margin: 0 auto;
}

/* PNG obrázek rámečku iPadu */
#alt-services .tablet-frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	/* Rámeček není klikací */
	z-index: 3;
	/* Nad obsahem */
}

/* --- Displej iPadu (výřez pro video) --- */
/* Pozice a rozměr displeje vzhledem k rámečku 973×721px */
/* Displej: 502×659px → šířka 51.59%, výška 91.40% */

#alt-services .ipad-screen {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 51.59%;
	/* Šířka výřezu displeje */
	height: 91.40%;
	/* Výška výřezu displeje */
	transform: translate(-50%, -50%);
	overflow: hidden;
	/* KRITICKÉ - ořízne přesah videa */
}

/* Placeholder obrázek před načtením videa */
.video-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 10;
	transition: opacity 0.5s ease;
}

.video-placeholder.hidden {
	opacity: 0;
	pointer-events: none;
}

/* Při prvním hover se placeholder schová */
.ipad-screen.videos-loaded .video-placeholder {
	display: none;
}


/* --- YouTube Video Wrappery --- */
/* Každá služba má vlastní video wrapper */

#alt-services .yt-wrapper {
	position: absolute;
	inset: 0;
	opacity: 0;
	/* Skryté ve výchozím stavu */
	transition: opacity 0.45s ease;
	pointer-events: none;
	/* Neaktivní videa nejsou klikací */
}

/* Aktivní video */
#alt-services .yt-wrapper.active {
	opacity: 1;
	pointer-events: auto;
	/* Aktivní video je klikací */
}

/* Přehrávač videa */
#alt-services .yt-player {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Krycí vrstva - skryje loading spinner */
#alt-services .yt-cover {
	position: absolute;
	inset: 0;
	background: #000;
	opacity: 1;
	/* Černá při načítání */
	transition: opacity 0.35s ease;
	pointer-events: none;
	z-index: 3;
}

/* Vrstva zmizí když se video spustí (řízeno z JS) */

/* --- YouTube iframe --- */
/* Absolutní pozice uvnitř displeje, "cover" fit */

#alt-services .ipad-screen iframe {
	position: absolute;
	display: block;
	border: 0;
	max-width: none !important;
	/* Override globálních CSS omezení */
	pointer-events: auto;
}

/* --- Responzivita --- */
/* Na mobilu skrýt pravý sloupec s iPadem */

@media (max-width: 1199px) {
	#alt-services .alt-services-image {
		display: none;
	}
}



/* ==============================
   Common styles
   ============================== */

.align-center {
	text-align: center !important;
}

.align-left {
	text-align: left !important;
}

.align-right {
	text-align: right !important;
}

.left {
	float: left !important;
}

.right {
	float: right !important;
}

.relative {
	position: relative;
}

.hidden {
	display: none;
}

.inline-block {
	display: inline-block;
}

.white {
	color: #fff !important;
}

.black {
	color: #000 !important;
}

.color {
	color: #e41919 !important;
}

.stick-fixed {
	position: fixed !important;
	top: 0;
	left: 0;
}

::-moz-selection {
	color: #fff;
	background: #000;
}

::-webkit-selection {
	color: #fff;
	background: #000;
}

::selection {
	color: #fff;
	background: #000;
}

.animate,
.animate * {
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.no-animate,
.no-animate * {
	-webkit-transition: 0 none !important;
	-moz-transition: 0 none !important;
	-ms-transition: 0 none !important;
	-o-transition: 0 none !important;
	transition: 0 none !important;
}

.shadow {
	-webkit-box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
	-moz-box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
	box-shadow: 0px 3px 50px rgba(0, 0, 0, .15);
}

.white-shadow {
	-webkit-box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
	-moz-box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
	box-shadow: 0px 0px 200px rgba(255, 255, 255, .2);
}

.clearlist,
.clearlist li {
	list-style: none;
	padding: 0;
	margin: 0;
	background: none;
}

.full-wrapper {
	margin: 0 2%;
}

html {
	overflow-y: scroll;
	-ms-overflow-style: scrollbar;
}

html,
body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
}

.page {
	overflow: hidden;
}

.body-masked {
	display: none;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff url(../images/loader.gif) no-repeat center center;
	z-index: 100000;
}

.mask-delay {
	-webkit-animation-delay: 0.75s;
	-moz-animation-delay: 0.75s;
	animation-delay: 0.75s;
}

.mask-speed {
	-webkit-animation-duration: 0.25s !important;
	-moz-animation-duration: 0.25s !important;
	animation-duration: 0.25s !important;
}

iframe {
	border: none;
}

a,
b,
div,
ul,
li {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: transparent;
	-moz-outline-: none;
}

a:focus,
a:active {
	-moz-outline: none;
	outline: none;
}

img:not([draggable]),
embed,
object,
video {
	max-width: 100%;
	height: auto;
}


/* ==============================
   Page loader
   ============================== */


.page-loader {
	display: block;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background: #dadada;
	z-index: 100000;
}

@-webkit-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

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

@-moz-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

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

@-o-keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

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

@keyframes spinner {
	0% {
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

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

.spinner {
	display: inline-block;
	width: 8em;
	height: 8em;
	margin: 1.5em;
	margin: -4em 0 0 -4em;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #999;
	background: #f1f1f1;
	text-align: center;
	line-height: 8em;
	font-weight: 400;

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

/* :not(:required) hides this rule from IE9 and below */
.spinner:not(:required) {
	-webkit-animation: spinner 1500ms infinite linear;
	-moz-animation: spinner 1500ms infinite linear;
	-ms-animation: spinner 1500ms infinite linear;
	-o-animation: spinner 1500ms infinite linear;
	animation: spinner 1500ms infinite linear;
	-webkit-border-radius: 0.5em;
	-moz-border-radius: 0.5em;
	-ms-border-radius: 0.5em;
	-o-border-radius: 0.5em;
	border-radius: 0.5em;
	-webkit-box-shadow: #f7f7f7 1.5em 0 0 0, #f7f7f7 1.1em 1.1em 0 0, #f7f7f7 0 1.5em 0 0, #f7f7f7 -1.1em 1.1em 0 0, #f7f7f7 -1.5em 0 0 0, #f7f7f7 -1.1em -1.1em 0 0, #f7f7f7 0 -1.5em 0 0, #f7f7f7 1.1em -1.1em 0 0;
	-moz-box-shadow: #f7f7f7 1.5em 0 0 0, #f7f7f7 1.1em 1.1em 0 0, #f7f7f7 0 1.5em 0 0, #f7f7f7 -1.1em 1.1em 0 0, #f7f7f7 -1.5em 0 0 0, #f7f7f7 -1.1em -1.1em 0 0, #f7f7f7 0 -1.5em 0 0, #f7f7f7 1.1em -1.1em 0 0;
	box-shadow: #f7f7f7 1.5em 0 0 0, #f7f7f7 1.1em 1.1em 0 0, #f7f7f7 0 1.5em 0 0, #f7f7f7 -1.1em 1.1em 0 0, #f7f7f7 -1.5em 0 0 0, #f7f7f7 -1.1em -1.1em 0 0, #f7f7f7 0 -1.5em 0 0, #f7f7f7 1.1em -1.1em 0 0;
	background: none;
	display: inline-block;
	font-size: 16px;
	width: 1em;
	height: 1em;
	overflow: hidden;
	text-indent: 100%;
	margin: -0.5em 0 0 -0.5em;
	position: absolute;
	top: 50%;
	left: 50%;

}


/* ==============================
   Typography
   ============================== */

body {
	color: #000;
	font-size: 14px;
	font-family: Raleway, arial, sans-serif;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a {
	color: #e41919;
	text-decoration: none;
}

a:hover {
	color: #e41919;
	text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.4;
	font-weight: 700;
}

h1 {
	font-size: 32px;
}

h2 {
	font-size: 28px;
}

p {
	margin: 0 0 1.5em 0;
}

ul,
ol {
	margin: 0 0 1.5em 0;
}

blockquote {
	margin: 3em 0 3em 0;
	border-width: 1px;
	border: 1px solid #eaeaea;
	padding: 2em;
	background: none;
	text-align: left;
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 13px;
	font-style: normal;
	line-height: 1.7;
	color: #777;
}

blockquote p {
	margin-bottom: 1em;
	font-size: 18px;
	font-style: normal;
	color: #212121;
	line-height: 1.6;
}

blockquote footer {
	margin-top: -10px;
	font-size: 13px;
	font-family: Raleway, arial, sans-serif;
}

dl dt {
	margin-bottom: 5px;
}

dl dd {
	margin-bottom: 15px;
}

pre {
	background-color: #f9f9f9;
	border-color: #ddd;

}

hr {
	background-color: #eaeaea;
}

hr.white {
	border-color: rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .35);
}

hr.black {
	border-color: rgba(0, 0, 0, .85);
	background: rgba(0, 0, 0, .85);
}

.uppercase {
	text-transform: uppercase;
	letter-spacing: 1px;
}

.serif {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-style: italic;
	font-weight: normal;
}

.normal {
	font-weight: normal;
}

.strong {
	font-weight: 700 !important;
}

.lead {
	margin: 1em 0 2em 0;
	font-size: 140%;
	line-height: 1.6;
}

.text {
	font-size: 16px;
	font-weight: 300;
	color: #5f5f5f;
	line-height: 1.8;
}

.text h1,
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
	color: #000;
}

.number {
	font-family: Montserrat, arial, sans-serif;
	font-weight: 400;
}

.big-icon {
	display: block;
	width: 90px;
	height: 90px;
	margin: 0 auto 20px;
	border: 2px solid rgba(255, 255, 255, .75);
	text-align: center;
	line-height: 90px;
	font-size: 40px;
	color: rgba(255, 255, 255, .97);

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.big-icon .fa-play {
	position: relative;
	left: 3px;
}

.big-icon-link {
	display: inline-block;
	text-decoration: none;
}

.big-icon-link:hover {
	border-color: transparent !important;
}

.big-icon-link:hover .big-icon {
	border-color: #fff;
	color: #fff;

	-webkit-transition: 0 none !important;
	-moz-transition: 0 none !important;
	-ms-transition: 0 none !important;
	-o-transition: 0 none !important;
	transition: 0 none !important;
}

.big-icon-link:active .big-icon {
	-webkit-transform: scale(0.99);
	-moz-transform: scale(0.99);
	-o-transform: scale(0.99);
	-ms-transform: scale(0.99);
	transform: scale(0.99);
}

.wide-heading {
	display: block;
	margin-bottom: 10px;
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 5px;
	text-align: center;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .87);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.big-icon-link:hover,
.big-icon-link:hover .wide-heading {
	color: #fff;
	text-decoration: none;
}

.sub-heading {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 16px;
	font-style: italic;
	text-align: center;
	line-height: 1.3;
	color: rgba(255, 255, 255, .75);
}

.big-icon.black {
	color: #000;
	border-color: rgba(0, 0, 0, .75);
}

.big-icon-link:hover .big-icon.black {
	color: #000;
	border-color: #000;
}

.wide-heading.black {
	color: rgba(0, 0, 0, .87);
}

.big-icon-link.black:hover,
.big-icon-link:hover .wide-heading.black {
	color: #000;
	text-decoration: none;
}

.sub-heading.black {
	color: rgba(0, 0, 0, .75);
}



/* ==============================
   Buttons
   ============================== */

.btn-mod,
a.btn-mod {
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 8px 20px 7px;
	color: #fff;
	background: rgba(34, 34, 34, .9);
	border: 2px solid transparent;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 2px;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.btn-mod:hover,
.btn-mod:focus,
a.btn-mod:hover,
a.btn-mod:focus {
	font-weight: 700;
	color: rgba(255, 255, 255, .85);
	background: rgba(0, 0, 0, .7);
	text-decoration: none;
}

.btn-mod:active {
	cursor: pointer !important;
}

.btn-mod.btn-small {
	padding: 6px 15px 5px;
	font-size: 11px;
	letter-spacing: 1px;
}

.btn-mod.btn-medium {
	padding: 12px 27px 11px;
	font-size: 12px;
}

.btn-mod.btn-large {
	padding: 15px 40px 14px;
	font-size: 13px;
}

.btn-mod.btn-glass {
	color: rgba(255, 255, 255, .75);
	background: rgba(0, 0, 0, .40);
}

.btn-mod.btn-glass:hover,
.btn-mod.btn-glass:focus {
	color: rgba(255, 255, 255, 1);
	background: rgba(0, 0, 0, 1);
}

.btn-mod.btn-border {
	color: #151515;
	border: 2px solid #151515;
	background: transparent;
}

.btn-mod.btn-border:hover,
.btn-mod.btn-border:focus {
	color: #fff;
	border-color: transparent;
	background: #000;
}

.btn-mod.btn-border-c {
	color: #e41919;
	border: 2px solid #e41919;
	background: transparent;
}

.btn-mod.btn-border-c:hover,
.btn-mod.btn-border-c:focus {
	color: #fff;
	border-color: transparent;
	background: #e41919;
}

.btn-mod.btn-border-w {
	color: #fff;
	border: 2px solid rgba(255, 255, 255, .75);
	background: transparent;
}

.btn-mod.btn-border-w:hover,
.btn-mod.btn-border-w:focus {
	color: #000;
	border-color: transparent;
	background: #fff;
}

.btn-mod.btn-w {
	color: #000;
	background: rgba(255, 255, 255, .9);
}

.btn-mod.btn-w:hover,
.btn-mod.btn-w:focus {
	color: #000;
	background: rgba(255, 255, 255, 0.9);
}

.btn-mod.btn-w-color {
	color: #e41919;
	background: #fff;
}

.btn-mod.btn-w-color:hover,
.btn-mod.btn-w-color:focus {
	color: #151515;
	background: #fff;
}

.btn-mod.btn-color {
	color: #fff;
	background: #e41919;
}

.btn-mod.btn-color:hover,
.btn-mod.btn-color:focus {
	color: #fff;
	background: #e41919;
	opacity: .85;
}

.btn-mod.btn-circle {
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
}

.btn-icon {
	position: relative;
	border: none;
	overflow: hidden;
}

.btn-icon.btn-small {
	overflow: hidden;
}

.btn-icon>span {
	width: 100%;
	height: 50px;
	line-height: 50px;
	margin-top: -25px;
	position: absolute;
	top: 50%;
	left: 0;
	color: #e41919;
	font-size: 48px;
	opacity: .2;

	-webkit-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.2s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.btn-icon:hover>span {
	opacity: 0;

	-webkit-transform: scale(2);
	-moz-transform: scale(2);
	-o-transform: scale(2);
	-ms-transform: scale(2);
	transform: scale(2);
}

.btn-icon>span.white {
	color: #fff;
}

.btn-icon>span.black {
	color: #000;
}

.btn-full {
	width: 100%;
}


/* ==============================
   Forms fields
   ============================== */

.form input[type="text"],
.form input[type="email"],
.form input[type="number"],
.form input[type="url"],
.form input[type="search"],
.form input[type="tel"],
.form input[type="password"],
.form input[type="date"],
.form input[type="color"],
.form select {
	height: 38px;
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #777;
	border: 1px solid #e9e9e9;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.form select {
	font-size: 12px;
}

.form select[multiple] {
	height: auto;
}

.form input[type="text"]:hover,
.form input[type="email"]:hover,
.form input[type="number"]:hover,
.form input[type="url"]:hover,
.form input[type="search"]:hover,
.form input[type="tel"]:hover,
.form input[type="password"]:hover,
.form input[type="date"]:hover,
.form input[type="color"]:hover,
.form select:hover {
	border-color: #ccc;
}

.form input[type="text"]:focus,
.form input[type="email"]:focus,
.form input[type="number"]:focus,
.form input[type="url"]:focus,
.form input[type="search"]:focus,
.form input[type="tel"]:focus,
.form input[type="password"]:focus,
.form input[type="date"]:focus,
.form input[type="color"]:focus,
.form select:focus {
	color: #151515;
	border-color: #151515;
	-webkit-box-shadow: 0 0 3px rgba(21, 21, 21, .3);
	-moz-box-shadow: 0 0 3px rgba(21, 21, 21, .3);
	box-shadow: 0 0 3px rgba(21, 21, 21, .3);
}

.form input[type="text"].input-lg,
.form input[type="email"].input-lg,
.form input[type="number"].input-lg,
.form input[type="url"].input-lg,
.form input[type="search"].input-lg,
.form input[type="tel"].input-lg,
.form input[type="password"].input-lg,
.form input[type="date"].input-lg,
.form input[type="color"].input-lg,
.form select.input-lg {
	height: 48px;
}

.form input[type="text"].input-sm,
.form input[type="email"].input-sm,
.form input[type="number"].input-sm,
.form input[type="url"].input-sm,
.form input[type="search"].input-sm,
.form input[type="tel"].input-sm,
.form input[type="password"].input-sm,
.form input[type="date"].input-sm,
.form input[type="color"].input-sm,
.form select.input-sm {
	height: 28px;
}

.form textarea {
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase !important;
	letter-spacing: 1px;
	color: #777;
	border-color: #e9e9e9;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.form textarea:hover {
	border-color: #ccc;
}

.form textarea:focus {
	color: #151515;
	border-color: #151515;
	-webkit-box-shadow: 0 0 3px rgba(21, 21, 21, .3);
	-moz-box-shadow: 0 0 3px rgba(21, 21, 21, .3);
	box-shadow: 0 0 3px rgba(21, 21, 21, .3);
}

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

/* ==============================
   Home sections
   ============================== */

/*
 * Header common styles
 */

.home-section {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.home-content {
	display: table;
	width: 100%;
	height: 100%;
	text-align: center;
}


/* Home content */

.home-content {
	position: relative;
}

.home-text {
	display: table-cell;
	height: 100%;
	vertical-align: middle;
}

/* Scroll down icon */

@-webkit-keyframes scroll-down-anim {
	0% {
		top: -7px;
	}

	50% {
		top: 3px;
	}

	100% {
		top: -7px;
	}
}

@-moz-keyframes scroll-down-anim {
	0% {
		top: -7px;
	}

	50% {
		top: 3px;
	}

	100% {
		top: -7px;
	}
}

@-o-keyframes scroll-down-anim {
	0% {
		top: -7px;
	}

	50% {
		top: 3px;
	}

	100% {
		top: -7px;
	}
}

@keyframes scroll-down-anim {
	0% {
		top: -7px;
	}

	50% {
		top: 3px;
	}

	100% {
		top: -7px;
	}
}

.scroll-down {
	width: 150px;
	height: 43px;
	margin-left: -75px;
	line-height: 43px;
	white-space: nowrap;
	position: absolute;
	bottom: 30px;
	left: 50%;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	text-decoration: none;
	text-align: center;
	text-transform: uppercase;
	color: rgba(132, 155, 171, .5) !important;

	-webkit-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-moz-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-o-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);

}


.scroll-down:hover,
.scroll-down:focus {
	text-decoration: none;
	letter-spacing: 6px;
	color: rgba(255, 255, 255, 0) !important;
}

.scroll-down.static,
.scroll-down.static {
	color: rgba(255, 255, 255, .4) !important;
}

.scroll-down.static:hover,
.scroll-down.static:focus {
	letter-spacing: 3px;
	color: rgba(255, 255, 255, .85) !important;
}

.scroll-down-icon {
	width: 26px;
	height: 100%;
	margin-left: -13px;
	position: absolute;
	top: 0;
	left: 50%;
	border: 2px solid rgba(132, 155, 171, .35);

	-moz-border-radius: 13px;
	-webkit-border-radius: 13px;
	border-radius: 13px;

	-webkit-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-moz-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-o-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);

	-webkit-animation: scroll-down-anim 1s infinite;
	-moz-animation: scroll-down-anim 1s infinite;
	-o-animation: scroll-down-anim 1s infinite;
	animation: scroll-down-anim 1s infinite;
}

.scroll-down-icon:after {
	content: " ";
	width: 2px;
	height: 12px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -1px;
	background: rgba(132, 155, 171, .35);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.scroll-down:hover .scroll-down-icon {
	background: rgba(255, 255, 255, .7);
}

.scroll-down:hover .scroll-down-icon:after {
	background: rgba(132, 155, 171, .5);
}

.scroll-down.light:hover .scroll-down-icon:after,
.bg-color .scroll-down:hover .scroll-down-icon:after,
.bg-color-alfa .scroll-down:hover .scroll-down-icon:after,
.bg-color-alfa-30 .scroll-down:hover .scroll-down-icon:after,
.bg-color-alfa-50 .scroll-down:hover .scroll-down-icon:after,
.bg-color-alfa-70 .scroll-down:hover .scroll-down-icon:after,
.bg-color-alfa-90 .scroll-down:hover .scroll-down-icon:after {
	background: rgba(255, 255, 255, .15);
}


/* Animated header */

.ah-content {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/*
 * Headings styles
 */


.hs-wrap {
	max-width: 570px;
	margin: 0 auto;
	padding: 47px 30px 53px;
	position: relative;
	text-align: center;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	border: 4px double rgba(255, 255, 255, .6);
}

.hs-wrap-1 {
	max-width: 350px;
	margin: 0 auto;
	position: relative;
	text-align: center;

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

.hs-image {
	position: absolute;
	bottom: -28px;
	right: -159px;
}

.hs-line-1 .serif,
.hs-line-2 .serif,
.hs-line-3 .serif,
.hs-line-4 .serif,
.hs-line-5 .serif,
.hs-line-6 .serif,
.hs-line-7 .serif,
.hs-line-8 .serif,
.hs-line-9 .serif,
.hs-line-10 .serif,
.hs-line-11 .serif,
.hs-line-12 .serif,
.hs-line-13 .serif,
.hs-line-14 .serif,
.hs-line-15 .serif {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-style: italic;
	font-weight: normal;
	text-transform: none;
	letter-spacing: normal;
}

.hs-line-1 {
	position: relative;
	font-size: 24px;
	letter-spacing: 2px;
	color: rgba(255, 255, 255, .8);
}

.hs-line-2 {
	position: relative;
	font-size: 72px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.085em;
	line-height: 1.3;
	color: rgba(255, 255, 255, .85);
}

.hs-line-3 {
	position: relative;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: rgba(255, 255, 255, .7);
}

.hs-line-4 {
	position: relative;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 3px;
	color: rgba(255, 255, 255, .85);
}

.hs-line-5 {
	position: relative;
	font-size: 62px;
	font-weight: 800;
	line-height: 0.65;
	text-transform: uppercase;
	letter-spacing: 0.32em;
	color: rgba(255, 255, 255, .85);
}

.hs-line-6 {
	position: relative;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
}

.hs-line-7 {
	position: relative;
	font-size: 64px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1.2;
}

.hs-line-8 {
	position: relative;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;
	color: #000
}

.hs-line-8 strong {
	font-weight: 800;
}

.hs-line-9 {
	position: relative;
	font-size: 96px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 1.2;
	color: #11b8e0 !important;
}

.hs-line-10 {
	display: inline-block;
	position: relative;
	padding: 15px 24px;
	background: rgba(0, 0, 0, .75);
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: rgba(255, 255, 255, .85);
}

.hs-line-10>span {
	margin: 0 10px;
}

.hs-line-10.highlight {
	background: #e41919;
	opacity: .65;
}

.hs-line-10.transparent {
	background: none;
	color: #aaa;
	padding: 0;
}

.hs-line-11 {
	position: relative;
	font-size: 30px;
	text-transform: uppercase;
	letter-spacing: 8px;
	line-height: 1.8;
}

.hs-line-12 {
	position: relative;
	font-size: 96px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.34em;
}

.hs-line-13 {
	position: relative;
	font-size: 96px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.195em;
}

.fullwidth-galley-content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 25;
}



/* ==============================
   Compact bar
   ============================== */

.nav-bar-compact {
	min-height: 40px;
	position: fixed;
	top: 10px;
	left: 10px;
	background: rgba(0, 0, 0, 0);
	cursor: pointer;

	-webkit-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-moz-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	-o-transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);
	transition: all 500ms cubic-bezier(0.250, 0.460, 0.450, 0.940);

	z-index: 201;
}

.nbc-bg,
.js-nbc-bg {
	background: rgba(18, 18, 18, .93);
}

.nbc-logo-wrap {
	float: left;
	min-width: 120px;
	max-width: 250px;
	height: 65px;
	padding: 0 20px;

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

.nbc-logo {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	left: 0;
	top: 50%;
	float: left;

	text-align: left;
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(255, 255, 255, .9);

	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.nbc-logo img {
	max-height: 100%;
}

.nbc-logo:hover {
	text-decoration: none;
	color: #fff;
}

.nbc-menu-button {
	width: 68px;
	height: 65px;
	position: relative;
	float: left;
	border-left: 1px solid rgba(255, 255, 255, .1);
}

.nbc-bg .nbc-menu-button,
.js-nbc-bg .nbc-menu-button {
	/*border-left: 1px solid rgba(255,255,255, .08);*/
}

.nbc-menu-icon {
	display: block;
	width: 27px;
	height: 3px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -2px 0 0 -14px;
	background: rgba(255, 255, 255, .9);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.nbc-menu-button:active .nbc-menu-icon {
	-webkit-transform: translateX(1px) translateY(1px);
	-moz-transform: translateX(1px) translateY(1px);
	transform: translateX(1px) translateY(1px);
}

.nbc-bg .nbc-menu-icon,
.js-nbc-bg .nbc-menu-icon {
	opacity: 1;
}

.nbc-menu-icon:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: -7px;
	left: 0;
	background: rgba(255, 255, 255, .9);

	-webkit-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.nbc-menu-icon:after {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 7px;
	left: 0;
	background: rgba(255, 255, 255, .9);

	-webkit-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: background 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.nav-bar-compact:hover,
.nav-bar-compact.js-opened,
.nbc-bg:hover,
.js-nbc-bg:hover {
	background: rgba(18, 18, 18, .93);
}

.nav-bar-compact:hover .nbc-menu-icon,
.nav-bar-compact.js-opened .nbc-menu-icon {
	background: rgba(255, 255, 255, .3);
}

.nav-bar-compact.js-opened .nbc-menu-icon {

	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);

}

.nav-bar-compact:hover .nbc-menu-icon:before,
.nav-bar-compact.js-opened .nbc-menu-icon:before {
	background: rgba(255, 255, 255, .3);
}

.nav-bar-compact:hover .nbc-menu-icon:after,
.nav-bar-compact.js-opened .nbc-menu-icon:after {
	background: rgba(255, 255, 255, .3);
}

.nbc-menu-wrap {
	display: none;
	width: 100%;
	overflow-y: auto;
	position: absolute;
	top: 100%;
	left: 0;
	background: rgba(18, 18, 18, .93);
	border-top: 1px solid rgba(255, 255, 255, .1);
	opacity: 0;

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-transition: all 0.19s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.19s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.19s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.19s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.19s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	-webkit-transform: perspective(200px) rotateX(15deg) scale(0.75);
	-moz-transform: perspective(200px) rotateX(15deg) scale(0.75);
	-o-transform: perspective(200px) rotateX(15deg) scale(0.75);
	-ms-transform: perspective(200px) rotateX(15deg) scale(0.75);
	transform: perspective(200px) rotateX(15deg) scale(0.75);

}

.nav-bar-compact.js-opened .nbc-menu-wrap {
	-webkit-transform: perspective(200px) rotateX(0deg) scale(1);
	-moz-transform: perspective(200px) rotateX(0deg) scale(1);
	-o-transform: perspective(200px) rotateX(0deg) scale(1);
	-ms-transform: perspective(200px) rotateX(0deg) scale(1);
	transform: perspective(200px) rotateX(0deg) scale(1);

	opacity: 1;
}

.nbc-menu-links,
.nbc-menu-links ul {
	margin: 0;
	padding: 10px 0;
	line-height: 1.3;
}

.nbc-menu-links ul.nbc-sub {
	padding: 0;
}

.nbc-menu-links a {
	display: block;
	position: relative;
	margin: 0;
	padding: 9px 20px;
	color: #999;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;

	-webkit-tap-highlight-color: rgba(255, 255, 255, .1);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	z-index: 11;
}

.no-touch .nbc-menu-links a:hover,
.nbc-menu-links a:active,
.nbc-menu-links li.js-opened>a {
	color: #d5d5d5;
	text-decoration: none;
}

.nbc-menu-links li {
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
}

.nbc-menu-links li>a:before {
	content: "";
	display: block;
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, .1);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	z-index: 10;
}

.no-touch .nbc-menu-links li>a:hover:before {
	width: 100%;
}

.nbc-menu-links li>a:active,
.nbc-menu-links li a.active {
	color: #f5f5f5;
}

.nbc-menu-links li.js-opened:before {
	display: none;
}

.no-touch .nbc-menu-links li.js-opened>a:hover,
.nbc-menu-links li.js-opened>a:active {
	color: #fff;
}

.nbc-has-sub {}

.nbc-has-sub .fa {
	width: 17px;
	height: 17px;
	font-size: 14px;
	line-height: 16px;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -7px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, .1);

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.js-opened>.nbc-has-sub>.fa {
	border-color: rgba(255, 255, 255, .4);
	line-height: 14px;
}

.nbc-sub {
	display: none;
	opacity: 0;
	position: relative;

	z-index: 10;
}

.nbc-sub>li>a {
	padding-left: 30px;
	padding-top: 5px;
	padding-bottom: 5px;
	font-size: 12px;
	font-weight: 400;
}

.nbc-menu-links li.js-opened .nbc-sub {
	opacity: 1;
}

/* Social links */

.nbc-social-links {
	padding: 5px 20px 10px;
	font-size: 14px;
}

.nbc-social-links>a {
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: left;
	text-decoration: none;
	color: #404040;
}

.nbc-social-links>a:hover {
	color: #999;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}


/* ==============================
   Classic menu bar
   ============================== */


/* Logo (in navigation panel)*/

.nav-logo-wrap {
	float: left;
	margin-right: 20px;
}

.nav-logo-wrap .logo {
	display: table-cell;
	vertical-align: middle;
	max-width: 100px;
	max-height: 100%;
}

.nav-logo-wrap .logo:before,
.nav-logo-wrap .logo:after {
	display: none;
}

.logo,
a.logo:hover {
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(0, 0, 0, .9);
}

/*
 * Desktop nav
 */

.main-nav {
	width: 100%;
	height: 55px !important;
	position: relative;
	top: 0;
	left: 0;
	text-align: left;
	background: rgba(255, 255, 255, .97);

	z-index: 201;
}

.inner-nav {
	display: inline-block;
	position: relative;
	float: right;
}

.inner-nav ul {
	float: right;
	margin: auto;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.3;
}

.inner-nav ul li {
	float: left;
	margin-left: 30px;
	position: relative;
}

.inner-nav ul li a {
	color: #ffffff;
	display: inline-block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.inner-nav ul>li:first-child>a {}

.inner-nav ul li a:hover,
.inner-nav ul li a.active {
	color: #4db8dd;
	text-decoration: none;
}

.inner-nav ul li a {
	height: 55px;
	line-height: 55px;
}

/* Menu sub */

.mn-sub {
	display: none;
	width: 170px;
	position: absolute;
	top: 100%;
	left: 0;
	padding: 0;
	background: rgba(18, 18, 18, .97);
}

.mn-sub li {
	display: block;
	width: 100%;
	margin: 0 !important;
}

.inner-nav ul li .mn-sub li a {
	display: block;
	width: 100%;
	height: auto !important;
	line-height: 1.3 !important;
	position: relative;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 12px 10px;
	text-align: left;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	color: #c0c0c0;
	cursor: pointer;
}

.inner-nav ul li .mn-sub li:last-child>a {
	border: none;
}

.mn-sub li a:hover,
.mn-sub li a.active {
	background: rgba(255, 255, 255, .04);
	color: #f0f0f0 !important;
}

.mn-sub li ul {
	left: auto;
	right: 100%;
	top: 0;
	border-right: 1px solid rgba(255, 255, 255, .07);
}

.inner-nav li .mn-sub.to-right {
	right: auto;
	left: 0;
}

.inner-nav li .mn-sub li ul.to-right {
	right: auto;
	left: 100%;
	top: 0;
	border-right: none;
	border-left: 1px solid rgba(255, 255, 255, .07);
}

.inner-nav li:last-child .mn-sub li ul {
	left: auto;
	right: 100%;
	top: 0;
	border-left: none;
	border-right: 1px solid rgba(255, 255, 255, .07);
}

.mobile-on .inner-nav li:last-child .mn-sub li ul {
	left: auto;
	right: auto;
	top: 0;
}


/*
 * Mobile nav
 */

.mobile-on .desktop-nav {
	display: none;
	width: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	padding: 0 15px;

	z-index: 100;
}

.mobile-on .full-wrapper .desktop-nav {
	padding: 0;
}


.mobile-on .desktop-nav ul {
	width: 100%;
	float: none;
	background: rgba(18, 18, 18, .97);
	position: relative;
	overflow-x: hidden;
}

.mobile-on .desktop-nav>ul {
	overflow-y: auto;
}

.mobile-on .desktop-nav ul li {
	display: block;
	float: none !important;
	overflow: hidden;
}

.mobile-on .desktop-nav ul li ul {
	padding: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.mobile-on .desktop-nav ul li a {
	display: block;
	width: 100%;
	height: 38px !important;
	line-height: 38px !important;
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0 10px;
	text-align: left;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid rgba(255, 255, 255, .065);
	color: #999;
	cursor: pointer;
}

.mobile-on .desktop-nav ul li a:hover,
.mobile-on .desktop-nav ul li a.active {
	background: rgba(255, 255, 255, .03);
	color: #ddd;
}

/* Menu sub */

.mobile-on .mn-has-sub>.fa {
	display: block;
	width: 17px;
	height: 17px;
	font-size: 14px;
	line-height: 16px;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -7px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, .1);

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.mobile-on .js-opened>.mn-has-sub>.fa {
	border-color: rgba(255, 255, 255, .4);
	line-height: 14px;
}

.mobile-on .inner-nav li {
	margin: 0 !important;
}

.mobile-on .mn-sub {
	display: none;
	opacity: 0;
	position: relative;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	border-left: 0 !important;
	border-right: 0 !important;
	z-index: 10;
}

.mobile-on .mn-sub li {
	padding-left: 10px;
}


.inner-nav li.js-opened .mn-sub {
	opacity: 1;
}


.mobile-nav {
	display: none;
	float: right;
	vertical-align: middle;
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	border-left: 1px solid #eee;
	border-right: 1px solid #eee;
	cursor: pointer;

	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	-webkit-transition-property: background, color;
	-moz-transition-property: background, color;
	-o-transition-property: background, color;
	transition-property: background, color;
}

.mobile-nav:hover,
.mobile-nav.active {
	background: #fff;
	color: #777;
}

.mobile-nav:active {
	-webkit-box-shadow: 0 0 35px rgba(0, 0, 0, .05) inset;
	-moz-box-shadow: 0 0 35px rgba(0, 0, 0, .05) inset;
	box-shadow: 0 0 35px rgba(0, 0, 0, .05) inset;
}

.no-js .mobile-nav {
	width: 55px;
	height: 55px;
}

.mobile-on .mobile-nav {
	display: table;
}

.mobile-nav .fa {
	height: 100%;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 21px;
}

/*
 * Dark panel style
 */

.main-nav.dark {
	background-color: rgba(20, 20, 20, .93);

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.main-nav.dark .inner-nav ul>li>a {
	color: #aaa;
}

.main-nav.dark .inner-nav ul>li>a:hover,
.main-nav.dark .inner-nav ul>li>a.active {
	color: #eaeaea;
}

.main-nav.dark .mobile-nav {
	background-color: rgba(255, 255, 255, .05);
	border-color: transparent;
	color: #999;
}

.main-nav.dark .mobile-nav:hover,
.main-nav.dark .mobile-nav.active {
	background-color: rgba(255, 255, 255, .08);
	color: #eaeaea;
}

.main-nav.mobile-on.dark .inner-nav {
	border-top: 1px solid rgba(100, 100, 100, .4);
}

.main-nav.dark .logo,
.main-nav.dark a.logo:hover {
	font-size: 18px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
	color: rgba(255, 255, 255, .9);
}

.main-nav.dark .mn-sub {
	-webkit-box-shadow: 0 -1px 0 rgba(0, 0, 0, .77);
	-moz-box-shadow: 0 -1px 0 rgba(0, 0, 0, .77);
	box-shadow: 0 -1px 0 rgba(0, 0, 0, .77);
}


/* ==============================
   Sections styles
   ============================== */

/*
 * Common
 */

.page-section,
.small-section {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	padding: 140px 0;
}

.small-section {
	padding: 70px 0;
}


.small-title {
	padding: 0;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
	color: #222;
	font-size: 24px;
}

.section-icon {
	text-align: center;
	font-size: 32px;
}

.small-title .serif {
	text-transform: none;
	font-weight: 400;
}

.small-title.white {
	color: #fff;
}

.bg-scroll {
	background-attachment: scroll !important;
}

.bg-pattern {
	background-repeat: repeat;
	background-size: auto;
}

.bg-pattern-over:before,
.bg-pattern-over .YTPOverlay:after {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-repeat: repeat;
	background-size: auto;
	background-image: url(../images/pattern-bg-2.png);
}

.bg-gray {
	background-color: #f4f4f4;
}

.bg-gray-lighter {
	background-color: #f8f8f8;
}

.bg-dark,
.bg-dark-lighter,
.bg-dark-alfa-30,
.bg-dark-alfa-50,
.bg-dark-alfa-70,
.bg-dark-alfa-90,
.bg-dark-alfa,
.bg-color,
.bg-color-lighter,
.bg-color-alfa-30,
.bg-color-alfa-50,
.bg-color-alfa-70,
.bg-color-alfa-90,
.bg-color-alfa {
	color: #fff;
}

.bg-dark a,
.bg-dark-lighter a,
.bg-dark-alfa-30 a,
.bg-dark-alfa-50 a,
.bg-dark-alfa-70 a,
.bg-dark-alfa-90 a,
.bg-dark-alfa a,
.bg-color a,
.bg-colorlighter a,
.bg-color-alfa-30 a,
.bg-color-alfa-50 a,
.bg-color-alfa-70 a,
.bg-color-alfa-90 a,
.bg-color-alfa a {
	color: rgba(255, 255, 255, .8);
	padding-bottom: 3px;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.bg-dark a:hover,
.bg-dark-lighter a:hover,
.bg-dark-alfa-30 a:hover,
.bg-dark-alfa-50 a:hover,
.bg-dark-alfa-70 a:hover,
.bg-dark-alfa-90 a:hover,
.bg-dark-alfa a:hover,
.bg-color a:hover,
.bg-color-lighter a:hover,
.bg-color-alfa-30 a:hover,
.bg-color-alfa-50 a:hover,
.bg-color-alfa-70 a:hover,
.bg-color-alfa-90 a:hover,
.bg-color-alfa a:hover {
	color: rgba(255, 255, 255, 1);
	text-decoration: none;
}

.bg-color .text,
.bg-color-lighter .text,
.bg-color-alfa-30 .text,
.bg-color-alfa-50 .text,
.bg-color-alfa-70 .text,
.bg-color-alfa-90 .text,
.bg-color-alfa .text,
.bg-color .section-text,
.bg-color-lighter .section-text,
.bg-color-alfa-30 .section-text,
.bg-color-alfa-50 .section-text,
.bg-color-alfa-70 .section-text,
.bg-color-alfa-90 .section-text,
.bg-color-alfa .section-text {
	color: rgba(255, 255, 255, .75);
}

.bg-color .white,
.bg-color-lighter .whitet,
.bg-color-alfa-30 .white,
.bg-color-alfa-50 .white,
.bg-color-alfa-70 .white,
.bg-color-alfa-90 .white,
.bg-color-alfa .white {
	color: #fff;
}


.bg-dark {
	background-color: #222;
}

.bg-dark-lighter {
	background-color: #252525;
}

.bg-dark-alfa:before,
.bg-dark-alfa .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(17, 17, 17, .97);
}

.bg-dark-alfa-30:before,
.bg-dark-alfa-30 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(34, 34, 34, .3);
}

.bg-dark-alfa-50:before,
.bg-dark-alfa-50 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(34, 34, 34, 0);
}

.bg-dark-alfa-70:before,
.bg-dark-alfa-70 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(17, 17, 17, .7);
}

.bg-dark-alfa-90:before,
.bg-dark-alfa-90 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(17, 17, 17, .9);
}

.bg-light-alfa:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(252, 252, 252, .97);
}

.bg-light-alfa-30:before,
.bg-light-alfa-30 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(252, 252, 252, .30);
}

.bg-light-alfa-50:before,
.bg-light-alfa-50 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(252, 252, 252, .50);
}

.bg-light-alfa-70:before,
.bg-light-alfa-70 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(252, 252, 252, .7);
}

.bg-light-alfa-90:before,
.bg-light-alfa-90 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(252, 252, 252, .9);
}

.bg-color {
	background-color: #e41919;
}

.bg-colort-alfa:before,
.bg-colort-alfa .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e41919;
	opacity: .97;
}

.bg-color-alfa-30:before,
.bg-color-alfa-30 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e41919;
	opacity: .3;
}

.bg-color-alfa-50:before,
.bg-color-alfa-50 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e41919;
	opacity: .5;
}

.bg-color-alfa-70:before,
.bg-color-alfa-70 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e41919;
	opacity: .7;
}

.bg-color-alfa-90:before,
.bg-color-alfa-90 .YTPOverlay:before {
	content: " ";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e41919;
	opacity: .9;
}

.bg-orange {
	background-color: #f47631 !important;
}

.bg-yellow {
	background-color: #ffce02 !important;
}

.bg-cyan {
	background-color: #27c5c3 !important;
}

.bg-green {
	background-color: #58bf44 !important;
}

.bg-blue {
	background-color: #43a5de !important;
}

.bg-purple {
	background-color: #375acc !important;
}

.bg-red {
	background-color: #e13939 !important;
}

.section-title {
	margin-bottom: 15px;
	font-size: 35px;
	font-weight: 800;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 5px;
	line-height: 1.3;
}

.st-point {
	margin-right: -5px;
	color: #e41919;
	font-family: Montserrat, arial, sans-serif;
	font-weight: 400;
}

.section-heading {
	margin: 0;
	padding: 0;
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 16px;
	font-style: italic;
	font-weight: normal;
	text-align: center;
	line-height: 1.3;
	color: #555;
}

.section-line {
	width: 55px;
	height: 1px;
	margin: 30px auto;
	background: #e41919;
}

.section-text {
	font-size: 17px;
	font-weight: 300;
	text-align: center;
	color: #888;
	line-height: 1.8;
}

.section-bot-image {
	margin: 140px 0 -140px;
	text-align: center;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0);
}

.home-bot-image {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
}

.fixed-height-large,
.fixed-height-medium,
.fixed-height-small {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.fixed-height-large {
	min-height: 800px;
}

.fixed-height-medium {
	min-height: 700px;
}

.fixed-height-small {
	min-height: 600px;
}


/*
 * Split section
 */

.split-section {
	width: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.split-section-headings {
	width: 38.2%;
	float: left;
	position: relative;
	overflow: hidden;
	text-align: center;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.ssh-table {
	width: 100%;
	display: table;
}

.ssh-cell {
	display: table-cell;
	padding-left: 10px;
	padding-right: 10px;
	vertical-align: middle;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.split-section-content {
	width: 61.8%;
	float: right;
	min-height: 300px;
	position: relative;
	overflow: hidden;
	background: rgba(255, 255, 255, .97);

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}


/* ==============================
   Services
   ============================== */

.service-grid {
	border-bottom: 1px solid rgba(0, 0, 0, .05);
}

.service-item {
	display: table;
	width: 33.3%;
	float: left;
	overflow: hidden;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.si-cell {
	display: table-cell;
	padding: 30px;
	border-top: 1px solid rgba(0, 0, 0, .05);
	border-left: 1px solid rgba(0, 0, 0, .05);
	position: relative;
	vertical-align: middle;
	text-align: center;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.si-inner {
	position: relative;
	overflow: hidden;
	max-height: 100%;
}


.service-intro {
	position: relative;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.service-icon {
	margin-bottom: 10px;
	font-size: 32px;
	color: #e41919;
}

.service-title {
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #000;
}

.service-descr .service-title {
	margin-bottom: 30px;
}

.service-descr {
	opacity: 0;
	position: relative;
	font-size: 13px;
	line-height: 1.8;
	color: #777;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;

	-webkit-transform-origin: 50% 50%;
	-moz-transform-origin: 50% 50%;
	-o-transform-origin: 50% 50%;
	-ms-transform-origin: 50% 50%;
	transform-origin: 50% 50%;

	-webkit-transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);
	transform: perspective(500px) rotateX(-90deg) rotateY(0deg) rotateZ(0deg);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

}

/* Service hover */

.no-mobile .service-item:hover .service-intro {
	opacity: 0;

	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-o-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
}

.no-mobile .service-item:hover .service-descr {
	opacity: 1;
	-webkit-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}

/* Service mobile click */

.service-item.js-active .service-intro {
	opacity: 0;

	-webkit-transform: scale(0);
	-moz-transform: scale(0);
	-o-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
}

.service-item.js-active .service-descr {
	opacity: 1;
	-webkit-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}


/* ==============================
   Alternative services
   ============================== */

.alt-service-grid {
	margin-top: -60px;
}

.alt-service-wrap {
	position: relative;
}

.alt-services-image {
	text-align: center;
}

.alt-services-image>img {
	display: block;
	width: 100%;
}

.alt-service-item {
	margin: 60px 0 0 0;
	position: relative;
	padding-left: 55px;
	padding-top: 3px;
	font-size: 12px;
	color: #555;

	-webkit-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
	transform: perspective(500px) rotateX(0deg) rotateY(0deg) rotateZ(0deg);

	-webkit-transition: all 0.3s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.3s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.3s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.3s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.3s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.alt-service-icon {
	width: 40px;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	line-height: 40px;
	text-align: center;
	font-size: 32px;
	color: #e41919;

	-webkit-transition: all 0.17s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.17s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.17s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.17s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.17s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.alt-services-title {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	color: #151515;
}

/* Hover State */

.alt-service-wrap:hover .alt-service-item:not(.animating):not(.animate-in) {
	-webkit-transform: perspective(500px) rotateX(20deg) rotateY(0deg) rotateZ(0deg);
	-moz-transform: perspective(500px) rotateX(20deg) rotateY(0deg) rotateZ(0deg);
	-o-transform: perspective(500px) rotateX(20deg) rotateY(0deg) rotateZ(0deg);
	-ms-transform: perspective(500px) rotateX(20deg) rotateY(0deg) rotateZ(0deg);
	transform: perspective(500px) rotateX(20deg) rotateY(0deg) rotateZ(0deg);
}

.alt-service-item:after {
	opacity: 0;
	content: "";
	display: block;
	width: 110%;
	height: 130%;
	position: absolute;
	top: -15%;
	left: -5%;
	background: rgba(0, 0, 0, .05);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.alt-service-wrap:hover .alt-service-item:after {
	opacity: 1;
}

.alt-service-butt {
	width: 100%;
	position: absolute;
	bottom: -32px;
	left: 0;
	opacity: 0;
	text-align: center;

	-webkit-transform: scale(0.8) translate(0px, 20px);
	-moz-transform: scale(1.1) translate(0px, 20px);
	-o-transform: scale(1.1) translate(0px, 20px);
	-ms-transform: scale(1.1) translate(0px, 20px);
	transform: scale(0.8) translate(0px, 20px);

	-webkit-transition: all 0.25s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.25s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.25s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.25s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.25s cubic-bezier(0.000, 0.000, 0.580, 1.000);

}

.alt-service-butt a {
	display: inline-block;
	height: 30px;
	line-height: 30px;
	padding: 0 30px;
	background: rgba(0, 0, 0, .7);
	text-align: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #ccc;
	text-decoration: none;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;



	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.alt-service-butt a:hover {
	text-decoration: none;
	background: rgba(0, 0, 0, .83);
	color: #eaeaea;
}

.alt-service-wrap:hover .alt-service-item:not(.animating):not(.animate-in)+.alt-service-butt {
	opacity: 1;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}



/* ==============================
   Team
   ============================== */

.team-grid {
	margin: -20px 0 0 -1px;
	text-align: center;
	font-size: 0;
	word-spacing: 0;
}

.team-item {
	display: inline-block;
	width: 270px;
	margin: 20px 0 0 1px;
	position: relative;
	font-size: 14px;
	word-spacing: normal;
	text-align: center;
	cursor: default;
}

.team-item-image {
	position: relative;
	overflow: hidden;
}

.team-item-image:after {
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: transparent;

	z-index: 1;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.team-item-detail {
	opacity: 0;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	padding: 20px 23px 55px;
	font-size: 13px;
	text-align: center;
	color: #aaa;

	z-index: 2;

	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.team-item-descr {
	position: relative;
	margin: 0 23px;
	padding: 17px 10px;
	text-align: center;
	background: rgba(255, 255, 255, .98);

	z-index: 3;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.team-item-name {
	margin-bottom: 2px;
	font-size: 14px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.team-item-role {
	margin-bottom: 5px;
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 13px;
	font-style: italic;
}

.team-social-links {
	font-size: 14px;
	cursor: pointer;
}

.team-social-links a {
	display: inline-block;
	padding: 3px 7px;
	color: rgba(0, 0, 0, .25);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

/* Dark Version */

.team-item-descr.dark,
.no-mobile .team-item:hover .team-item-descr.dark,
.team-item.js-active .team-item-descr.dark {
	background: rgba(37, 37, 37, .95);
	color: #bbb;
}

.team-item-descr.dark .team-social-links a {
	color: #999;
}


/* Hover state */
.no-mobile .team-item:hover .team-item-image:after {
	background: rgba(0, 0, 0, .85);
}

.no-mobile .team-item:hover .team-item-detail {
	opacity: 1;
}

.no-mobile .team-item:hover .team-item-descr {
	background: #fff;
	color: #999;
}

.no-mobile .team-social-links a:hover {
	color: rgba(0, 0, 0, .75);
}

/* Mobile touch */
.team-item.js-active .team-item-image:after {
	background: rgba(0, 0, 0, .85);
}

.team-item.js-active .team-item-detail {
	opacity: 1;
}

.team-item.js-active .team-item-descr {
	background: #fff;
	color: #999;
}


/* ==============================
   Features
   ============================== */

.features-item {
	padding: 15px;
	text-align: center;

	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

.features-icon {
	font-size: 96px;
	line-height: 1.3;
	color: rgba(255, 255, 255, .9);
}

.features-title {
	margin-bottom: 3px;
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .9);
}

.features-descr {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 16px;
	font-style: italic;
	color: rgba(255, 255, 255, .75);
}

.features-icon.black {
	color: rgba(0, 0, 0, .9);
}

.features-title.black {
	color: rgba(0, 0, 0, .9);
}

.features-descr.black {
	color: rgba(0, 0, 0, .75);
}



/* ==============================
   Benefits (Process)
   ============================== */

.benefits-grid {
	margin: 0 0 -40px -20px;
	text-align: center;
	vertical-align: top;
}

.benefit-item {
	display: inline-block;
	width: 264px;
	margin: 0 0 40px 20px;
	padding: 15px;
	position: relative;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: top;
	cursor: default;
}

.benefit-number {
	width: 100%;
	position: absolute;
	top: 0;
	left: -25px;
	font-family: Montserrat, arial, sans-serif;
	font-size: 120px;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	color: rgba(225, 0, 0, 0.005);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.benefit-icon {
	position: relative;
	margin-bottom: 6px;
	font-size: 32px;
	color: #e41919;
}

.benefit-title {
	position: relative;
	margin: 0 0 17px 0;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.benefits-descr {
	position: relative;
	font-size: 13px;
	color: #777;
}

.benefit-item:after {
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: rgba(0, 0, 0, .015);
	opacity: 0;

	-webkit-transition: all 0.37s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	-o-transform: scale(0.5);
	-ms-transform: scale(0.5);
	transform: scale(0.5);
}

.benefit-item:hover:after {
	opacity: 1;
	-webkit-transform: none;
	-moz-transform: none;
	-o-transform: none;
	-ms-transform: none;
	transform: none;
}

.benefit-item:hover .benefit-number {
	color: rgba(0, 0, 0, .015);
	-webkit-transform: scale(0.75);
	-moz-transform: scale(0.75);
	-o-transform: scale(0.75);
	-ms-transform: scale(0.75);
	transform: scale(0.75);
}


/* ==============================
   Counters
   ============================== */

.count-number {
	font-family: Montserrat, arial, sans-serif;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.count-descr {
	font-size: 14px;
	color: #e41919;
	text-align: center;
}

.count-title {
	margin-top: -1px;
	font-size: 13px;
	color: #000;
}

.count-separator {
	height: 30px;
	clear: both;
	float: none;
	overflow: hidden;
}



/* ==============================
   Portfolio
   ============================== */

#portfolio+.small-section {
	margin-top: -110px;
}

/*
 * Works filter
 */

.works-filter {
	display: inline-block;
	list-style: none;
	padding: 0;
	margin: 0 0 70px 0;
	font-size: 12px;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 1px;
	color: #555;
	cursor: default;
}

.works-filter a {
	display: inline-block;
	margin: 0 5px;
	padding: 6px 20px;
	border: 1px solid rgba(0, 0, 0, .05);
	color: #222;
	text-decoration: none;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;

	-webkit-transition: all 0.37s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	cursor: pointer;
}

.works-filter a:first-child {
	margin-left: 0;
}

.works-filter a:last-child {
	margin-right: 0;
}

.works-filter a:hover {
	color: #888;
	border: 1px solid rgba(0, 0, 0, .2);
	text-decoration: none;
}

.works-filter a.active {
	border-color: #222;
	cursor: default;
}

.works-filter a.active:hover {
	color: #000;
}


/*
 * Works grid
 */

.works-grid {
	list-style: none;
	margin: 0 0 -30px 0;
	padding: 0;
}

.work-item {
	width: 25%;
	float: left;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.work-grid-3 .work-item {
	width: 33.333%;
}

.container .work-grid-3 .work-item {
	width: 33.2%;
}

.works-grid .mix {
	/*display: none;
	opacity: 0;*/
}

.work-item>a {
	display: block;
	padding: 0 0 94px 0;
	position: relative;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-decoration: none;
}

.work-item a,
.work-item a:hover {
	color: #000;
	border: none;
}

.work-img {
	position: relative;
	overflow: hidden;
}

.work-img img {
	width: 100%;
	display: block;
	overflow: hidden;
}

.work-intro {
	width: 100%;
	height: 94px;
	padding: 22px 20px;
	-webkit-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: 0;
	text-align: center;
	overflow: hidden;
}

.work-title {
	margin: 0 0 8px 0;
	padding: 0;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1.2;
}

.work-descr {
	font-size: 13px;
	text-align: center;
	color: #bbb;
	line-height: 1.2;
}

.work-grid-2 .work-title {
	font-size: 14px;
	font-weight: 700;
}

.works-grid.hide-titles .work-item>a {
	overflow: hidden;
	padding: 0;
}

.works-grid.hide-titles .work-item .work-intro {
	opacity: 0;
	bottom: -94px;
}

.works-grid.hide-titles .work-item:hover .work-intro {
	opacity: 1;
}

.work-grid-3 .work-title {
	font-size: 14px;
	font-weight: 700;
}

.work-grid-3 .work-descr {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 14px;
	font-style: italic;
}


/* Work item hover state */

.work-intro {
	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.work-item:hover .work-intro {
	/*bottom: auto;*/
	/*top: 50%;*/
	color: #fff;

	-webkit-transform: translateY(-99px);
	-moz-transform: translateY(-99px);
	transform: translateY(-99px);

	z-index: 3;
}

.work-item:hover .work-title {
	color: #ccc;
}

.work-item:hover .work-descr {
	color: #999;
}

.work-item .work-img:after {
	content: " ";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(250, 250, 250, 0);

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);

}

.work-item:hover .work-img:after {
	background: rgba(34, 66, 86, 0.6);
}

.works-grid.hover-color .work-item:hover .work-intro,
.works-grid.hover-color .work-item:hover .work-title,
.works-grid.hover-color .work-item:hover .work-descr {
	color: #fff;
}

.works-grid.hover-color .work-item:hover .work-img:after {
	background: #e41919;
	opacity: .73;
}

.works-grid.hover-white .work-item:hover .work-intro,
.works-grid.hover-white .work-item:hover .work-title,
.works-grid.hover-white .work-item:hover .work-descr {
	color: #000;
}

.works-grid.hover-white .work-item:hover .work-img:after {
	background: rgba(250, 250, 250, .9);
}

.work-item .work-img>img {
	-webkit-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.work-item:hover .work-img>img {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}

/*
 * Works full view
 */

.work-full {
	display: none;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 10000;
}

.work-full-load {
	padding-top: 60px;
}

.work-loader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 10001;
}

.work-loader:after {
	display: block;
	content: " ";
	width: 16px;
	height: 16px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin: -8px 0 0 -8px;
	background: url(../images/loader.gif) no-repeat;
}

/* Work navigation */

.work-navigation {
	width: 100%;
	height: 51px;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;

	-webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, .05);
	-moz-box-shadow: 0 1px 0px rgba(0, 0, 0, .05);
	box-shadow: 0 1px 0px rgba(0, 0, 0, .05);

	z-index: 10002;
}

.work-navigation .fa {
	font-size: 12px;
	vertical-align: middle;
}

.work-navigation .fa-times {
	font-size: 16px;
	margin-top: -2px;
}

.work-navigation a {
	display: block;
	float: left;
	width: 33.33333%;
	overflow: hidden;
	vertical-align: middle;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.work-navigation a,
.work-navigation a:visited {
	color: #151515;
}

.work-navigation a:hover {
	color: #151515;
}

.work-navigation a span {
	display: inline-block;
	height: 50px;
	line-height: 49px;
	padding: 0 4%;
	background: #fff;

	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
}

.work-navigation span:hover {
	background: #f7f7f7;
}

.work-back-link {
	margin: 20px 0 0;
	display: block;
	background: #fff;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #151515;
}

.work-prev {
	text-align: left;
}

.work-all {
	text-align: center;
}

.work-next {
	text-align: right;
}

.work-container {
	padding: 50px 0;
}

.work-full-title {
	margin: 0 0 10px 0;
	padding: 0;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 1px;
}

.work-full-media {
	margin-top: 30px;
}

.work-full-media img {
	max-width: 100%;
	height: auto;
}

.work-full-text {
	text-align: left;
	font-size: 13px;
	color: #777;
}

.work-full-text h6 {
	margin-top: 5px;
}

.work-detail {
	margin-bottom: 30px;
}

.work-detail p:last-child {
	margin-bottom: 0;
}

.work-full-detail {
	font-size: 11px;
	color: #777;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.work-full-detail p {
	margin: 0 0 4px 0;
}

.work-full-action {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #eaeaea;
	text-align: center;
}



/* ==============================
   Banner section
   ============================== */

.banner-heading {
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 24px;
	font-weight: 800;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .8);
}

.banner-text {
	text-align: left;
}

.banner-decription {
	margin-top: 5px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(255, 255, 255);
}

.image-color-bg .banner-decription {
	color: #f0c3bf;
}

.banner-button {
	text-align: right;
}


/* ==============================
   Testimonial
   ============================== */

.testimonial {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	text-align: center;
	font-family: Raleway, arial, sans-serif;
	font-size: 18px;
	font-style: normal;
	letter-spacing: 0;
	color: #444;
}

.testimonial-author {
	margin-top: 20px;
	color: #999;
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 14px;
	font-style: italic;
	text-align: center;
}

/*
 * Logo Marquee (infinite scroll)
 */

.logo-marquee-wrapper {
	overflow: hidden;
	width: 100%;
	-webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
	mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}

.logo-marquee-track {
	display: flex;
	align-items: center;
	gap: 60px;
	width: max-content;
	animation: logo-scroll 40s linear infinite;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.logo-marquee-track:hover {
	animation-play-state: paused;
}

@keyframes logo-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}

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


/*
 * Logotypes
 */

.logo-item {
	height: 110px;
	text-align: center;
	opacity: .55;
	position: relative;
	flex-shrink: 0;
	min-width: 150px;

	-webkit-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.3s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.logo-item:hover {
	opacity: 1;
	-webkit-transform: scale(1.08);
	-moz-transform: scale(1.08);
	-o-transform: scale(1.08);
	-ms-transform: scale(1.08);
	transform: scale(1.08);
}

.logo-item a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	text-decoration: none;
	position: relative;
}

.logo-item img {
	max-height: 70px;
	width: auto;
}

.logo-tooltip {
	display: block;
	margin-top: 0;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #224b56;
	white-space: nowrap;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease, transform 0.3s ease;
	-moz-transition: opacity 0.3s ease, transform 0.3s ease;
	transition: opacity 0.3s ease, transform 0.3s ease;
	-webkit-transform: translateY(-4px);
	-moz-transform: translateY(-4px);
	transform: translateY(-4px);
}

.logo-item:hover .logo-tooltip {
	opacity: 1;
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	transform: translateY(0);
}



/* ==============================
   Last posts (blog section)
   ============================== */

.last-posts-grid {}

.lp-item {
	width: 25%;
	float: left;
	position: relative;
	text-decoration: none;
	text-align: center;
}

.lp-item:hover {
	text-decoration: none;
}

.lp-item:nth-child(4n + 5) {
	clear: left;
}

.lp-image {
	position: relative;
	overflow: hidden;
}

.lp-more {
	width: 75px;
	height: 20px;
	line-height: 20px;
	padding: 0 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #e41919;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	white-space: nowrap;
	color: #fff;
	opacity: .9;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1);
	-webkit-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	-moz-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	-o-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);

	z-index: 2;
}

.lp-date {
	width: 75px;
	padding: 15px 5px;
	position: absolute;
	bottom: 20px;
	left: 0;
	background: rgba(255, 255, 255, .9);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 1px;
	line-height: 1.1;
	color: #222;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1);
	-webkit-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	-moz-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	-o-transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);
	transition: all 300ms cubic-bezier(0.130, 0.895, 0.100, 1.275);

	z-index: 2;
}

.lp-date-num {
	font-family: Montserrat, arial, sans-serif;
	font-size: 30px;
}

.lp-descr {
	position: relative;
	padding: 23px 0;
	color: #000;
	text-decoration: none;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	-webkit-transition: all 0.37s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);

	z-index: 2;
}

.lp-title {
	margin: 0 0 4px 0;
	padding: 0;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.lp-author {
	font-family: "Libre Baskerville", "Times New Roman", Times, serif;
	font-size: 14px;
	font-style: italic;
	color: #bbb;
}

/* Hover state */

.lp-item:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: transparent;
	z-index: 1;

	-webkit-transition: all 0.37s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.lp-item:hover:after,
.blog-media:hover:after {
	background: rgba(255, 255, 255, .35);
}

.lp-item:hover .lp-date,
.blog-media:hover .lp-date {
	bottom: 75px;
}

.lp-item:hover .lp-more,
.blog-media:hover .lp-more {
	height: 75px;
	line-height: 75px;

}

.lp-item:hover .lp-descr {
	color: #999;
}

.blog-media img {
	display: block;
	width: 100%;
}

/* Blog Link */

.blog-link,
.blog-link:hover {
	position: relative;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	background: #222;
	color: #707070;
}

.blog-link:after {
	display: none;
}

.bl-text {
	display: table;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.bl-text-sub {
	display: table-cell;
	padding-top: 5px;
	vertical-align: middle;
	text-align: center;
}

.bl-line-1 {
	margin-bottom: 4px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 9px;

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.bl-line-2 {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #eaeaea;

	-webkit-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 037s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);

}

.bl-line-2 .serif {
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

.bl-icon {
	width: 128px;
	height: 128px;
	line-height: 128px;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -105px 0 0 -64px;
	font-size: 128px;
	color: rgba(255, 255, 255, .07);

	-webkit-transition: all 0.47s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.47s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.47s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.47s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.47s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

/* Hover state */

.blog-link:hover .bl-icon {
	margin-top: -70px;
	color: rgba(255, 255, 255, .1);
	-webkit-transform: scale(1.4);
	-moz-transform: scale(1.4);
	-o-transform: scale(1.4);
	-ms-transform: scale(1.4);
	transform: scale(1.4);
}

.blog-link:hover .bl-line-1,
.blog-link:hover .bl-line-2 {
	opacity: 0;

	-webkit-transform: translateY(50px) scale(.5);
	-moz-transform: translateY(50px) scale(.5);
	-o-transform: translateY(50px) scale(.5);
	-ms-transform: translateY(50px) scale(.5);
	transform: translateY(50px) scale(.5);
}

.blog-link:hover .bl-line-1 {
	-webkit-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 037s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.37s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.blog-link:hover .bl-line-2 {
	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

#news+.small-section {
	margin-top: -140px;
}


/* ==============================
   Newsletter
   ============================== */

.newsletter-label {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: rgba(0, 0, 0, .2);
}

.form input.newsletter-field {
	height: 45px;
	line-height: 45px;
	margin-top: -2px;
	padding: 0;
	background: none;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid rgba(0, 0, 0, .3);
	font-size: 22px;
	font-weight: 800;
	text-transform: uppercase;
	color: #000 !important;
}

.form input.newsletter-field:hover {
	color: #222;
	border-color: rgba(0, 0, 0, .75);
}

.form input.newsletter-field:focus {
	color: #000;
	border-color: rgba(0, 0, 0, 1);

	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.form input.newsletter-field::-webkit-input-placeholder {
	color: #000;
}

.form input.newsletter-field:focus::-webkit-input-placeholder {
	color: rgba(0, 0, 0, .15);
}

.form input.newsletter-field:-moz-placeholder {
	color: #000;
}

.form input.newsletter-field:focus:-moz-placeholder {
	color: rgba(0, 0, 0, .15);
}

.form input.newsletter-field::-moz-placeholder {
	color: #000;
}

.form input.newsletter-field:focus::-moz-placeholder {
	color: rgba(0, 0, 0, .15);
}

.form input.newsletter-field:-ms-input-placeholder {
	color: #000;
}

.form input.newsletter-field:focus:-ms-input-placeholder {
	color: rgba(0, 0, 0, .15);
}


/* ==============================
   Contact section
   ============================== */

.contact-item {
	padding-right: 67px !important;
	position: relative;
	color: rgba(255, 255, 255, .3);
	text-align: right;
	overflow: hidden;

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.contact-item a {
	color: rgba(255, 255, 255, .3);
	text-decoration: none;
}

.contact-item:hover,
.contact-item:hover a {
	color: rgba(255, 255, 255, .4);
}

.contact-item a:hover {
	color: rgba(255, 255, 255, .7);
	text-decoration: none;
}

.ci-icon {
	width: 45px;
	height: 40px;
	position: absolute;
	top: 4px;
	right: 7px;
	font-size: 14px;
	text-align: center;
	line-height: 40px;
	border-left: 1px solid rgba(255, 255, 255, .1);
}

.ci-title {
	margin-bottom: 5px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.ci-phone {
	font-size: 24px;
	font-family: Montserrat, arial, sans-serif;
	font-weight: 400;
	line-height: 1.2;
}

.ci-text {
	color: rgba(255, 255, 255, .3);
}

/*
 * Contact form
 */

.cf-left-col {
	width: 48.5%;
	float: left;
	margin-right: 3%;
}

.cf-right-col {
	width: 48.5%;
	float: left;
	;
}

.contact-form .form-group {
	margin-bottom: 30px;
}

.contact-form input.ci-field {
	height: 44px;
	padding: 10px 0;
	font-size: 17px;
	font-weight: 400;
	text-transform: none;
	color: #fff;
	background: transparent !important;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.contact-form input.ci-field:hover {
	border-color: rgba(255, 255, 255, .3);
}

.contact-form input.ci-field:focus {
	color: #ddd;
	border-color: rgba(255, 255, 255, .5);
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.contact-form textarea.ci-area:focus {
	-moz-box-shadow: none !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
}

.contact-form input.ci-field::-webkit-input-placeholder,
.contact-form textarea.ci-area::-webkit-input-placeholder {
	color: rgba(255, 255, 255, .5);
}

.contact-form input.ci-field:focus::-webkit-input-placeholder,
.contact-form textarea.ci-area:focus::-webkit-input-placeholder {
	color: rgba(255, 255, 255, .2);
}

.contact-form input.ci-field:-moz-placeholder,
.contact-form textarea.ci-area:-moz-placeholder {
	color: rgba(255, 255, 255, .5);
}

.contact-form input.ci-field:focus:-moz-placeholder,
.contact-form textarea.ci-area:focus:-moz-placeholder {
	color: rgba(255, 255, 255, .2);
}

.contact-form input.ci-field::-moz-placeholder,
.contact-form textarea.ci-area::-moz-placeholder {
	color: rgba(255, 255, 255, .5);
}

.contact-form input.ci-field:focus::-moz-placeholder,
.contact-form textarea.ci-area:focus::-moz-placeholder {
	color: rgba(255, 255, 255, .2);
}

.contact-form input.ci-field:-ms-input-placeholder,
.contact-form textarea.ci-area:-ms-input-placeholder {
	color: rgba(255, 255, 255, .5);
}

.contact-form input.ci-field:focus:-ms-input-placeholder,
.contact-form textarea.ci-area:focus:-ms-input-placeholder {
	color: rgba(255, 255, 255, .2);
}

.contact-form textarea.ci-area {
	height: 75px;
	padding: 3px;
	font-size: 13px;
	font-weight: 400;
	text-transform: none !important;
	color: #fff;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .15);

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

.contact-form textarea.ci-area:hover {
	border-color: rgba(255, 255, 255, .3);
}

.contact-form textarea.ci-area:focus {
	color: #ddd;
	border-color: rgba(255, 255, 255, .5);
}

.contact-form label {
	margin-top: 10px;
	margin-bottom: 6px;
	font-size: 17px;
	font-weight: 400;
	text-transform: none !important;
	color: rgba(255, 255, 255, .5);
}

.contact-form .ci-btn {
	margin-top: -5px;
	color: #aaa;
	background: rgba(51, 51, 51, .75);
}

.contact-form .ci-btn:hover {
	background: rgba(75, 75, 75, .75);
}

.contact-form .ci-btn:focus {
	outline: none;
}

.contact-form .error {
	margin-top: 20px;
	padding: 13px 20px;
	text-align: center;
	background: rgba(228, 25, 25, .75);
	color: #fff;
}

.contact-form .success {
	margin-top: 20px;
	padding: 13px 20px;
	text-align: center;
	background: rgba(50, 178, 95, .75);
	color: #fff;
}


/* ==============================
   Bottom menu
   ============================== */

.bot-menu {
	text-align: center;
	background: #252525;
	font-weight: 400;
	color: #474747;
	font-size: 0;
	word-spacing: 0;
}

.bot-menu-item,
.bot-menu-item:visited,
.bot-menu-item:focus {
	height: 60px;
	line-height: 54px;
	display: inline-block;
	padding: 0 20px;
	font-size: 18px;
	color: #555;
	white-space: normal;
	text-decoration: none;
	border-right: 1px solid #202020;

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.bot-menu-item:first-child {
	border-left: 1px solid #202020;
}

.bot-menu-item:hover,
.bot-menu-item.js-active {
	display: inline-block;
	color: #777;
	background: #2a2a2a;
	text-decoration: none;
}

.bot-menu-icon {
	display: inline-block;
	font-size: 28px;
	position: relative;
	top: 4px;
}


/* ==============================
   Google maps
   ============================== */

.google-map {
	background: #333;
}

#map-canvas {
	display: none;
	background-color: #333 !important;
}

#map-canvas iframe {
	display: block;
	width: 100%;
	height: 550px;
	position: relative;
	background-color: #111 !important;
	z-index: 1;
}

.gm-style-cc {
	display: none !important;
}

.gm-style-iw div {
	color: #777;
}



/* ==============================
   Footer
   ============================== */

.footer {
	text-align: center;
	color: #707070;
	font-size: 12px;
}

.footer a {
	color: #aaaaaa;
	text-decoration: none;

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.footer a:hover {
	color: #ccc;
	text-decoration: none;
}

.footer-copy {
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1px;
}

.footer-made {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.footer-made .serif {
	font-size: 16px;
	font-weight: 400;
	color: #aaaaaa;
	text-transform: none;
}

.footer-social-links {
	margin-top: 20px;
	font-size: 14px;
}

.footer-social-links a {
	width: 36px;
	height: 36px;
	line-height: 35px;
	text-align: center;
	display: inline-block;
	color: #474747;
	border: 1px solid rgba(255, 255, 255, .07);

	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;

	-webkit-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.300, 0.100, 0.580, 1.000);
}

.footer-social-links a:hover {
	border-color: rgba(255, 255, 255, .3);
}


/* ==============================
   Blog
   ============================== */

.blog-item {
	margin-bottom: 70px;
	position: relative;
}

.blog-item-date {
	width: 100px;
	padding: 10px;
	position: absolute;
	top: 0px;
	left: -130px;
	font-size: 13px;
	letter-spacing: 1px;
	line-height: 1.2;
	text-transform: uppercase;
	text-align: center;
	color: #222;
	border-right: 1px solid #eee;

}

.date-num {
	display: block;
	margin-bottom: 3px;
	font-family: Montserrat, arial, sans-serif;
	font-size: 18px;
	color: #111;
}

.blog-media {
	margin-bottom: 30px;
}

.blog-media img,
.blog-media .video,
.blog-media iframe {}

.blog-item-title {
	margin-top: 0;
	padding-top: 0;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;

}

.blog-item-title a {
	color: #000;
	text-decoration: none;
}

.blog-item-title a:hover {
	color: #e41919;
	text-decoration: none;
}

.blog-item-data {
	margin-bottom: 30px;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1px;
	color: #aaa;
}

.separator {
	margin: 0 5px;
}

.blog-item-data a {
	color: #aaa;
	text-decoration: none;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.blog-item-data a:hover {
	color: #000;
	text-decoration: none;
}

.blog-post-data {
	margin-top: 10px;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 1px;
	color: #aaa;
}

.blog-item-body {
	font-size: 16px;
	font-weight: 300;
	color: #5f5f5f;
	line-height: 1.8;
}

.blog-item-body h1,
.blog-item-body h2,
.blog-item-body h3,
.blog-item-body h4,
.blog-item-body h5,
.blog-item-body h6 {
	margin: 1.3em 0 0.5em 0;
	color: #000;
}

.blog-item-more {
	border: 1px solid #eaeaea;
	padding: 5px 10px;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	color: #777;
	letter-spacing: 1px;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.blog-item-more:hover {
	text-decoration: none;
	border-color: #e41919;
}

a.blog-item-more {
	color: #777;
	text-decoration: none;
}

a.blog-item-more:hover {
	color: #e41919;
}

.blog-item-q {
	background: none;
	border: none;
	padding: 0;
	margin: 1em 0;
}

.blog-item-q p {
	position: relative;
	font-size: 20px;
	font-style: normal;
	letter-spacing: 0;
}

.blog-item-q p a {
	color: #000;
	text-decoration: none;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.blog-item-q:hover a,
.blog-item-q p a:hover {
	text-decoration: none;
	color: #e41919;
}

.blog-item-q p:before,
.blog-item-q p:after {
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.blog-item-q p:before {
	content: '"';
	position: absolute;
	top: 0;
	left: -17px;
}

.blog-item-q p:after {
	content: '"';
}

.blog-item-q p:hover:before,
.blog-item-q p:hover:after {
	color: #e41919;
}

.blog-page-title {
	margin-bottom: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
}


/*
 * Pagination
 */

.pagination {
	font-size: 13px;
	font-family: Montserrat, arial, sans-serif;
}

.pagination a {
	display: inline-block;
	min-width: 30px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	padding: 7px 14px;
	border: 1px solid #eaeaea;
	color: #999;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.pagination .fa {
	margin-top: 1px;
	font-size: 16px;
}

.pagination a:hover {
	text-decoration: none;
	border-color: #bbb;
	color: #444;
}

.pagination a.active,
.pagination a.active:hover {
	border-color: #bbb;
	color: #444;
	cursor: default;
}

.pagination a.no-active,
.pagination a.no-active:hover {
	border-color: #efefef;
	color: #bbb;
	cursor: default;
}



/*
 * Comments
 */
.comment-list {}

.comment-item {
	padding-top: 30px;
	border-top: 1px dotted #e9e9e9;
	font-size: 14px;
}

.comment-item:first-child {
	padding-top: 0;
	border-top: none;
}

.comment-avatar {
	width: 50px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

.comment-item-data {
	margin: 0 0 5px;
	text-transform: uppercase;
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #777;
}

.comment-item-data a {
	color: #777;
	text-decoration: none;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.comment-item-data a:hover {
	color: #000;
	text-decoration: none;
}

.comment-author {
	display: inline-block;
	margin-right: 20px;
	font-size: 11px;
	font-weight: 700;
}

.comment-author a {
	color: #999;
}


/*
 * Sidebar
 */

.sidebar {
	margin-top: 10px;
}

.widget {
	margin-bottom: 60px;
}

.widget .img-left {
	margin: 0 10px 10px 0;
}

.widget .img-right {
	margin: 0 0 10px 10px;
}

.widget-title {
	margin-bottom: 20px;
	padding-bottom: 5px;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 700;
	color: #444;
	letter-spacing: 1px;
	border-bottom: 1px solid #aaa;
}

.widget-body {
	font-size: 13px;
	color: #777;
}

.widget-text {
	line-height: 1.7;
}


/* Search widget */

.search-wrap {
	position: relative;
}

.search-field {
	width: 100% !important;
	height: 40px !important;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.search-button {
	width: 42px;
	height: 40px;
	line-height: 40px;
	margin-top: -20px;
	position: absolute;
	top: 50%;
	right: 1px;
	overflow: hidden;
	background: transparent;
	border: none;
	outline: none;
	color: #777;
}

.search-button:hover {
	color: #212121;
}

.search-button:hover+.search-field {
	border-color: #ccc;
}


/* Widget menu */

.widget-menu {
	font-size: 13px;
}

.widget-menu li {
	padding: 5px 0;

}

.widget-menu li a {
	color: #555;
	text-decoration: none;
	padding-bottom: 2px;
	text-decoration: none;
	border-bottom: 1px solid transparent;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.widget-menu li a:hover,
.widget-menu li a.active {
	color: #e41919;
}

.widget-menu li small {
	font-size: 11px;
	color: #aaa;
}


/* Widget tags */

.tags {}

.tags a {
	display: inline-block;
	margin: 0 2px 5px 0;
	padding: 5px 7px;
	border: 1px solid #e9e9e9;
	color: #777;
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.tags a:hover {
	text-decoration: none;
	border-color: #333;
	color: #000;
}

/* Comments */
.widget-comments {
	color: #aaa;
}

.widget-comments li {
	padding: 12px 0;
	border-bottom: 1px dotted #eaeaea;
}

.widget-comments li a {
	color: #444;
	text-decoration: none;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.widget-comments li a:hover {
	color: #e41919;
}


/* Posts */
.widget-posts {
	color: #aaa;
}

.widget-posts li {
	font-size: 12px;
	padding: 12px 0;
	border-bottom: 1px dotted #eaeaea;
}

.widget-posts li a {
	font-size: 13px;
	display: block;
	color: #444;
	text-decoration: none;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.widget-posts li a:hover {
	color: #e41919;
}


/* ==============================
   Pricing
   ============================== */

.pricing-item {
	margin: 0 0 30px;
	position: relative;
	text-align: center;
}

.pricing-item-inner {
	border: 1px solid #eaeaea;
	vertical-align: middle;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.pricing-item-inner:hover {
	border-color: #aaa;
}

.main .pricing-item-inner {
	border-color: #aaa;
}

.pricing-wrap {
	position: relative;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	padding: 30px 20px;
	text-align: center;
	overflow: hidden;
}

.pricing-icon {
	padding-top: 10px;
	padding-bottom: 5px;
	position: relative;
	font-size: 32px;
	z-index: 1;
}

.pricing-title {
	position: relative;
	margin-bottom: 40px;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	z-index: 1;
}

.pr-list {
	margin: 0 -20px 30px;
	padding: 0;

	color: #777;
	font-size: 11px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.pr-list li {
	padding: 12px 20px;
	list-style: none;
	border-bottom: 1px solid #f1f1f1;
}

.pr-list li:first-child {
	border-top: 1px solid #f1f1f1;
}

.pricing-num {
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;

}

.pricing-num sup {
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 400;
	position: relative;
	top: -20px;
	left: -3px;
	margin-left: -7px;
}

.pr-button {
	margin: 30px -20px 0;
	padding-top: 30px;
	border-top: 1px solid #f1f1f1;
}

.pr-per {
	color: #999;
	font-size: 12px;
}



/* ==============================
   Shortcodes
   ============================== */

.margin-block {
	margin-bottom: 30px;
}


/*
 * Owl Carousel
 */

.owl-buttons {
	position: static;
}

.owl-prev,
.owl-next {
	opacity: 0;
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -30px;
	width: 40px;
	height: 60px;
	line-height: 60px;
	font-size: 74px;
	text-align: center;
	color: rgba(255, 255, 255, .7);

	text-shadow: 1px 1px 0px rgba(0, 0, 0, .1);

	z-index: 6;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.owl-prev {
	left: 0;
}

.owl-next {
	right: 0;
}

.owl-prev:hover,
.owl-next:hover {
	color: rgba(255, 255, 255, .95);

	-webkit-transition: 0 none !important;
	-moz-transition: 0 none !important;
	-ms-transition: 0 none !important;
	-o-transition: 0 none !important;
	transition: 0 none !important;
}

.owl-prev:active,
.owl-next:active {
	-webkit-transform: scale(0.94);
	-moz-transform: scale(0.94);
	-o-transform: scale(0.94);
	-ms-transform: scale(0.94);
	transform: scale(0.94);
}

.owl-carousel:hover .owl-prev {
	opacity: 1;
	left: 25px;
}

.owl-carousel:hover .owl-next {
	opacity: 1;
	right: 25px;
}

.owl-pagination {
	display: block;
	width: 100%;
	position: absolute;
	bottom: 45px;
	left: 0;
	text-align: center;
	z-index: 100 !important;
}

.owl-page {
	display: inline-block;
	padding: 6px 4px;
}

.owl-page span {
	width: 24px;
	height: 3px;
	display: block;
	background: rgba(255, 255, 255, .2);

	-webkit-box-shadow: 1px 1px 0px rgba(0, 0, 0, .1);
	-moz-box-shadow: 1px 1px 0px rgba(0, 0, 0, .1);
	box-shadow: 1px 1px 0px rgba(0, 0, 0, .1);

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.owl-page:hover span {
	background: rgba(255, 255, 255, .45);
}

.owl-page.active span {
	background: rgba(255, 255, 255, .65);
}

.item-carousel .owl-prev {
	left: -125px;
}

.item-carousel .owl-next {
	right: -125px;
}

section:hover .item-carousel.owl-carousel .owl-prev {
	opacity: 1;
	left: -80px;
}

section:hover .item-carousel.owl-carousel .owl-next {
	opacity: 1;
	right: -80px;
}

.item-carousel .owl-pagination {
	bottom: -95px;
}

.work-full-slider:hover .owl-prev,
.content-slider:hover .owl-prev {
	left: 10px;
}

.work-full-slider:hover .owl-next,
.content-slider:hover .owl-next {
	right: 10px;
}

.work-full-slider .owl-pagination,
.content-slider .owl-pagination {
	bottom: 15px;
}

.single-carousel,
.small-item-carousel {
	margin-bottom: 35px;
}

.single-carousel .owl-pagination,
.small-item-carousel .owl-pagination {
	position: relative;
	left: 0;
	top: 35px;
	margin: 0;
}

.single-carousel.black .owl-page span,
.small-item-carousel.black .owl-page span {
	background: rgba(0, 0, 0, .15);

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.single-carousel.black .owl-page:hover span,
.small-item-carousel.black .owl-page:hover span {
	background: rgba(0, 0, 0, .4);
}

.single-carousel.black .owl-page.active span,
.small-item-carousel.black .owl-page.active span {
	background: rgba(0, 0, 0, .4);
}

.single-carousel.black .owl-prev,
.single-carousel.black .owl-next,
.small-item-carousel.black .owl-prev,
.small-item-carousel.black .owl-next {
	color: rgba(0, 0, 0, .2);
	text-shadow: none;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.single-carousel.black .owl-prev:hover,
.single-carousel.black .owl-next:hover,
.small-item-carousel.black .owl-prev:hover,
.small-item-carousel.black .owl-next:hover {
	color: rgba(0, 0, 0, .35);
}

.single-carousel .owl-prev,
.small-item-carousel .owl-prev {
	left: -125px;
}

.single-carousel .owl-next,
.small-item-carousel .owl-next {
	right: -125px;
}

section:hover .single-carousel .owl-prev,
section:hover .small-item-carousel .owl-prev {
	opacity: 1;
	left: -80px;
}

section:hover .single-carousel .owl-next,
section:hover .small-item-carousel .owl-next {
	opacity: 1;
	right: -80px;
}

.photo-slider-item {}



/*
 * Tabs
 */

.tpl-tabs {
	border-color: #e5e5e5;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.tpl-tabs>li>a {
	text-decoration: none;
	color: #777;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

.tpl-tabs>li>a:hover {
	background-color: #f5f5f5;
}

.tpl-tabs li.active a {
	color: #000;
}

.tpl-tabs-cont {
	padding: 30px 0;
	color: #777;
	line-height: 1.8;
}

/*
 * Tabs minimal
 */

.tpl-minimal-tabs {
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 1px;
	border: none;
}

.tpl-minimal-tabs>li {
	padding: 0 30px;
	background: none !important;
}

.tpl-minimal-tabs>li>a {
	padding: 6px 20px 5px;
	text-decoration: none;
	color: #000;
	background: none;
	border: 1px solid transparent;

	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}

.tpl-minimal-tabs>li>a:hover {
	background: none;
	border-color: #e9e9e9;
	color: #777;
}

.tpl-minimal-tabs li.active a,
.tpl-minimal-tabs li.active a:hover {
	/* border: 1px solid #222 !important; */
	background: none !important;
	color: #000;
	cursor: default;
}

.tpl-minimal-tabs-cont {}


/*
 * Alert messages
 */

.alert {
	margin: 0 auto 10px;
	padding: 14px 20px;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	border: 1px solid #ddd;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #777;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;

}

.success {
	border-color: #a9e2c2;
	color: #36a367;
}

.info {
	border-color: #9ecdfc;
	color: #297ad3;
}

.notice {
	border-color: #f9ce75;
	color: #e9a00a;
}

.error {
	border-color: #ffbbbb;
	color: #e33131;
}


/*
 * Accordion
 */

.accordion>dt {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.accordion>dt>a {
	display: block;
	position: relative;
	color: #777;
	text-decoration: none;
	padding: 14px 20px;
	border: 1px solid #e5e5e5;


	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.accordion>dt>a:hover {
	text-decoration: none;
	border-color: #ddd;
	background-color: #fcfcfc;
	color: #444;
}

.accordion>dt>a.active {
	color: #000;
	border-color: #ddd;
	background-color: #fcfcfc;
	cursor: default;
}

.accordion>dt>a:after {
	content: "\e095";
	width: 15px;
	height: 15px;
	margin-top: -8px;
	position: absolute;
	top: 50%;
	right: 10px;
	font-family: 'Simple-Line-Icons';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	font-size: 15px;
	line-height: 15px;
	text-align: center;
	color: #999;
	-webkit-font-smoothing: antialiased;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.accordion>dt>a.active:after,
.accordion>dt>a.active:hover:after {
	content: "\e082";
	color: #e41919;
}

.accordion>dt>a:hover:after {
	color: #444;
}

.accordion>dd {
	margin-bottom: 10px;
	padding: 10px 20px 20px;
	font-size: 14px;
	line-height: 1.8;
	color: #777;
}


/*
 * Toggle
 */

.toggle>dt {
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.toggle>dt>a {
	display: block;
	position: relative;
	color: #777;
	text-decoration: none;
	padding: 14px 20px;
	border: 1px solid #e5e5e5;

	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.toggle>dt>a:hover {
	text-decoration: none;
	border-color: #ddd;
	background-color: #fcfcfc;
	color: #444;
}

.toggle>dt>a.active {
	color: #000;
	border-color: #ddd;
	background-color: #fcfcfc;
}

.toggle>dt>a:after {
	content: "\e095";
	width: 15px;
	height: 15px;
	margin-top: -8px;
	position: absolute;
	top: 50%;
	right: 10px;
	font-family: 'Simple-Line-Icons';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	font-size: 15px;
	line-height: 15px;
	text-align: center;
	color: #999;
	-webkit-font-smoothing: antialiased;
	-webkit-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-moz-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-o-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	-ms-transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
	transition: all 0.27s cubic-bezier(0.000, 0.000, 0.580, 1.000);
}

.toggle>dt>a.active:after,
.toggle>dt>a.active:hover:after {
	content: "\e082";
	color: #e41919;
}

.toggle>dt>a:hover:after {
	color: #444;
}

.toggle>dd {
	margin-bottom: 10px;
	padding: 10px 20px 20px;
	font-size: 14px;
	line-height: 1.8;
	color: #777;
}


/*
 * Progress bars
 */

.tpl-progress {
	margin-bottom: 50px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 1px;
	overflow: visible;
	height: 3px;
	background: #f0f0f0;

	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

.tpl-progress .progress-bar {
	padding-top: 4px;
	;
	position: relative;
	overflow: visible;
	background-color: #222;
	font-size: 11px;
	color: #000;
	text-align: left;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.tpl-progress .progress-bar>span {
	display: inline-block;
	min-width: 24px;
	height: 24px;
	padding: 0 3px;
	position: absolute;
	top: -10px;
	right: -5px;
	background: #222;
	color: #fff;
	text-align: center;
	line-height: 23px;
	font-family: Raleway, arial, sans-serif;
	letter-spacing: 0;

	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;

}

.progress-color .progress-bar {
	background-color: #e41919;
	color: #e41919;
}

.progress-color .progress-bar>span {
	background-color: #e41919;
	color: #fff;
}

.highlight pre {
	border-color: #eaeaea;
	background: #fcfcfc;
	color: #555;

	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

/*
 * Font icons examples
 */

.fa-examples {
	color: #555;
	margin-left: 1px;
}

.fa-examples>div {
	padding: 0;
	border: 1px solid #e5e5e5;
	margin: -1px 0 0 -1px;
	font-size: 13px;
}

.fa-examples>div:hover {
	background: #f0f0f0;
	color: #000;
}

.fa-examples>div>i {
	display: inline-block;
	margin-right: 5px;
	min-width: 40px;
	min-height: 40px;
	border-right: 1px solid #f1f1f1;
	line-height: 40px;
	text-align: center;
	font-size: 14px;
}

.fa-examples>div>.muted {
	margin-left: 5px;
	color: #999;
	font-size: 12px;
}


.sli-examples {
	color: #555;
	margin-left: 1px;
	vertical-align: middle;
}

.sli-examples .item {
	display: block;
	width: 33%;
	float: left;
	padding: 0;
	border: 1px solid #e5e5e5;
	margin: -1px 0 0 -1px;
	font-size: 13px;
}

@media only screen and (max-width: 1024px) {
	.sli-examples .item {
		width: 50%;
	}
}

@media only screen and (max-width: 480px) {
	.sli-examples .item {
		width: 100%;
	}
}

.sli-examples .item:hover {
	background: #f0f0f0;
	color: #000;
}

.sli-examples .item>span {
	display: inline-block;
	margin-right: 5px;
	min-width: 70px;
	min-height: 70px;
	border-right: 1px solid #f1f1f1;
	line-height: 70px;
	text-align: center;
	font-size: 32px;
}

/*
 *  Intro page
 */

.intro-image {
	width: 100%;
}

.intro-label {
	position: absolute;
	top: 0;
	right: 10%;
	font-size: 17px;
}


/* ============================================================
   ONIXIA CUSTOM STYLES - HEADER PO SCROLLU
   Změna na bílé pozadí a černé písmo
   ============================================================ */

/* 1. Nastavení pozadí headeru na bílou + stín */
#siteHeader.header-solid,
.main-nav.header-solid {
	background-color: #ffffff !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* ============================================================
   ONIXIA - LOGO SWITCHING (HERO vs SCROLL)
   ============================================================ */

/* 1. Výchozí stav (nahoře na stránce) */
/* Zobrazíme bílé SVG */
.logo-hero {
	display: block !important;
	width: auto;
	height: 35px;
	/* Výška loga */
	transition: all 0.3s ease;
}

/* Skryjeme tmavý obrázek */
.logo-scroll {
	display: none !important;
	width: auto;
	height: 35px;
	/* Výška loga */
}

/* 2. Stav po sescrollování (header má třídu .header-solid) */

/* Skryjeme bílé SVG */
#siteHeader.header-solid .logo-hero,
.main-nav.header-solid .logo-hero {
	display: none !important;
}

/* Zobrazíme tmavý obrázek */
#siteHeader.header-solid .logo-scroll,
.main-nav.header-solid .logo-scroll {
	display: block !important;
}

/* 3. Přebarvení TEXTŮ v menu na černo */
#siteHeader.header-solid .inner-nav ul li a,
.main-nav.header-solid .inner-nav ul li a {
	color: #000000 !important;
}

/* 4. Hover efekt a aktivní položka (Tyrkysová) */
/* Aby to ladilo, když na to najedete myší */
#siteHeader.header-solid .inner-nav ul li a:hover,
#siteHeader.header-solid .inner-nav ul li.active a,
.main-nav.header-solid .inner-nav ul li a:hover,
.main-nav.header-solid .inner-nav ul li.active a {
	color: #11b8e0 !important;
}

/* 5. Active item in transparent header (subpages) */
.main-nav .inner-nav ul li.active a,
#siteHeader .inner-nav ul li.active a {
	color: #11b8e0 !important;
}

/* 6. Responsive video container (16:9 aspect ratio) */
.video-container {
	position: relative;
	padding-bottom: 56.25%;
	/* 16:9 */
	height: 0;
	overflow: hidden;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Instagram aspect ratio (9:16 portrait) inside standard-height container */
.video-container.video-container-instagram {
	padding-bottom: 56.25%;
	/* Same height as 16:9 sections */
}

.video-container.video-container-instagram iframe {
	width: 31.6%;
	/* 9:16 ratio within 16:9 height */
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
}

/* 7. Subpage slider arrows - always visible, turquoise */
.page-section .work-full-slider .owl-prev,
.page-section .work-full-slider .owl-next {
	top: calc(50% - 20px);
}

.page-section .work-full-slider .owl-prev,
.page-section .work-full-slider .owl-next {
	opacity: 1 !important;
	color: #11b8e0;
	text-shadow: none;
}

.page-section .work-full-slider .owl-prev {
	left: 15px !important;
}

.page-section .work-full-slider .owl-next {
	right: 15px !important;
}

.page-section .work-full-slider .owl-prev:hover,
.page-section .work-full-slider .owl-next:hover {
	color: #0d9bbf !important;
}

/* 7. Subpage slider pagination dots - turquoise */
.page-section .work-full-slider .owl-pagination {
	position: relative;
	bottom: auto;
	margin-top: 15px;
}

.page-section .work-full-slider .owl-page span {
	background: rgba(17, 184, 224, 0.25);
	box-shadow: none;
}

.page-section .work-full-slider .owl-page:hover span {
	background: rgba(17, 184, 224, 0.5);
}

.page-section .work-full-slider .owl-page.active span {
	background: #11b8e0;
}

/* 8. Gallery popup container */
.gallery-popup-container {
	background: rgba(20, 20, 20, 0.97);
	padding: 40px 50px;
	max-width: 95vw;
	margin: 0 auto;
	border-radius: 4px;
	position: relative;
}

/* Remove focus/active glow from gallery button */
.mfp-inline:focus,
.mfp-inline:active {
	outline: none;
	box-shadow: none;
	background-color: transparent !important;
	color: #11b8e0 !important;
}

.gallery-popup-container h3 {
	color: #ffffff;
	font-size: 22px;
	letter-spacing: 2px;
}

.gallery-popup-thumb {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 3px;
	transition: all 0.3s ease;
	cursor: pointer;
	opacity: 0.85;
}

.gallery-popup-thumb:hover {
	opacity: 1;
	transform: scale(1.03);
	box-shadow: 0 4px 20px rgba(17, 184, 224, 0.3);
}

.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all 0.3s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.92;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all 0.3s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}


/* ==============================
   Bootstrap multicolumn grid
   ============================== */

/* clear the first in row for any block that has the class "multi-columns-row" */
.multi-columns-row .col-xs-6:nth-child(2n + 3) {
	clear: left;
}

.multi-columns-row .col-xs-4:nth-child(3n + 4) {
	clear: left;
}

.multi-columns-row .col-xs-3:nth-child(4n + 5) {
	clear: left;
}

.multi-columns-row .col-xs-2:nth-child(6n + 7) {
	clear: left;
}

.multi-columns-row .col-xs-1:nth-child(12n + 13) {
	clear: left;
}

@media (min-width: 768px) {

	/* reset previous grid */
	.multi-columns-row .col-xs-6:nth-child(2n + 3) {
		clear: none;
	}

	.multi-columns-row .col-xs-4:nth-child(3n + 4) {
		clear: none;
	}

	.multi-columns-row .col-xs-3:nth-child(4n + 5) {
		clear: none;
	}

	.multi-columns-row .col-xs-2:nth-child(6n + 7) {
		clear: none;
	}

	.multi-columns-row .col-xs-1:nth-child(12n + 13) {
		clear: none;
	}

	/* clear first in row for small columns */
	.multi-columns-row .col-sm-6:nth-child(2n + 3) {
		clear: left;
	}

	.multi-columns-row .col-sm-4:nth-child(3n + 4) {
		clear: left;
	}

	.multi-columns-row .col-sm-3:nth-child(4n + 5) {
		clear: left;
	}

	.multi-columns-row .col-sm-2:nth-child(6n + 7) {
		clear: left;
	}

	.multi-columns-row .col-sm-1:nth-child(12n + 13) {
		clear: left;
	}
}

@media (min-width: 992px) {

	/* reset previous grid */
	.multi-columns-row .col-sm-6:nth-child(2n + 3) {
		clear: none;
	}

	.multi-columns-row .col-sm-4:nth-child(3n + 4) {
		clear: none;
	}

	.multi-columns-row .col-sm-3:nth-child(4n + 5) {
		clear: none;
	}

	.multi-columns-row .col-sm-2:nth-child(6n + 7) {
		clear: none;
	}

	.multi-columns-row .col-sm-1:nth-child(12n + 13) {
		clear: none;
	}

	/* clear first in row for medium columns */
	.multi-columns-row .col-md-6:nth-child(2n + 3) {
		clear: left;
	}

	.multi-columns-row .col-md-4:nth-child(3n + 4) {
		clear: left;
	}

	.multi-columns-row .col-md-3:nth-child(4n + 5) {
		clear: left;
	}

	.multi-columns-row .col-md-2:nth-child(6n + 7) {
		clear: left;
	}

	.multi-columns-row .col-md-1:nth-child(12n + 13) {
		clear: left;
	}
}

@media (min-width: 1200px) {

	/* reset previous grid */
	.multi-columns-row .col-md-6:nth-child(2n + 3) {
		clear: none;
	}

	.multi-columns-row .col-md-4:nth-child(3n + 4) {
		clear: none;
	}

	.multi-columns-row .col-md-3:nth-child(4n + 5) {
		clear: none;
	}

	.multi-columns-row .col-md-2:nth-child(6n + 7) {
		clear: none;
	}

	.multi-columns-row .col-md-1:nth-child(12n + 13) {
		clear: none;
	}

	/* clear first in row for large columns */
	.multi-columns-row .col-lg-6:nth-child(2n + 3) {
		clear: left;
	}

	.multi-columns-row .col-lg-4:nth-child(3n + 4) {
		clear: left;
	}

	.multi-columns-row .col-lg-3:nth-child(4n + 5) {
		clear: left;
	}

	.multi-columns-row .col-lg-2:nth-child(6n + 7) {
		clear: left;
	}

	.multi-columns-row .col-lg-1:nth-child(12n + 13) {
		clear: left;
	}
}