/*
Template Name: Uno - OPTIMIZED FOR BLACKBURN
Version: 2.1 (Final Fixes)
*/

/*
================================================================
	Basics
================================================================
*/

    /* Global */
        @font-face {
            font-family: 'effra';
            src: url('../includes/font/effra-regular.eot');
            src: url('../includes/font/effra-regular.eot?#iefix') format('embedded-opentype'),
                 url('../includes/font/effra-regular.woff') format('woff'),
                 url('../includes/font/effra-regular.ttf') format('truetype'),
                 url('../includes/font/effra-regular.svg#effraregular') format('svg');
        }
        @font-face {
            font-family: 'effra_bold';
            src: url('../includes/font/effra-bold.eot');
            src: url('../includes/font/effra-bold.eot?#iefix') format('embedded-opentype'),
                 url('../includes/font/effra-bold.woff') format('woff'),
                 url('../includes/font/effra-bold.ttf') format('truetype'),
                 url('../includes/font/effra-bold.svg#effrabold') format('svg');
        }
        html {
            position: relative;
        }
        body {
            position: relative;
            padding: 0 50px;
            font-size: 14px;
            line-height: 26px;
            letter-spacing: 0px;
            overflow-x: hidden;
            z-index: 0;
            font-family: effra, arial;
        }
        p {
            -webkit-font-smoothing: antialiased;
        }
        ul {
            font-size: 0;
        }
        ul li {
            font-size: 14px;
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: effra_bold, effra;
            margin-bottom: 20px;
            letter-spacing: 4px;
            text-transform: uppercase;
        }
        h1 { font-size: 48px; line-height: 52px; }
        h2 { font-size: 32px; line-height: 42px; }
        h3 { font-size: 20px; line-height: 35px; }
        h4 { font-size: 18px; line-height: 31px; }
        h5 { font-size: 14px; line-height: 25px; }
        h6 { font-size: 13px; line-height: 20px; }

    /* Defaults */
        /* Global */
            body.fullscreen,
            html.fullscreen {
                width: 100%;
                height: 100%;
                overflow: hidden;
            }
            main {
                position: relative;
                z-index: 1;
            }
            body.fullscreen main,
            html.fullscreen main {
                width: 100%;
                height: calc(100vh - 200px);
                overflow: hidden;
                padding: 0;
            }
            body:not(.fullscreen) main {
                padding: 25px;
            }
            body:not(.fullscreen) main.extra-padding {
                padding: 75px 25px;
            }
            body:not(.fullscreen) main .inner-container {
                width: 1100px;
                margin: 0 auto;
            }
            body:not(.fullscreen) main .inner-container::after {
                content: "";
                display: block;
                clear: both;
            }
            main p {
                margin-bottom: 25px;
                letter-spacing: 1px;
            }
            main img {
                max-width: 100%;
                height: auto;
            }
            main dl { margin-bottom: 20px; }
            main dl dd { margin-left: 20px; }
            main em { font-style: italic; }
            main small { font-size: 11px; }
            main sub { vertical-align: sub; }
            main sup, main b { vertical-align: super; }
            p:empty{ display:none }
            .font-bold { font-family: effra_bold, effra; }
            .has-background {
                background-position: center;
                background-size: cover;
            }
        
        /* Preloader */
             .preloader {
                position: fixed;
                height: 100%;
                width: 100%;
                top: 0;
                left: 0;
                z-index: 999;
            }
            body.loaded .preloader { display: none; }

        /* Alignments */
            .alignleft { float: left; margin: 0 20px 20px 0; }
            .alignright { float: right; margin: 0 0 20px 20px; }
            .aligncenter { text-align: center; margin: 20px auto; display: block; }
            .alignwide { margin-left: 0; width: 100%; }
            .alignwide img, .alignfull img { display: block; margin: 0 auto; }
            .alignfull { width: auto; max-width: 100%; }
        
        /* Lists */
            main ul { margin-bottom: 15px; list-style: disc; }
            main ul ul { margin-left: 15px; margin-bottom: 0; }
            main ul li, main ol ul > li { list-style: disc; margin-left: 1px; list-style-position: inside; }
            main ol { margin-bottom: 15px; list-style: decimal; }
            main ol ol { margin-left: 15px; margin-bottom: 0; }
            main ol li, main ul ol > li { list-style: decimal; margin-left: 1px; list-style-position: inside; }

        /* Blockquote */
            main blockquote {
                font-size: 18px;
                line-height: 26px;
                position: relative;
                padding: 31px;
                cursor: default;
                text-align: center;
                margin: 0 0 20px;
            }
            main blockquote p:last-of-type { margin: 0; }
            main blockquote cite {
                margin-top: 16px;
                display: block;
                font-size: 11px;
                text-align: center;
            }

        /* Image & Gallery & Figures */
            img.full { display: block; width: 100%; max-width: 100%; height: auto; }
            img.alignleft, img.alignright { margin-top: 8px; }
            figure { position: relative; }
            figure figcaption {
                position: absolute;
                left: 50%;
                bottom: 10px;
                padding: 10px 15px;
                font-size: 13px;
                opacity: 1;
                cursor: default;
                text-align: center;
                pointer-events: none;
                -webkit-transform: translate(-50%, 0);
                -moz-transform: translate(-50%, 0);
                transform: translate(-50%, 0);
            }
            figure figcaption.adjusted { width: 90%; }

