.ally-mega-menu::after {
  content: '';
  display: table;
  clear: both;
}

.ally-columns-submenu,
.ally-grid-submenu {
/*    max-height: unset !important;
    visibility: visible;*/
    }

.full_width {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    }

.full_width_inner {
    }

.main-navigation {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    transition: all 0.3s ease-in-out;
    opacity: 1;
    overflow: visible;
    max-height: unset;
    height: 100%;
    }

.main-navigation.is-ready {
    opacity: 1;
    overflow: visible;
    max-height: unset;
    }

ul#primary-menu > li > a  {
    text-align: right;
    }

.ally-mega-menu {
   width: 70%;
   height: 100%;
    }

.ally-mega-menu h2 {
    font-size: 1.25em;
    }

.ally-mega-menu p {
    line-height: 1.5em;
    }

.ally-mega-menu .menu {
    list-style: none;
    padding: 0;
    margin: 0;
   /* display: flex;*/
    height: 100%;
    display: none; /* hide on first load so it doesn't flash then set to flex */
    border-top: 0;
    border-bottom: 0;
    }

.ally-mega-menu ul.menu li:hover a {
    color: #016F44; /* green */
    }

.ally-mega-menu ul.menu li ul li a:hover {
    color: #C35300; /* orange */
    }

.ally-mega-menu ul.menu li ul li a {
    display: block;
    text-decoration: none;
    color: #016F44;
    width: 100%;
   display: table-cell;
    vertical-align: middle;
    text-align: center;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    background-color: unset;
    padding: 15px;
    text-decoration: none;
    border-radius: 10px;
    }

.ally-mega-menu .menu-item > a,
.ally-mega-menu .menu-item > span,
.ally-mega-menu .menu-item > button {
    display: block;
    text-decoration: none;
    color: #016F44;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    padding: 15px 20px;
    text-decoration: none;
    align-content: center;
    border: unset;
    }

.ally-mega-menu ul.menu li {
    border-right: 0px solid #A1D6E2;
    margin-bottom: 0 !important;
    line-height: 1.2em;
    transition: .25s ease-in-out;
    color: #016F44; /* green */
    cursor: pointer;
    }

.ally-mega-menu > ul.menu > li.menu-item {
    position: relative;
    padding: 0;
    display: block;
    }

.ally-mega-menu > ul.menu.collapsed > li.menu-item {
    height: unset;
    }

.ally-mega-menu .submenu-title {
    text-align: left;
    color: #016F44;
    font-weight: normal;
    margin: 0 0 5px 0;
    padding: 0;
    font-size: 1em;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    }

.ally-mega-menu .ally-grid-submenu li,
.ally-mega-menu .ally-columns-submenu li {
    display: block;
    align-content: start;
    align-items: start;
    align-self: start;
    justify-content: start;
    justify-items: start;
    justify-self: start;
    }

.ally-mega-menu .ally-grid-submenu li.menu-item,
.ally-mega-menu .ally-columns-submenu li.menu-item {
    position: relative;
    padding: 0 10px 0 0;
    width: 100%;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    }

.ally-mega-menu .ally-grid-submenu li.menu-item a {
    display: flex;
    text-decoration: none;
    color: inherit;
    text-align: center;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
}

.ally-mega-menu .ally-columns-submenu li.menu-item a {
    display: flex;
    text-decoration: none;
    color: inherit;
    text-align: left;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
}

.ally-mega-menu .menu-item-text {
    font-size: 1em;
    text-align: left;
    display: inline-block;
    width: 100%;
    color: #016F44;
    font-weight: bold;
    }

.text-container .menu-item-title {
    font-family: "FontBlack", sans-serif;
    line-height: 1.2em;
    font-size: 1em;
    }

.ally-mega-menu .menu-item-description {
    font-size: .85em;
    text-align: left;
    width: 100%;
    color: #4e4e4e;
    margin-top: 5px;
    transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    }

.ally-mega-menu .text-container {
    margin: 0 0 0 10px;
    }

.ally-mega-menu ul.menu li a:hover .submenu-title,
.ally-mega-menu ul.menu li a:hover .menu-item-description,
.ally-mega-menu ul.menu li a:hover .menu-item-title {
    color: #fff;
    }

.menu-item.parent-hover-active a,
.menu-item.parent-hover-active button,
.ally-mega-menu > .menu > .menu-item > a.parent-hover-active,
.ally-mega-menu > .menu > .menu-item.parent-hover-active > a,
.ally-mega-menu .menu-item > button.parent-hover-active,
.ally-mega-menu > .menu > .menu-item > button.parent-hover-active {
   /* background: #e9f9ff; */
    color: #0e6724 !important;
    }

