
/*--------------------------------------------------------------
Header
--------------------------------------------------------------*/

.mobile-menu-holder
{
    background: #fff;
}

.mobile-menu-icon-container
{
    width: 100px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.mobile-menu-icon-container > .space
{
    flex-grow: unset;
    flex-shrink: 1;
    height: 14px;
}

.mobile-menu-icon
{
    flex: 1;
    height: 100%;
    background-image: url( '../images/menu-icon.png' );
    background-size: contain;
    background-repeat: no-repeat;
    background-position-x: right;
    margin-right: 2em;
}

/*--------------------------------------------------------------
NO-GRID
--------------------------------------------------------------*/

header
{
    display: block;
    transition: 0.3s;
}

header.dummy
{
    height: 80px;
}

header.fixed
{
    background: #ffdcdc;
    height: 80px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

header.fixed.collapsed
{
    height: 60px;
    border-bottom: 2px solid #3077aa;
}

header.fixed .logo-mark
{
    display: block;
    width: 20%;
    float: left;
    margin-left: 10px;
    margin-top: 10px;
}

header.fixed .logo-text
{
    width: 70%;
    margin-top: 6px;
    float: left;
}

header .bg
{
    position: absolute;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: -100;
}

header > .main-menu-holder > .menu
{
    position: absolute;
	width: 100%;
	display: block;
	z-index: -200;
	background: linear-gradient(to bottom, #286c9e 0%, #2c72a6 8%, #2c72a6 40%, #3883b5 100%);
	border-bottom: 3px solid #0b3c5a;
	transition: 0.2s;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

header > .main-menu-holder > .menu ul
{
    list-style: none;
    padding: 0;
    margin: 0;
}

header > .main-menu-holder > .menu ul > li > ul
{
    display: none;
}

header > .main-menu-holder > .menu ul > li > ul > li .menu-item-inner
{
    padding: 0.75em;
}

header > .main-menu-holder > .menu ul > li > ul > li .menu-item-inner-content
{
    margin-left: 2em;
    font-size: 0.9em;
    text-transform: none;
    color: #bde6ff;
}

header > .main-menu-holder > .menu.opened.shifted
{
    top: 60px !important;
}

header > .main-menu-holder > .menu.opened
{
    position: absolute;
    top: 80px;
}

.main-menu-holder
{
    height: auto;
    width: 70%;
}

.mobile-menu-holder
{
    float: right;
    width: 30%;
    height: 100%;
}

.mobile-menu-hidden
{
    left: 102%;
}

header.fixed .mobile-menu-hidden
{
    top: 80px;
    overflow: auto;
    /*height: 75vh;*/
}

header.fixed .mobile-menu-hidden.shifted
{
    top: 60px !important;
}

header.fixed .mobile-menu-hidden.opened
{
    left: 68px;
}

header > .main-menu-holder ul.menu > li
{
    border-bottom: 1px solid #80b7bf36;
}

header > .main-menu-holder ul.menu > li > ul > li
{
    /*border-bottom: 1px solid #ff00ff;*/
}

header > .main-menu-holder > .menu ul > li:last-of-type
{
    border-bottom: unset;
}

header > .main-menu-holder > .menu ul > li > a
{
    color: #ffffff;
    text-decoration: none;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-size: 0.8em;
    font-family: 'Montserrat', Arial, Helvetica, sans-serif;
    font-weight: 400;
}

header > .main-menu-holder > .menu ul > li > ul > li > a
{
    font-family: unset;
}

header > .main-menu-holder > .menu ul > li > a:hover,
header > .main-menu-holder > .menu ul > li > a:active
{
    color: #ffffff;
    text-decoration: none;
}

header > .main-menu-holder > .menu ul > li > a:hover > .menu-item-inner,
header > .main-menu-holder > .menu ul > li > a:active > .menu-item-inner
{
    background: #0ea0b5;
}

.menu-item-inner
{
    padding: 1.5em;
}

header.fixed .logo-mark
{
    float: left;
    display: table;
    position: absolute;
    top: 0;
    left: 12px;
    height: 100%;
    width: 56px;
    margin: 0;
}

header.fixed .logo-mark > a
{
    display: table-cell;
    vertical-align: middle;
}

header.fixed .logo-mark > a > img
{
    margin-left: auto;
    margin-right: 0;
    width: 56px;
}

header.fixed .logo-text
{
    float: left;
    display: table;
    position: absolute;
    top: 0;
    left: 68px;
    height: 100%;
    width: auto;
    margin: 0;
}

header.fixed .logo-text > a
{
    display: table-cell;
    vertical-align: middle;
}

header.fixed .logo-text > a > img
{
    margin-left: 0;
    margin-right: auto;
    width: 200px;
}

header.fixed .mobile-menu-button-holder
{
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 80px;
    margin: 0;
}

header.fixed .mobile-menu-button-outer
{
    display: table;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    background: #ffffff;
}

header.fixed .mobile-menu-button-outer > div
{
    display: table-cell;
    vertical-align: middle;
    cursor: pointer;
}

header.fixed .mobile-menu-button-outer > div > img
{
    margin-left: auto;
    margin-right: 24px;
    width: 32px;
}

header.fixed .mobile-menu-button-outer.opened
{
    background: #286c9e;
}

header.fixed .mobile-menu-button-outer.opened > .menu-button-open
{
    display: none;
}

header.fixed .mobile-menu-button-outer > .menu-button-open
{
    display: table-cell;
}

header.fixed .mobile-menu-button-outer.opened > .menu-button-close
{
    display: table-cell;
}

header.fixed .mobile-menu-button-outer > .menu-button-close
{
    display: none;
}

.mobile-menu-obscura
{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: none;
    z-index: -50;
	transition: background 0.25s;
}

.mobile-menu-obscura.opened
{
    background-color: #042135cf;
    z-index: 50;
}

#main-menu > li > ul > li.active
{
    background: #218ba2;
}

#main-menu > li.active > a > .menu-item-inner
{
    background: #2495af;
}

/*--------------------------------------------------------------
MOBILE SIZE
--------------------------------------------------------------*/

@media screen and ( max-width: 365px )
{
    header.fixed .logo-text > a > img
    {
        width: 170px;
    }

    header.fixed .logo-mark > a > img
    {
        width: 50px;
    }
}

@media screen and ( max-width: 1023px )
{
    @supports ( display: grid )
    {

    }
}

/*--------------------------------------------------------------
MAIN SIZE
--------------------------------------------------------------*/

@media screen and ( min-width: 1024px )
{
    @supports (display: grid)
    {
        /*UNSETTERS*/

        header .bg
        {
            position: unset;
            width: unset;
            height: unset;
            background: unset;
            z-index: unset;
        }

        header.fixed .logo-mark
        {
            float: unset;
            display: unset;
            position: unset;
            top: unset;
            left: unset;
            height: unset;
            width: unset;
            margin: unset;
        }

        header.fixed .logo-mark > a
        {
            display: unset;
            vertical-align: unset;
        }

        header.fixed .logo-mark > a > img
        {
            margin-left: unset;
            margin-right: unset;
            width: unset;
        }

        header.fixed .logo-text
        {
            float: unset;
            display: unset;
            position: unset;
            top: unset;
            left: unset;
            height: unset;
            width: unset;
            margin: unset;
        }

        header.fixed .logo-text > a
        {
            display: unset;
            vertical-align: unset;
        }

        header.fixed .logo-text > a > img
        {
            margin-left: unset;
            margin-right: unset;
            width: unset;
        }

        header > .main-menu-holder > .menu
        {
            position: unset;
            width: unset;
            display: unset;
            transition: unset;
            z-index: unset;
            background: unset;
            border-bottom: unset;
        }

        header.fixed .mobile-menu-hidden
        {
             top: unset;
             overflow: unset;
             height: unset;
        }

        header > .main-menu-holder > .menu ul > li > ul > li .menu-item-inner-content
        {
            margin-left: unset;
            font-size: unset;
            text-transform: unset;
            color: unset;
        }

        header > .main-menu-holder > .menu.opened.shifted
        {
            top: unset;
        }

        header > .main-menu-holder > .menu.opened
        {
            background: unset;
            position: unset;
            top: unset;
        }

        .mobile-menu-hidden
        {
            top: unset;
        }

        header > .main-menu-holder > .menu ul > li
        {
            border-bottom: unset;
        }

        header > .main-menu-holder > .menu ul > li:last-of-type
        {
            border-bottom: unset;
        }

        header > .main-menu-holder > .menu ul > li > a
        {
            color: unset;
            text-decoration: unset;
            letter-spacing: unset;
            text-transform: unset;
            font-size: unset;
        }

        header > .main-menu-holder > .menu ul > li > a:hover,
        header > .main-menu-holder > .menu ul > li > a:active
        {
            color: unset;
            text-decoration: unset;
        }

        header > .main-menu-holder > .menu ul > li > a:hover > .menu-item-inner,
        header > .main-menu-holder > .menu ul > li > a:active > .menu-item-inner
        {
            background: unset;
        }

        .menu-item-inner
        {
            padding: unset;
        }

        header > .main-menu-holder > .menu ul > li > ul
        {
            display: unset;
        }

        header > .main-menu-holder > .menu ul > li > ul > li > a
        {
            font-family: 'Montserrat', Arial, Helvetica, sans-serif;
        }

        #main-menu > li > ul > li.active
        {
            background: unset;
        }

        #main-menu > li.active > a > .menu-item-inner
        {
            background: unset;
        }
        /*REST*/

        header
        {
            grid-column: span 16 !important;
            grid-row: 1;
        }

        header .bg
        {
            display: block;
            background: #ffffff;
        }

        header .menu
        {
            grid-column: 6/15;
            grid-row: 1;
            display: flex;
            align-items: center;
        }

        header.dummy
        {
            height: 120px;
            transition: 0s;
        }

        .home header.dummy
        {
            background: #34c1d9;
        }

        .main-menu-holder
        {
            background: unset;
            height: unset;
            width: unset;
        }

        .mobile-menu-button-holder
        {
            display: none !important;
        }

        header.fixed
        {
            background: unset;
        }

        header.fixed .logo-mark
        {
            display: flex;
            width: unset;
            float: unset;
        }

        header.fixed .main-menu-holder
        {
            display: grid;
        }

        header.fixed .mobile-menu-holder
        {
            display: none;
        }

        header.fixed.collapsed
        {
            height: 60px;
        }

        header.fixed .logo-text
        {
            width: unset;
            margin-top: unset;
            float: unset;

            grid-column: 3/6;
            grid-row: 1;

            display: flex;
            align-items: center;

            transition: 0.3s;

            margin-left: 2em;
            padding-right: 4px;
        }

        header.fixed .logo-mark
        {
            grid-column: 1/3;
            grid-row: 1;

            display: flex;
            align-items: center;

            transition: 0.3s;

            margin-right: -2em;
            padding-left: 4px;

            min-width: 60px;
        }

        header.fixed .logo-text.collapsed
        {

        }

        header.fixed .logo-text-image
        {
            object-fit: contain;
            object-position: left;

            height: 50px;

            transition: 0.3s;
        }

        header.fixed .logo-text-image.collapsed
        {
            height: 40px;
        }

        header.fixed .logo-mark-image
        {
            object-fit: contain;
            object-position: right;

            /*width: 56px;*/
            height: 50px;

            transition: 0.3s;
        }

        header.fixed .logo-mark-image.collapsed
        {
            height: 40px;
        }

        header.fixed > .primary-grid
        {
            line-height: normal;
            height: 100%;
        }

        header.fixed .bg
        {
            grid-column: 1/17;
            grid-row: 1;
            z-index: -10;
        }
    }
}