/*
================================================================
	Header
================================================================
*/
        header {
            position: relative;
            height: 100px;
        }

    /* Logo */
        header .logo {
            position: relative;
            float: left;
            height: 100px;
            line-height: 100px;
            display: block;
        }
        header .logo a { display: inline-block; max-height: 100px; }
        header .logo img { max-height: 90px; width: auto; }
        header.showNav .logo { position: absolute; left: 50px; top: 0; }

    /* Navigation - Main Links */
        header > nav { float: right; height: 100px; }
        header > nav > ul { height: 100px; display: table; }
        header > nav > ul > li {
            position: relative;
            display: table-cell;
            max-height: 100px;
            vertical-align: middle;
        }
        header > nav > ul > li > a { padding: 0 22px 42px; }
        header > nav > ul > li:last-child > a { padding-right: 0; }

    /* Navigation - Dropdown Small */
        header > nav > ul > li:not(.mega-menu) ul {
            position: absolute;
            width: 210px;
            padding: 0;
            top: 100px;
            left: 50%;
            display: none;
            opacity: 0;
            z-index: 99;
            box-shadow: 3px 2px 7px 1px rgba(0,0,0,0.35);
            -webkit-transform: translate(-50% , 0);
            -moz-transform: translate(-50% , 0);
            transform: translate(-50% , 0);
        }
        header > nav > ul > li:not(.mega-menu) li { position: relative; display: block; padding: 0 30px 5px; }
        header > nav > ul > li:not(.mega-menu) li:first-child { padding: 20px 30px 5px; }
        header > nav > ul > li:not(.mega-menu) li:last-child { padding: 0 30px 22px; }
        header > nav > ul > li:not(.mega-menu) li a { display: block; }

    /* Navigation - Responsive */
        @-webkit-keyframes fadeNav { 0% {opacity: 0} 100% {opacity: 1} }
        @keyframes fadeNav { 0% {opacity: 0} 100% {opacity: 1} }
        
        header .menu-icon {
            position: relative;
            display: none;
            top: 45px;
            right: 0;
            width: 32px;
            height: 21px;
            cursor: pointer;
            z-index: 100;
            float: right;
        }
        header .menu-icon span {
            position: absolute;
            display: block;
            width: 65%;
            height: 2px;
            top: 9px;
            right: 0;
        }
        header .menu-icon span:nth-child(1){ top: 0; }
        header .menu-icon span:nth-child(2){ top: 7px; }
        header .menu-icon span:nth-child(3){ top: 14px; }
        
        header.showNav {
            position: relative;
            top: 0;
            left: 0;
            width: 100%;
            min-height: 100%;
            padding: 0;
            z-index: 99;
        }
        header.showNav .menu-icon {
            position: absolute;
            width: 32px;
            height: 22px;
            right: 50px;
            top: 16px;
        }
        header.showNav .menu-icon span { width: 55%; top: 10px; }
        header.showNav .menu-icon span:nth-child(1),
        header.showNav .menu-icon span:nth-child(2),
        header.showNav .menu-icon span:nth-child(3) {
            top: 9px;
            transform: rotate(45deg);
        }
        header.showNav .menu-icon span:nth-child(3){ transform: rotate(-45deg); }
        header.showNav nav {
            position: relative;
            z-index: 99;
            opacity: 1;
            display: block;
            overflow: auto;
            overflow-x: hidden;
            animation: fadeNav 0.5s;
        }

    /* Hover Effects */
        @-webkit-keyframes showDropdowns { 0% { opacity: 0; } 100% { opacity: 1; } }
        @keyframes showDropdowns { 0% { opacity: 0; } 100% { opacity: 1; } }
        header:not(.showNav) > nav > ul li:hover > ul {
            opacity: 1;
            display: block;
            animation-duration: 0.5s;
            animation-timing-function: ease;
            animation-name: showDropdowns;
        }

