/**
 * @package    Visario Joomla! 3.0 Template
 * @version    1.0
 * @author     7Studio Tomasz Herudzinski http://www.7studio.eu
 * @copyright  Copyright (C) 2009 - 2012 7Studio Tomasz Herudzinski
 * @license    Commercial - ThemeForest Regular License - http://themeforest.net/licenses/regular_extended
 **/

/* Core Body & Typography Structure 
-----------------------------------------------------------------------------------*/
body {
    font-weight: 200;
    line-height: 26px;
}

h1, h2, h3, h4 {
    line-height: 100%;
    margin-bottom: 30px;
}

.item-page h3,
.item-page h4,
.item-page h5 {
    font-weight: 400;
    margin: 20px 0;
}

header {
    display: none;
}

/* Header & Navigation
-----------------------------------------------------------------------------------*/
.logo {
    margin-left: 15px;
}

#menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
    background: rgba(0,0,0,0.85);
    font-weight: 400;
}

#menu .container-fluid {
    border-top: 0;
}

#menu .nav-collapse {
    float: right;
}

.svn-menu > li {
    font-weight: 400;
}

.svn-menu > li > a, 
.svn-menu > li span.separator {
    color: #999999;
    line-height: 70px;
    height: 70px;
}

button.btn-navbar {
    background: transparent;
    border: none;
    display: none;
    margin-top: 20px;
}

button.btn-navbar .icon-bar {
    background: #fff;
    width: 40px;
    height: 4px;
    border-radius: 3px;
    display: block;
}

/* Layout Blocks & Modules
-----------------------------------------------------------------------------------*/
#slider {
    overflow: hidden;
}

#bottom-b {
    padding-top: 0;
}

#bottom-b .row-fluid [class*="span"]:last-child {
    border: none;
}

.module .module-content ul {
    list-style-type: disc;
    margin-left: 25px;
}

.module .module-content ul li {
    margin: 0 0 5px 0;
    padding: 0;
}

#top-a .module-content, #top-b .module-content, #top-c .module-content,
#top-d .module-content, #top-e .module-content, #top-f .module-content,
#top-g .module-content, #top-h .module-content, #top-i .module-content,
#top-j .module-content, #bottom-b .module-content {
    padding: 0;
}

#top-a h2, #top-c h2, #top-e h2 {
    margin: 0 0 30px;
    font-size: 40px;
}

#top-a .container-fluid, #top-c .container-fluid, #top-e .container-fluid {
    max-width: 730px;
    text-align: justify;
    font-size: 20px;
    line-height: 26px;
    padding-left: 40px;
    box-sizing: border-box;
    border-left: 8px solid #1d2088;
}

#top-a .custom, #top-b .custom, #top-c .custom, #top-d .custom, 
#top-e .custom, #top-f .custom, #top-g .custom, #top-h .custom, 
#top-i .custom, #top-j .custom {
    padding: 200px 0;
}

/* Parallax Sections & Overlays
-----------------------------------------------------------------------------------*/
#commercial .custom, 
#academic .custom, 
#team .custom {
    background-size: cover;
    background-repeat: no-repeat;
}

#top-b .custom, #top-d .custom, #top-f .custom {
    padding: 200px 0;
    color: #fff;
    text-shadow: 1px 2px 1px rgba(0,0,0,0.6);
    background-attachment: fixed;
}

#top-b h1, #top-b h2, #top-d h1, #top-d h2, 
#top-f h1, #top-f h2, .contactform h1, .contactform h2 {
    color: #fff;
    font-size: 55px;
}

div .t2m_layers_content h1 {
    font-size: 60px !important;
    color: #ffffff !important;
}

.t2m_layers_content,
.t2m_layersbottom_content {
    position: relative !important;
    z-index: 10 !important;
}

.tellmemore h1, .tellmemore h2 {
    color: #333;
    font-size: 70px;
    text-align: right;
    margin: 25px 0;
}

.tellmemore .btn {
    width: 200px;
    font-size: 16px;
    font-weight: 400;
}

#top-b h3, #top-d h3, #top-f h3 {
    color: #fff;
    font-size: 30px;
}