.ally-mega-menu .menu-item > a:focus,
.ally-mega-menu .menu-item > span:focus,
.ally-mega-menu .menu-item > span:focus-visible,
.ally-mega-menu .menu-item > button:focus,
button#menu-toggle:focus {
    outline: 2px dotted #C35300;
    outline-offset: -2px;
    background: #e9f9ff;
    color: #0e6724 !important;
    }

.allybasic .menu-item-text {
    text-align: center;
    }

.allybasic .submenu li.menu-item a {
    display: block;
    }

.allybasic .submenu li.menu-item {
    padding: 0;
    }

.ally-grid-submenu li.menu-item.current-menu-item,
.ally-columns-submenu li.menu-item.current-menu-item {
    outline: 1px dotted #C35300;
    outline-offset: -3px;
    border-radius: 10px;
    }

.allybasic .ally-grid-submenu li.menu-item.current-menu-item,
.allybasic .ally-columns-submenu li.menu-item.current-menu-item {
    outline-offset: -3px;
    }

.allybasic .ally-grid-submenu li.menu-item.current-menu-item a,
.allybasic .ally-columns-submenu li.menu-item.current-menu-item a,
.current-menu-item a .menu-item-title,
.current-menu-item a .menu-item-description {
    color: #C35300;
    }

.ally-mega-menu .current-menu-item a .svg-inline--fa {
    background-color: #C35300;
    }

.allybasic .ally-grid-submenu li,
.allybasic .ally-columns-submenu li {
    border-radius: 5px;
    width: 100% !important;
    }

.allybasic .ally-grid-submenu li:hover,
.allybasic .ally-columns-submenu li:hover  {
    outline: 2px dotted #C35300;
    outline-offset: -2px;
    }

.allybasic .ally-grid-submenu li:hover a,
.allybasic .ally-columns-submenu li:hover a {
    color: #C35300 !important;
    }


.ally-mega-menu.allybasic .menu-item > .ally-grid-submenu,
.ally-mega-menu.allybasic .menu-item:hover > .ally-grid-submenu,
.ally-mega-menu.allybasic .menu-item > a[aria-expanded="true"] + .ally-grid-submenu,
.ally-mega-menu.allybasic .menu-item > .ally-grid-submenu.toggled,
.ally-mega-menu.allybasic .menu-item > button[aria-expanded="true"] + .ally-grid-submenu,
.ally-mega-menu.allybasic .menu-item > .ally-columns-submenu,
.ally-mega-menu.allybasic .menu-item:hover > .ally-columns-submenu,
.ally-mega-menu.allybasic .menu-item > a[aria-expanded="true"] + .ally-columns-submenu,
.ally-mega-menu.allybasic .menu-item > .ally-columns-submenu.toggled,
.ally-mega-menu.allybasic .menu-item > button[aria-expanded="true"] + .ally-columns-submenu {
    /*position: absolute;*/
    padding: 5px;
    }

.allybasic ul li ul li,
.allybasic ul li ul li {
    min-width: 150px !important;
    }

.allyeighty ul li ul li,
.allyfullwidth ul li ul li {
   /* position: fixed;
    display: flex;*/
    }



/***************************
Submenu animation styles
****************************/


.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-fadedown,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-fadedown {
    transform: translateY(-20px);
    opacity: 0;
    transition: all 0.3s ease;
    display: grid;
    z-index: 10;
    }


.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-fadedown.toggled,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-fadedown.toggled {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    display: grid;
    z-index: 20;
    }

.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-fadeup,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-fadeup  {
    transform: translateY(20px);
    opacity: 0;
    transition: all 0.3s ease;
    display: grid;
    z-index: 10;
    }


.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-fadeup.toggled,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-fadeup.toggled {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    display: grid;
    z-index: 20;
    }

.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-stack,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-stack {
    transform: translateY(-20px);
    opacity: 0;
    transition: all 0.3s ease;
    display: grid;
    }


.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-stack.toggled,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-stack.toggled {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    display: grid;
    }