/*
================================================================
	Footer
================================================================
*/
        footer {
            position: relative;
            height: 100px;
        }
        footer .copyrights {
            position: relative;
            float: left;
            height: 100px;
            display: table;
            max-width: 50%;
            overflow: hidden;
        }
        footer .copyrights p {
            display: table-cell;
            vertical-align: middle;
            font-size: 13px;
        }
        footer .social-links {
            position: relative;
            float: right;
            height: 100px;
            max-width: 50%;
            overflow: hidden;
        }
        footer .social-links ul {
            position: relative;
            height: 100px;
            display: table;
        }
        footer .social-links ul li {
            display: table-cell;
            vertical-align: middle;
            padding: 0 10px 0;
        }
        footer .social-links ul li:first-child { padding-left: 0; }
        footer .social-links ul li:last-child { padding-right: 0; }

/*
================================================================
	Elements
================================================================
*/
    /* Columns */
        .row { position: relative; }
        .row::after { content: ""; display: block; clear: both; }
        .row.full { width: 100%; }
        .row.boxed { width: 1100px; margin: 0 auto; }
        .row .column { position: relative; display: block; float: left; }

        .row.space .column { margin: 0 4% 30px 0; }
        .row.space .column.full { width: 100%; margin: 0; }
        .row.space .column.one-half { width: 48%; }
        .row.space .column.one-third { width: 30.666%; }
        .row.space .column.one-fourth { width: 22%; }
        .row.space .column.last { margin: 0 0 30px 0; }

        .row.no-space .column { margin: 0; }
        .row.no-space .column.full { width: 100%; }
        .row.no-space .column.one-half { width: 50%; }

    /* Dividers */
        .divider10, .divider20, .divider30, .divider40, .divider50,
        .divider60, .divider70, .divider80, .divider90, .divider100 {
            display: block;
            clear: both;
        }
        .divider10 { height: 10px; }
        .divider50 { height: 50px; }
        .divider100 { height: 100px; }

    /* Info Label */
        .info-label { margin-bottom: 20px; }
        .info-label .label {
            font-family: effra_bold;
            letter-spacing: 2px;
            margin-bottom: 0px;
            text-transform: uppercase;
        }
        .info-label .text { margin: 0; }

    /* Horizontal Slider */
        .horizontal-slider.centered,
        .horizontal-slider.full {
            position: relative;
            width: 100%;
            height: 100%;
            overflow: hidden;
        }
        .horizontal-slider.centered .swiper-container,
        .horizontal-slider.full .swiper-container {
            width: 100%;
            height: 100%;
        }
        .horizontal-slider.centered .swiper-wrapper,
        .horizontal-slider.full .swiper-wrapper {
            position: relative;
            height: 100%;
            width: 99999px;
            font-size: 0;
        }

    /* Slideshow (Flexslider Base) */
        .flexslider { position: relative; }
        .flexslider ul { position: relative; }
        .flexslider li { position: relative; width: 100%; }