#top-e {
    position: relative;
}

#top-f, #top-f .custom {
    background-color: #333;
}

#top-f p {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.profiles img {
    border-radius: 400px;
    margin: 0 auto;
    display: block;
}

/* Contact Forms & Inputs
-----------------------------------------------------------------------------------*/
.contactform {
    font-size: 18px;
    color: #aaa;
}

.contactform .container-fluid {
    max-width: 800px;
}

.contactform h3, .contactform h4 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 10px;
}

.contactform p {
    margin-bottom: 20px;
}

.bfClearfix {
    position: relative;
    z-index: 1;
}

.form-actions {
    padding: 0;
    border: none;
    background: transparent;
}

.bfQuickMode .controls .control-label {
    position: relative;
    text-align: left;
    width: auto !important;
    font-size: 15px;
    top: 2px;
}

.control-group {
    text-align: left;
}

.form-search .radio input[type="radio"], 
.form-search .checkbox input[type="checkbox"], 
.form-inline .radio input[type="radio"], 
.form-inline .checkbox input[type="checkbox"] {
    margin-left: 5px;
}

.bfSectionDescription {
    text-align: left;
}

.icon-asterisk {
    position: absolute;
    left: -12px;
    opacity: 0.8;
    top: 3px;
}

#ff_form1 input[type=text], #ff_form1 textarea, #ff_form1 select, #ff_form1 .uneditable-input,
#ff_form2 input[type=text], #ff_form2 textarea, #ff_form2 select, #ff_form2 .uneditable-input {
    max-width: 100%;
    box-sizing: border-box;
    height: 40px;
    font-size: 18px;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 4px;
    box-shadow: 0px 5px 21px rgba(0,0,0,0.32) inset;
    border: none;
}

.btn {
    border-radius: 4px;
    border: none;
}

#ff_form1 textarea, #ff_form2 textarea {
    height: 283px;
}

#ff_form1 .btn-primary:hover, #ff_form1 .btn-primary:focus, #ff_form1 .btn-primary:active, #ff_form1 .btn-primary.active, #ff_form1 .btn-primary.disabled, #ff_form1 .btn-primary[disabled],
#ff_form2 .btn-primary:hover, #ff_form2 .btn-primary:focus, #ff_form2 .btn-primary:active, #ff_form2 .btn-primary.active, #ff_form2 .btn-primary.disabled, #ff_form2 .btn-primary[disabled] {
    background: #1d2088;
}

/* Footer & Miscellaneous Elements
-----------------------------------------------------------------------------------*/
.body-wrapper {
    position: relative;
}

#footer, #footer .container-fluid {
    padding-bottom: 10px;
    background: transparent;
}

#footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
}

#footer, #footer .container-fluid, #footer .copyrights, #footer ul.nav li a {
    color: #fff;
    font-size: 14px;
}

#footer ul.nav li {
    border: none;
}

.safari #t2m_layersbottom {
    margin-bottom: 60px;
}

a#totop {
    background-color: rgba(255, 255, 255, 0.21);
}

.sm_logo img {
    max-width: 120px;
}

.sm_logo {
    margin-top: 30px;
}

#content-area {
    font-size: 16px;
    line-height: 20px;
}

#banner {
    background-repeat: repeat;
    background-position: 0 0;
}

#banner-bg {
    padding: 115px 0 35px;
    float: none;
}

#banner .container-fluid {
    padding: 15px 20px;
}

#banner-bg .container-fluid {
    padding: 0;
}

#banner-bg .custom {
    background: none !important;
}

categorylist_header_author, .list-author {
    width: 20%;
}

#categorylist_header_hits, .list-hits {
    width: 10%;
}

.highlight {
    background: #ff0;
}

#ajaxResults {
    height: 0;
    padding-left: 2px;
    overflow: hidden;
    transition: all ease .3s;
}

#ajaxResults p {
    margin-top: 0;
}

#mod-ajaxsearch-searchword {
    background: url(../../../media/system/images/modal/spinner.gif) 200% 50% no-repeat;
}

input.search-query {
    border-radius: 0;
    font-size: 18px;
    width: 88%;
    box-shadow: 0 0 30px rgba(16,30,120,0.07) inset;
}