.ally-mega-menu ul.menu li > ul.ally-grid-submenu.animate-stack li,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu.animate-stack li {
     -webkit-transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
     transition: all 0.2s cubic-bezier(0.4,0.28,0.31,1.28) 0s;
     transition-delay: 0s;
     -webkit-transform: translateY(10px);
     transform: translateY(10px);
     opacity: 0;
     display: grid;
     }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+1) {
     -webkit-transition-delay: 0.2s;
     transition-delay: 0.2s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+2) {
     -webkit-transition-delay: 0.3s;
     transition-delay: 0.3s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+3) {
     -webkit-transition-delay: 0.4s;
     transition-delay: 0.4s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+4) {
     -webkit-transition-delay: 0.5s;
     transition-delay: 0.5s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+5) {
     -webkit-transition-delay: 0.6s;
     transition-delay: 0.6s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+6) {
     -webkit-transition-delay: 0.7s;
     transition-delay: 0.7s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+7) {
     -webkit-transition-delay: 0.8s;
     transition-delay: 0.8s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+8) {
     -webkit-transition-delay: 0.9s;
     transition-delay: 0.9s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+9) {
     -webkit-transition-delay: 1s;
     transition-delay: 1s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+10) {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+11) {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+12) {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+13) {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+14) {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+15) {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+16) {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+17) {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+18) {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li > ul.submenu.animate-stack.toggled li:nth-child(2n+19) {
     -webkit-transition-delay: 2s;
     transition-delay: 2s;
     opacity: 1;
    }

.ally-mega-menu ul.menu li:hover > ul.submenu.animate-stack  li:last-child {
     border-bottom: none;
     opacity: 1;
    }

/***************************
End submenu animation styles
****************************/





.ally-mega-menu .ally-dropdown-arrow {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 15px;
    vertical-align: middle;
    }

.menu-item-has-children a:hover .ally-dropdown-arrow,
.menu-item-has-children a:active .ally-dropdown-arrow,
.menu-item-has-children button:hover .ally-dropdown-arrow,
.menu-item-has-children button:active .ally-dropdown-arrow,
.menu-item-has-children span:hover .ally-dropdown-arrow,
.menu-item-has-children span:active .ally-dropdown-arrow {
    background: unset !important;
    }

.ally-dropdown-arrow {
    position: relative;
    right: 0px;
    top: 0px;
    cursor: pointer;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    z-index: 5;
    padding: 0 !important;
    }

.icon-down-arrow:before {
    content: '';
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: -23px 0 0 -13px;
    vertical-align: middle;
    transition: all 0.25s ease-in-out;
    background-color: #016F44;
    -webkit-mask-image: url('/wp-content/plugins/ally-mega-menu/images/submenu.svg');
    mask-image: url('/wp-content/plugins/ally-mega-menu/images/submenu.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    mask-size: cover;
    transform: rotate(-90deg);
    }


.menu-item.parent-hover-active .ally-dropdown-arrow .icon-down-arrow:before,
.ally-dropdown-arrow.toggled .icon-down-arrow:before {
    transform: rotate(0deg);
    }

.ally-mega-menu ul.menu li.current-menu-ancestor button{

    }

.ally-mega-menu .menu.collapsed li.menu-item button:focus .icon-down-arrow:before,
.ally-mega-menu .menu.collapsed li.menu-item .parent-hover-active .icon-down-arrow:before {
    background-color: #016F44;
    }

.current_page_item .ally-dropdown-arrow {
    }

.ally-dropdown-arrow {
    transition: transform 0.3s ease;
    }

button:active .ally-dropdown-arrow,
span:active .ally-dropdown-arrow {
    transform: rotate(0deg);
    background: unset;
    }

.ally-dropdown-arrow.toggled {
    transform: rotate(0deg);
    background: unset;
    }

.ally-mega-menu .ally-grid-submenu ul {
    list-style: none;
    padding: 15px 20px 20px 20px;
    margin: 0;
    display: grid;
    grid-gap: 0px;
    float: unset;
    position: relative;
    top: unset;
    left: unset;
    z-index: 99999;
    background-color: #fff;
    border-radius: 0 0 30px 30px;
    }

.ally-mega-menu .ally-grid-submenu ul,
.ally-mega-menu .ally-columns-submenu ul {
   list-style: none;
   padding: 15px 0px 20px 0px;
   float: unset;
   position: relative;
   top: unset;
   left: unset;
   z-index: 99999;
   }


button {
    border: 0;
    border-color: unset;
    border-radius: unset;
    background: none;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
    }


.menu-mobile-container {
    display: none;
    }

#mobile-site-navigation {
    display: block;
    top: 120px;
    position: absolute;
    height: 100vh;
    width: 100%;
    left: -110vw;
    margin: 0;
    padding: 0px;
    background-color: #fff;
    transition: all 0.25s ease-in-out;
    overflow-y: auto;
    height: calc(100vh - 120px);
    position: fixed;
    }

#mobile-site-navigation.menu-open {
    left: 0;
    }