/*
================================================================
	Portfolio
================================================================
*/
    /* Horizontal - Centered */
        .portfolio.horizontal-slider.centered article.swiper-slide-active {
            pointer-events: unset;
        }
        .portfolio.horizontal-slider.centered article.swiper-slide-active::before {
            opacity: 0;
            visibility: hidden;
        }

    /* Horizontal - Global */
        .portfolio.horizontal-slider article {
            display: inline-block;
            position: relative;
            width: auto;
            height: 100%;
            text-align: center;
            transition-property: transform;
        }
        /* Overlays */
        .portfolio.horizontal-slider article::before {
            position: absolute;
            content: "";
            top: 0; left: 0;
            width: 100%; height: 100%;
            opacity: 0.75;
            visibility: visible;
        }
        .portfolio.horizontal-slider article figure,
        .portfolio.horizontal-slider article figure img {
            display: block;
            width: auto;
            height: 100%;
        }
        .portfolio.horizontal-slider article .overlay {
            position: absolute;
            top: 50%; left: 50%;
            padding: 50px 15px;
            width: 50%;
            max-width: 250px;
            -webkit-backface-visibility: hidden;
            transform: translate(-50%, -50%);
        }
        .portfolio.horizontal-slider article .overlay::before {
            position: absolute;
            content: "";
            top: 0; left: 0;
            width: 100%; height: 100%;
            opacity: 0.7;
        }
        .portfolio.horizontal-slider article .overlay .title {
            font-family: 'effra';
            position: relative;
            display: block;
            font-size: 14px;
            margin: 0;
            letter-spacing: 4px;
            text-transform: uppercase;
        }
        .portfolio.horizontal-slider article .overlay .categories {
            position: relative;
            display: block;
            font-size: 12px;
        }
        
    /* Grid & Masonry */
        .portfolio.grid::after { content: ""; display: block; clear: both; }
        .portfolio.grid .filters {
            padding: 25px 25px 50px;
            text-align: center;
            font-size: 0;
        }
        .portfolio.grid .filters p {
            font-size: 16px;
            letter-spacing: 2px;
            margin-bottom: 15px;
            font-family: effra_bold;
            text-transform: uppercase;
            cursor: default;
        }
        .portfolio.grid .filters span {
            font-size: 13px;
            margin: 0 15px;
            cursor: pointer;
            text-transform: uppercase;
        }
        .portfolio.grid .articles-wrapper { position: relative; font-size: 0; }
        .portfolio.grid article {
            position: relative;
            display: block;
            float: left;
            text-align: center;
            padding: 25px;
        }
        .portfolio.grid.two-columns article { width: 50%; }
        .portfolio.grid.three-columns article { width: 33.333%; }
        .portfolio.grid.four-columns article { width: 25%; }
        
        .portfolio.grid article .article-wrapper { position: relative; }
        .portfolio.grid article figure { display: block; }
        .portfolio.grid article figure img {
            display: block;
            width: 100%;
            height: auto;
        }
        .portfolio.grid article .overlay {
            position: absolute;
            top: 50%; left: 50%;
            padding: 5% 15px;
            width: 55%;
            max-width: 250px;
            z-index: 2;
            opacity: 0;
            visibility: hidden;
            transform: translate(-50%, -50%);
        }
        .portfolio.grid article .overlay::before {
            position: absolute;
            content: "";
            top: 0; left: 0;
            width: 100%; height: 100%;
            opacity: 0.7;
        }
        .portfolio.grid article .overlay .title {
            font-family: 'effra';
            position: relative;
            display: block;
            font-size: 14px;
            line-height: 24px;
            margin: 0;
            letter-spacing: 4px;
            text-transform: uppercase;
            z-index: 2;
        }
        .portfolio.grid article:not(.active) .article-wrapper:hover .overlay {
            opacity: 1;
            visibility: visible;
        }