.knowledge-base, .ajaxsearch, .ajaxsearch dt, .ajaxsearch dd {
     line-height: 19px;
     font-size: 16px;
}

.ajaxsearch dl, .ajaxsearch dd {
    margin: 0 0 10px;
}

.ajaxsearch dd.result-category {
    margin-bottom: 0;
    color: #bbb;
    line-height: 14px;
    font-size: 14px;
}

.search-results .result-title {
    margin-top: 0;
    font-size: 16px;
    font-weight: 400;
}

.ajaxsearch form {
    margin: 0 0 10px;
}

.ajaxsearch form label {
    display: none;
}

.knowledge-base .table th, .knowledge-base .table td {
    padding: 4px 8px;
    line-height: 20px;
}

.sidebar-left {
    border-right: 0;
    padding-right: 0;
}

.ajaxsearch .module-title h3 {
    font-size: 22px;
    margin: 33px 0 25px;
}

.page-header {
    padding-bottom: 0;
}

.singlecol #mainbody > .container-fluid {
    max-width: 800px;
}

#t2m_layersbottom_container {
    min-height: 600px !important;
}

.t2m_layersbottom_content form p {
    font-size: 18px;
}

.breadcrumb > li > span.divider img {
    position: relative;
    top: -1px;
    width: 0;
    height: 0;
    border: 2px solid transparent;
    border-left-color: #aaa;
    border-left-width: 4px;
}

/* Hexagon Animation Blocks
-----------------------------------------------------------------------------------*/
.hex {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}

.hex .bubble {
    background: url(../images/hex.png) 50% -50px fixed transparent;
    border-radius: 600px;
    position: absolute;
    width: 0;
    height: 0;
    margin-top: 0;
    margin-left: 0;
    left: 0;
    top: 0;
}

.hex.in .bubble {
    width: 520px;
    height: 520px;
    margin-top: -260px;
    margin-left: -260px;
}

.hex .bubble1  { left: 10%; top: 20%; transition: all ease 18s; }
.hex .bubble2  { left: 13%; top: 75%; transition: all ease 18s; }
.hex .bubble3  { left: 26%; top: 45%; transition: all ease 9s; }
.hex .bubble4  { left: 37%; top: 80%; transition: all ease 9s; }
.hex .bubble5  { left: 40%; top: 5%;  transition: all ease 9s; }
.hex .bubble6  { left: 53%; top: 51%; transition: all ease 9s; }
.hex .bubble7  { left: 65%; top: 25%; transition: all ease 14s; }
.hex .bubble8  { left: 69%; top: 90%; transition: all ease 14s; }
.hex .bubble9  { left: 90%; top: 60%; transition: all ease 14s; }
.hex .bubble10 { left: 86%; top: 20%; transition: all ease 14s; }

/* Legacy Target Visibility Hides
-----------------------------------------------------------------------------------*/
.ie #t2m_layers, .ie #t2m_layersbottom, .android #t2m_layers, .android #t2m_layersbottom,
.androidtablet #t2m_layers, .androidtablet #t2m_layersbottom, .ipad #t2m_layers, .ipad #t2m_layersbottom,
.iphone #t2m_layers, .iphone #t2m_layersbottom, .mobile #t2m_layers, .mobile #t2m_layersbottom {
    display: none;
}

.ie .t2m_layers_content .innerpad, .android .t2m_layers_content .innerpad,
.androidtablet .t2m_layers_content .innerpad, .ipad .t2m_layers_content .innerpad,
.iphone .t2m_layers_content .innerpad, .mobile .t2m_layers_content .innerpad {
    top: 0px !important;
}

.ie .t2m_layersbottom_content .innerpad, .android .t2m_layersbottom_content .innerpad,
.androidtablet .t2m_layersbottom_content .innerpad, .ipad .t2m_layersbottom_content .innerpad,
.iphone .t2m_layersbottom_content .innerpad, .mobile .t2m_layersbottom_content .innerpad {
    padding: 100px 0;
}