.menu-icon {
    width: 30px;
    height: auto;
    fill: #33A437;
    float: unset !important;
    }

body.no-scroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
    }

.menu-toggle {
    display: none;
    cursor: pointer;
    background-color: unset;
    border: unset;
    float: right;
    margin-top: 10px;
    }

.menu-toggle:focus {
    outline: 2px dotted #C35300;
    outline-offset: -2px;
    }

/**********************
 MOBILE
**********************/

.ally-mega-menu .menu.collapsed {
    display: block;
    height: 100vh;
    background: #fff;
    padding-top: 120px;
    background: white;
    padding: 0 0 100px 0px;
    position: absolute;
    top: 0px;
    z-index: 1;
    transition: all 0.3s ease-in-out;
    transform: translateX(400px);
    width: 320px;
    right: 0px;
    box-shadow: -10px 0px 10px rgba(0, 0, 0, 0.25);

    position: fixed;
    overflow-y: auto;
    max-height: calc(100vh - 0);
    }

/* For WebKit browsers (Chrome, Safari) */
.ally-mega-menu .menu.collapsed::-webkit-scrollbar {
    width: 10px;
    }

.ally-mega-menu .menu.collapsed::-webkit-scrollbar-track {
    background: #f1f1f1;
    }

.ally-mega-menu .menu.collapsed::-webkit-scrollbar-thumb {
    background: #888;
    }

.ally-mega-menu .menu.collapsed::-webkit-scrollbar-thumb:hover {
    background: #555;
    }



.ally-mega-menu > ul.menu.collapsed > li.menu-item {
    display: block;
    }

.ally-mega-menu .menu.collapsed .submenu {
    border-radius: 0px;
    }


.ally-mega-menu ul.menu li > ul.ally-grid-submenu {
    display: grid;
    background-color: #fff;
    padding: 0;
    margin: 0;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25);
    visibility: hidden;
    }

.ally-mega-menu ul.menu li > ul.ally-grid-submenu,
.ally-mega-menu ul.menu li > ul.ally-columns-submenu,
.ally-mega-menu ul.menu li > ul {
    display: none;
    background-color: #fff;
    padding: 0;
    margin: 0;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25);
    visibility: hidden;
    cursor: default;
    }

.ally-mega-menu ul.menu.collapsed li > ul.submenu.toggled {
    visibility: visible;
    display: block;
    opacity: 1;
    }

.ally-mega-menu .menu.collapsed li {
    height: unset;
    }

.ally-mega-menu .menu.menu-opened,
.ally-mega-menu .menu.collapsed.menu-opened {
    transform: translateX(0px);
    background-color: #005194;
    }

.ally-mega-menu .menu.collapsed .submenu li.menu-item {
    width:100%;
    padding: 0;
    }

.ally-mega-menu .menu.collapsed .menu-item > a,
.ally-mega-menu .menu.collapsed .menu-item > span,
.ally-mega-menu .menu.collapsed .menu-item > button {
    text-align: left;
    color: #fff;
    }


.ally-mega-menu .menu.collapsed .menu-item .icon-down-arrow:before {
    background-color: #FFF;
    }

#primary,
.site-branding,
.site-topbar,
.menu-mobile-container,
.nav-buttons,
.site-footer {
    filter: blur(0px);
    transition: all 0.3s ease;
    }

.no-scroll #primary,
.no-scroll .site-branding,
.no-scroll .site-topbar,
.no-scroll .menu-mobile-container,
.no-scroll .nav-buttons,
.no-scroll .site-footer {
    filter: blur(2px);
    }

.background-overlay {
    background-color: #002e4db8;
    width: 100vw;
    height: 100vh;
    top: 0;
    position: fixed;
    transition: all 0.3s ease-in-out;
    transform: translateX(150vw);
    left: 0;
    }

.no-scroll .background-overlay {
    transform: translateX(0px);
    }

.overlay {
    display: none;
    }


.ally-mega-menu ul.menu.collapsed li ul.ally-grid-submenu ul,
.ally-mega-menu ul.menu.collapsed li ul.ally-columns-submenu ul {
    padding: 0;
    }
    
.ally-mega-menu ul.menu.collapsed h2 {
    font-size: 1.25em;
    }
    
.ally-mega-menu ul.menu.collapsed li > ul.submenu {
    box-shadow: unset;
    border-bottom: 1px solid #cddbe2;
    position: relative;
    }

@media screen and (max-width: 1085px) {
    .ally-mega-menu {
        width: auto;
    }
    
    .main-navigation {
        justify-content: end;
    }
}
