/* Main */
.mobile-menu {
    /*display: none;*/
    height: auto;
    position: absolute;
    width: 100%;
    z-index: 30;
	font-family: oswald, sans-serif;
	font-weight: 200
}

.mobile-menu.active {
    height: 100%;
    position: fixed;
    z-index: 9999;
}

.header-area .logo-heading-link {
    align-items: center;
    display: inline-flex;
    height: 100%;
}

/* Overrides */

body.mobile-open {
    height: 100%;
    position: fixed;
    width: 100%;
}

header.mobile-open {
    height: 100% !important;
}

.ccm-page.mobile-open {
    height: 100% !important;
    overflow-x: unset !important;
}

.full-page-wrapper.mobile-open {
    height: 100% !important;
}

.mobile-open .full-page-wrapper ul {
    margin-left: 0 !important;
}

.full-page-wrapper {
    overflow-x: hidden;
}


/* Button */

.mobile-controls {


    font-size: 1.6em;
    height: 100%;
}

@media screen and (max-width: 1023px) {
    .mobile-controls {
        display: block;
    }
}

.mobile-controls .fa {
    margin: 0 !important; /* overwrites global .ccm-page .fa {margin-left: 5px;} in styles.css */
}
.mobile-controls a {display: inline; color:#fff}
.mobile-controls a:hover,
.mobile-controls a:focus,
.mobile-controls img[role="button"] {color:#F5C300 !important}
.mobile-controls a.button {
    transition: none !important; /* overwrites styles.css a{transition: all !important} rule.  we should not have !important tags on a global style, why is that needed in the first place? */
}

.mobile-controls .button {
    align-items: center;
    /*color: #4e4e4e; display: inline-flex; height: 100%;*/
    padding: 0 10px;
	position: absolute;
    top: 83px;
    left: calc(50% + 95px);
}


.mobile-controls .button.image {
    padding: 0 5px 0 0;
}

.mobile-controls .button.image img {
    border-radius: 50%;
    display: inline-block;
    height: 50px;
    margin: 0 0 5px;
    max-width: 100%;
}

@media screen and (max-width: 800px) {
    .mobile-controls .button.image img {
        height: 40px;
    }
}

@media screen and (max-width: 400px) {
    .mobile-controls .button.image {
        padding: 0 5px 0 0;
    }
    .mobile-controls .button {
        padding: 0 5px;
    }
    .mobile-controls .button.open-mobile {
        padding: 0 0 0 5px;
    }
}

.button.mobile-search {
    color: #fc3c3c;
}

.button.open-mobile {
    color: #fff;
}

.nav-button {
    background-color: transparent;
    border: 2px #fff solid;
    border-radius: 50%;
    color: #fff;
    padding: 15px 17px 17px 16px;
    position: absolute;
    right: 6%;
    top: 190px;
    width: 50px;
    height: 50px;
}

.nav-button .fa-bars {
    font: normal normal normal 30px/1 FontAwesome;
}
/* Focus */

.has-tabbed .nav-button:focus {
    outline: 2px #000000 dashed !important;
    outline-offset: 2px !important;
}
.has-tabbed .primary-nav li a:focus {
    outline: 2px #FFFFFF dashed !important;
    outline-offset: 2px !important;
}
.has-tabbed .mobile-sub-trigger:focus {
    outline: 2px #FFFFFF dashed !important;
    outline-offset: 2px !important;
}
.has-tabbed .mobile-submenu li a:focus {
    outline: 2px #FFFFFF dashed !important;
    outline-offset: 2px !important;
}
.has-tabbed .fa-times-circle:focus {
    outline: 2px #FFFFFF dashed !important;
    outline-offset: 2px !important;
}

/* Main Mobile Box */

.mobile-nav {
    background-color:rgba(201, 33, 38, .88);
    height: 100%;
    max-width: 495px;
    min-width: 303px;
    overflow-x: hidden;
    overflow-y: auto;
    position: absolute;
    right: -495px;
    top: 0;
    transition: right .75s ease;
    width: calc(100% - 50px);
    z-index: 99999;
	background-image: url(/application/themes/ae/assets/images/orange-background-right-column.jpg);
	background-position: left center;
}

.mobile-nav.expand {
    right: 0;
}

/* Nav Box */

.mobile-nav .close-mobile-nav {
    color: rgba(255, 255, 255, 1);
    cursor: pointer;
    display: block;
    font: normal normal normal 50px/1 FontAwesome;
    position: absolute;
    right: 20px;
    top: 20px;
    transform: scale(1.0);
    transition: transform .2s linear;
	font-size: 30px
}

.mobile-nav .fa-times-circle:hover {
    transform: scale(1.05);
    transition: transform .2s linear;
}

.mobile-nav .primary-nav li {
    list-style-type: none;
    padding: 0 0 0 28px;
    position: relative;
}

.mobile-nav .primary-nav {
    padding: 65px 0 25px;
}

.mobile-open ul {
    margin-bottom: 0 !important;
}

/* Fade Out */

.mobile-fade {
    background-color: rgba(0, 0, 0, 0);
    height: 0;
    left: 0;
    position: absolute;
    top: 0;
    transition: background-color 1s ease;
    width: 100vw;
}

.mobile-fade.fade-window {
    background-color: rgba(0, 0, 0, .95);
    height: 100vh;
}

/* Submenu */

.mobile-nav .mobile-submenu {
    height: 0;
    opacity: .1;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s ease, .3s opacity ease;
    visibility: hidden;
}

.mobile-nav .active .mobile-submenu {
    height: auto;
    opacity: 1;
    transform: scaleY(1);
    transform-origin: top;
    transition: transform 0.4s ease;
    visibility: visible;
}

.mobile-nav .mobile-submenu li {
    padding: 0 0 32px 43px;
}

.mobile-nav .mobile-submenu li .flex-mobile-wrap {
    padding: 0;
}

.mobile-nav .mobile-submenu li:first-child {
    padding-top: 26px;
}

.mobile-nav .mobile-submenu li:last-child {
    padding-bottom: 26px;
}

/* Lower Submenu */
.mobile-submenu.sub-expand .flex-mobile-wrap {
    cursor: pointer;
    padding-top: 0;
}

.mobile-submenu.sub-expand .flex-mobile-wrap span {
    font-size: 29px;
}

.mobile-submenu.sub-expand .flex-mobile-wrap .fa-chevron-circle-right {
    color: #fff;
    font-size: 21px;
    line-height: 21px;
}

.mobile-submenu .lower-submenu {
    height: 0;
    opacity: .1;
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s ease, .3s opacity ease;
    visibility: hidden;
}

.mobile-submenu .active .lower-submenu {
    height: auto;
    opacity: 1;
    transform: scaleY(1);
    transform-origin: top;
    transition: transform 0.4s ease;
    visibility: visible;
}

/* Color Bar */

.mobile-nav .color-bar {
    display: flex;
    height: 7px;
    position: relative;
    width: 100%;
}
.mobile-nav .color-bar .blue {
    background-color: #0264ea;
    height: 100%;
    width: 25%;
}
.mobile-nav .color-bar .orange {
    background-color: #f9a304;
    height: 100%;
    width: 25%;
}
.mobile-nav .color-bar .green {
    background-color: #51d822;
    height: 100%;
    width: 25%;
}
.mobile-nav .color-bar .red {
    background-color: #fc3c3c;
    height: 100%;
    width: 25%;
}
/* Divide Bars */

.mobile-nav .divide-bar {
    height: 1px;
    right: 0;
    width: calc(100% - 28px);
}

.mobile-nav .divide-bar.gray {
    position: absolute;
    right: 0;
    top: 72px;
}
.mobile-nav .color-divide-bar {
    height: 1px;
    margin: 5px 0 0 0;
    position: relative;
    right: 0;
    width: 100%;
}
/* Word Styling */

.mobile-nav .primary-nav li a,
.mobile-nav .primary-nav li div span {
    color: #fff;

    font-size: 32px;
    font-weight: 300;
    text-decoration: none;
    transition: transform .2s linear;
}

.mobile-nav .text-wrap {
    width: calc(100% - 52px);
}

.mobile-nav .primary-nav li a:hover,
.mobile-nav .primary-nav li div span:hover {
    text-decoration: none;
    color:#F5C300;
}


.mobile-nav .mobile-submenu li a, .mobile-nav .mobile-submenu li span {
    color: #fff;

    font-size: 25px;
    font-weight: 300;
    text-decoration: none;
    margin-left: 0;
}

/* Icons */

.primary-nav > li:nth-child(1) > div:nth-child(1) > div:nth-child(1):hover{ background-color: #0264ea; }
li.hover:nth-child(2) > div:nth-child(1) > i.rotate{ color: #f9a304; }
li.hover:nth-child(2) > div:nth-child(1) > i:hover{ color: #f9a304; }
li.hover:nth-child(3) > div:nth-child(1) > i.rotate{ color: #51d822; }
li.hover:nth-child(3) > div:nth-child(1) > i:hover{ color: #51d822; }
li.hover:nth-child(4) > div:nth-child(1) > i.rotate{ color: #fc3c3c; }
li.hover:nth-child(4) > div:nth-child(1) > i:hover{ color: #fc3c3c; }
.primary-nav > li:nth-child(5) > div:nth-child(1) > div:nth-child(1):hover{ background-color: #0264ea; }

.mobile-nav .icon-link {
    background-color: #fff;
    border-radius: 100px;
    cursor: pointer;
    display: inline-block;
    height: 22px;
    margin: 0 22px 0 0;
    position: relative;
    width: 22px;
    transition: .25s transform linear;
}

.icon-link .fa {
    color: #4e4e4e;
    transition: all 0.2s ease-in-out;
}

.icon-link .fa-chevron-right {
    margin-left: 6px;
    top: 50%;

}

.rotate-icon { transform: rotate(90deg); transform-origin: center; transition: .25s transform linear;}

.icon-link .fa-sign-out{
    margin-left: 4px;
    position: absolute;
    top: 50%;
    transform: translateY(-47%);
}

li.active > .has-submenu > .icon-link .fa-chevron-right {
    top: 3px;
    right: 5px;
}

.mobile-nav li:hover > .flex-mobile-wrap > .icon-link .fa-link {
    transform: scale(1.1);
}
.mobile-nav li:not(.active):hover > .flex-mobile-wrap > .icon-link .fa-chevron-right {

}

.mobile-nav .fa-link {
    display: table-cell !important;
    font-size: 17px !important;
}
.mobile-nav .fa-sign-out {
    display: table-cell !important;
    font-size: 19px !important;
}

.mobile-nav .active .has-submenu,
.mobile-nav .primary-nav li.active > div span {
    color: rgb(249, 163, 4);
    outline: #fff;
}


.mobile-nav .fa-link {
    line-height: 22px;
    padding-left: 3px;
}

/* Search Box */

.mobile-nav .mobile-search-glass {
    color: #27282b;
    cursor: pointer;
    font-size: 29px;
    padding: 8px 11px 12px 10px;
    position: absolute;
    right: 29.5px;
    top: 20px;
}

.mobile-nav .mobile-search-box {
    background-color: #0264ea;
    height: 89px;
    position: relative;
    width: 100%;
}

.mobile-nav .mobile-search-box-wrapper {
    bottom: 0;
    position: absolute;
    width: 100%;
}

.mobile-nav .mobile-search-box-wrapper.submenu-open {
    position: static;
}

.mobile-nav .mobile-search-box input {
    color: #27282b !important;
    font-size: 21px !important;
    font-weight: 100 !important;
    height: 50px !important;
    margin: 19.5px 0 19.5px 28px !important;
    padding: 0 50px 0 17px;
    width: calc(100% - 56px) !important;

}

.mobile-nav .mobile-search-box input::placeholder {
    color: black !important;
    font-weight: 300 !important;
}

/* Center Items */
.flex-mobile-wrap {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding-top: 5px;
}

/* Color top borders */

.color-divide-bar{background-color: rgba(255,255,255,.2);}





/* Mobile/Browser Corrections */

.mobile-nav .primary-nav li a:focus,
.mobile-nav .primary-nav li span:focus  {
    outline: 5px dashed #fff;
}

.os-android .mobile-nav .fa-link {
    line-height: 24px !important;
}

.browser-microsoft-edge .color-divide-bar:active {
    height: 1px !important;
}




/* Media Query */

@media only screen and (max-width: 525px) {
    /* Word Styling */

    .mobile-nav .primary-nav li a, .mobile-nav .primary-nav li div span {
        font-size: 26px;
    }

    .mobile-nav .mobile-submenu li .text-wrap, .mobile-nav .mobile-submenu li div span {
        font-size: 19px;
    }
}
.address-mobile {color: #fff; font-size: 20px; padding: 28px; line-height: 34px}
.address-mobile address {margin-bottom: 20px}
.address-mobile a {text-decoration: underline; color:#fff}
.button-holder { width: 292px; height: 80px; position: relative; margin: 0 auto; top: -53px;}
.open-phone { width: 40px; height: 40px; position: absolute !important; left: 20px !important;}
.phone-btn-link {width: 40px; height: 40px; position: absolute !important; right:20px !important}
.open-menu { width: 40px; height: 40px;}