.ie #t2m_layers_container,
.ie #t2m_layersbottom_container,
.android #t2m_layers_container,
.android #t2m_layersbottom_container,
.androidtablet #t2m_layers_container,
.androidtablet #t2m_layersbottom_container,
.ipad #t2m_layers_container,
.ipad #t2m_layersbottom_container,
.iphone #t2m_layers_container,
.iphone #t2m_layersbottom_container,
.mobile #t2m_layers_container,
.mobile #t2m_layersbottom_container {
    background: url(../images/bg-noamin.jpg) 50% 100% repeat-x #000002;
}

/* RESPONSIVE MEDIA QUERIES
-----------------------------------------------------------------------------------*/

/* Tablets & Medium Screens (Max 979px) */
/* =================================================================================
   Tablets & Medium Screens (Max 979px) - UNIFIED
==================================================================================== */
@media (max-width: 979px) {
    /* Modern Minimalist Mobile Menu Button */
    button.btn-navbar {
        display: block;
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 10px;
        margin-top: 15px;
        cursor: pointer;
    }

    /* Thinner, elegant menu lines */
    button.btn-navbar .icon-bar {
        background: #ffffff;
        width: 28px;
        height: 2px;
        margin-bottom: 5px;
        border-radius: 0;
        transition: all 0.3s ease;
    }
    
    button.btn-navbar .icon-bar:last-child {
        margin-bottom: 0;
    }

    /* Glassmorphic Dropdown Drawer */
    .nav-collapse, 
    .nav-collapse.collapse {
        background: rgba(0, 0, 0, 0.95);
        backdrop-filter: blur(10px);
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        width: 100%;
        position: absolute;
        top: 70px;
        left: 0;
        padding: 0 2rem; /* FIXED: Changed vertical padding to 0 to stop the black bar leakage */
        box-sizing: border-box;
        z-index: 999;
    }

    /* NEW: Spacing is applied here instead so it disappears cleanly when collapsed */
    .nav-collapse .svn-menu {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin: 0;
    }

    /* Clean, Lightweight Typography Match */
    div .svn-menu > li > a, 
    div .svn-menu > li span.separator {
        font-weight: 200 !important; /* Matches elegant desktop font weight */
        font-size: 16px;
        letter-spacing: 1px;
        text-transform: uppercase;
        color: #ffffff !important;
        background: transparent !important; /* Removes clunky background color blocks */
        line-height: 45px;
        height: 45px;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        transition: color 0.2s ease, padding-left 0.2s ease;
    }

    /* Interactive hover transition */
    div .svn-menu > li > a:hover,
    div .svn-menu > li > a:focus {
        color: #007dca !important;
        padding-left: 8px;
        background: transparent !important;
    }

    .svn-menu > li:last-child > a {
        border-bottom: none;
    }

    /* Legacy Framework Content Adjustments (Preserved) */
    .nav-collapse .nav > li > a, 
    .nav-collapse .dropdown-menu a {
        border-radius: 0;
    }

    .svn-menu > li {
        border: none;
    }

    div .tellmemore h1, .tellmemore h2 {
        font-size: 50px;
        margin: 37px 0;
    }
}

/* Small Tablets (Max 768px) */
@media (max-width: 768px) {
    div .t2m_layersbottom_content .innerpad {
        padding: 100px 0;
    }
}