/*
================================================================
	Transitions
================================================================
*/
    header a,
    footer a,
    .grid .filters span,
    .portfolio article::before,
    .portfolio article .overlay,
    .contact-form input,
    .contact-form textarea {
        -webkit-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

/*
================================================================
	Media Queries
================================================================
*/

    /* Medium Screens (Tablet) */
    @media only screen and (max-width : 1440px) {
        .portfolio.grid.three-columns article,
        .portfolio.grid.four-columns article,
        .gallery.grid.three-columns figure { width: 33.333%; }
    }

    @media only screen and (max-width : 1280px) {
        /* Basics */
        body.showNav, html.showNav { width: 100%; height: 100%!important; overflow: hidden; padding: 0; }
        body:not(.fullscreen) main { padding: 15px; }

        /* Header */

        header > nav {
            position: absolute;
            display: none;
            opacity: 0;
            top: 0; left: 0;
            width: 100%; height: 100%;
            text-align: center;
        }
        header > nav > ul { display: block; padding: 170px 0; height: auto; }
        header > nav > ul > li { display: block; padding: 5px 0; margin-top: 20px; }
        header > nav > ul > li > a { font-size: 28px; padding: 0; }

        /* Elements */
        .row.boxed { width: 100%; margin: 0; }
        .row.space .column.one-half,
        .row.space .column.one-third,
        .row.space .column.one-fourth { width: 48.1%; margin: 0 20px 20px 0; }

        /* Portfolio */
        .portfolio.grid article, .gallery.grid figure { padding: 10px; }
        .portfolio.grid.three-columns article,
        .portfolio.grid.four-columns article,
        .gallery.grid.three-columns figure { width: 50%; }
    }

    /* Small Screens (Mobile) */
    @media only screen and (max-width : 768px) {
        body { padding: 0; }
        body.fullscreen main, html.fullscreen main { height: calc(100vh - 100px); }
        .hide-on-mobile { display: none!important; }

        header { height: 50px; padding: 0 50px; }
        header .logo { height: 50px; line-height: 50px; }
        header .logo a { max-height: 50px; }
        header .menu-icon { top: 18px; }

        footer { height: 50px; line-height: 50px; padding: 0 50px; }
        footer .copyrights { display: none; }
        footer .social-links { float: none; height: 50px; max-width: 100%; text-align: center; }

        .row.space .column.one-half,
        .row.space .column.one-third,
        .row.space .column.one-fourth { width: 100%; margin: 0 0 30px 0; }

        .portfolio.grid.two-columns article,
        .portfolio.grid.three-columns article,
        .portfolio.grid.four-columns article,
        .gallery.grid.two-columns figure { width: 100%; }
    }

/* ================================================================
   FINAL FIXES (ADDED DEC 2025)
================================================================ */

    /* --- 1. HERO SLIDER LAYOUT & CLICK FIXES --- */
    
    /* Center Images Vertically */
    .swiper-container, .swiper-wrapper {
        height: 100vh !important;
        display: flex !important;
        align-items: center !important;
    }
    .swiper-slide {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        height: 100vh !important;
        width: auto !important;
        text-align: center !important;
    }
    .swiper-slide figure {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
    }
    .swiper-slide img {
        max-height: 85vh;
        width: auto !important;
        max-width: 95vw;
        display: block !important;
        margin: 0 auto !important;
        object-fit: contain;
    }

    /* --- CRITICAL LINK CLICK FIX --- */
    /* Allows clicking on the slide */
    .portfolio.horizontal-slider article {
        pointer-events: auto !important;
    }
    /* Prevents the dark overlay from eating the click */
    .portfolio.horizontal-slider article::before {
        pointer-events: none !important;
        z-index: 1; 
    }
    /* Ensures the Link is on top */
    .portfolio.horizontal-slider article a {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        z-index: 20; 
    }
    /* Text Overlay visual only */
    .portfolio.horizontal-slider article .overlay {
        pointer-events: none !important;
        z-index: 25; 
    }

    /* --- 2. VIDEO PAGE FIXES --- */
    /* Forces the 16:9 Aspect Ratio on Video Page */
    .video-wrapper {
        position: relative !important;
        padding-bottom: 56.25% !important; /* 16:9 Ratio */
        padding-top: 25px !important;
        height: 0 !important;
        width: 100% !important;
        margin-bottom: 30px !important;
        background-color: #000 !important;
        overflow: hidden !important;
        display: block !important;
    }
    /* Forces iframe to fill that box */
    .video-wrapper iframe {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        border: 0 !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    /* Styling for the text info next to videos */
    .info-block {
        margin-bottom: 40px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        padding-bottom: 40px;
    }