/* Smartphones & Mobile Devices (Max 767px) - CONSOLIDATED SECTION */
@media (max-width: 767px) {
    #ff_form1 input[type=text], #ff_form1 textarea, #ff_form1 select, #ff_form1 .uneditable-input {
        max-width: 100%;
        min-width: 100%;
    }

    #top-b h1, #top-b h2, #top-d h1, #top-d h2, #top-f h1, #top-f h2, .contactform h1, .contactform h2 {
        font-size: 50px;
    }

    h1, h2, h3, h4 {
        margin-bottom: 22px;
    }

    #top-b h3, #top-d h3, #top-f h3 {
        font-size: 28px;
    }

    .sidebar-left .module.ajaxsearch {
        margin-bottom: 0;
    }

    #mainbody .container-fluid,
    #breadcrumbs .container-fluid {
        padding-top: 0;
        padding-bottom: 0;
    }

    div .tellmemore h1, .tellmemore h2 {
        font-size: 50px;
        margin: 0 0 37px 0;
        text-align: center;
    }

    .t2m_layers_content {
        padding-left: 20px;
        padding-right: 20px;
    }

    .tellmemore p,
    .footer-menu .nav {
        text-align: center;
    }

    .footer-menu.pull-left {
        float: none;
    }

    .footer-menu .nav {
        margin: 0 auto;
        display: table;
    }

    #footer ul.nav li {
        display: inline-block;
        float: none;
        margin: 0;
    }

    #footer, #footer .container-fluid {
        line-height: 26px;
    }

    #top-a .custom, #top-b .custom, #top-c .custom, #top-d .custom, 
    #top-e .custom, #top-f .custom, #top-g .custom, #top-h .custom, 
    #top-i .custom, #top-j .custom {
        padding: 100px 0;
    }

    /* Modern Background & Profile Tweaks */
    #commercial .custom, #academic .custom, #team .custom {
        background-position: center center !important;
        background-attachment: scroll;
    }

    .android #top-b .custom, .android #top-d .custom, .android #top-f .custom,
    .ipad #top-b .custom, .ipad #top-d .custom, .ipad #top-f .custom,
    .iphone #top-b .custom, .iphone #top-d .custom, .iphone #top-f .custom,
    .mobile #top-b .custom, .mobile #top-d .custom, .mobile #top-f .custom {
        background-position: 60% 0%;
    }

    .android #top-f .custom, .ipad #top-f .custom, .iphone #top-f .custom, .mobile #top-f .custom {
        background-position: 50% 0%;
    }

    #team .profiles img {
        width: 60% !important;
        margin: 0 auto !important;
        display: block !important;
    }

    .brand-break {
        display: block;
        margin-top: 5px;
    }
}

/* Extra Small Screens & Tiny Phones (Max 480px) */
@media (max-width: 480px) {
    body {
        font-weight: 400;
    }

    #top-a .container-fluid, #top-c .container-fluid, #top-e .container-fluid {
        text-align: center;
        padding-right: 48px;
    }

    div .t2m_layers_content h1 {
        font-size: 45px !important;
    }

    div .t2m_layersbottom_content h2 {
        font-size: 38px;
    }

    #top-b h1, #top-b h2, #top-d h1, #top-d h2, #top-f h1, #top-f h2, .contactform h1, .contactform h2 {
        font-size: 38px;
    }

    #top-b h3, #top-d h3, #top-f h3 {
        font-size: 25px;
    }

    .logo {
        margin-left: 0;
    }

    .logo img {
        max-width: 190px;
        margin: 6px 0;
    }

    .footer-menu .nav {
        margin-bottom: 10px;
    }
}

/* =================================================================================
   THE NUCLEAR iOS FIX: Touch-Device Parallax & Graphene Structure
==================================================================================== */

/* 1. THE ULTIMATE IPAD LANDSCAPE FIX 
   Targets ANY device using a touch screen (pointer: coarse), bypassing the iPad's desktop disguise */
@media (pointer: coarse) {
    body .custom,
    body #top-b .custom, 
    body #top-d .custom,
    body #team .custom,
    body [style*="background-image"] {
        background-attachment: scroll !important;
        background-size: cover !important;
        background-position: center !important;
    }
}

/* 2. THE BULLETPROOF IPHONE GRAPHENE FIX
   Forces all structural layout wrapper divs to drop their hidden background colors */
@media (max-width: 767px) {
    /* Clear backgrounds on absolutely every structural wrapper layer inside this section */
    #top-e, 
    #top-e div,
    #top-e .row-fluid, 
    #top-e .span12, 
    #top-e .module, 
    #top-e .module-content, 
    #top-e .custom {
        background-color: transparent !important;
        background-image: none !important;
    }

    /* Keep the main section container relative and establish its stacking order */
    #top-e {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Force the graphene layer to exist, span the container, and stay visible */
    #top-e .hex {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: -1 !important;
    }

    /* Force the individual graphene elements to override any JS-inflicted opacity: 0 */
    #top-e .hex .bubble {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important; /* Forces them to show up even if a mobile script paused the fade-in */
    }
}