html {
    height: 100vh;
}

.menucontent_container {
    position: relative;
    display: inline-block;
    height: 100%;
    color: #000;
}

.menucontent_item_container {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    background: #fff;
    right: 0;
	margin-top: 20px;
    border-radius: 4px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
    border: 1px solid #ccc;
    transition: width 0.3s cubic-bezier(0.175, 0.885, 0.320, 1.275),
                height 0.3s cubic-bezier(0.175, 0.885, 0.320, 1.275),
                opacity 0.25s linear 0.05s;
    overflow: hidden;
    max-width: 600px;
}

.menucontent_items{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    padding: 20px;
    overflow: hidden;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    cursor: default;
}

.menucontent_items  li {
    white-space: nowrap;
    overflow: visible;
    text-align: center;
    display: inline-flex;
    padding: 8px;
    margin: 8px;
    /*width: calc(33.33% - 8px);
    max-width: 120px;
    border: 1px solid #fff;*/
}

.menucontent_items li .list_content{
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    width: 100%;
}

.menucontent_items li.menu_btn {
    background: #fff;
    cursor: pointer;
    position: relative;
}

.menucontent_items li .action_icon .material-icons {
    font-size: 3em;
    color: #5aa0f9;
}
/*** Style app menu icons by app menu_category ***/
/* Main */
div.action_icon.menu-main > i.material-icons {
    color: rgba(0, 114, 198, 0.87);
}
/* Collateral */
div.action_icon.menu-collateral > i.material-icons {
    color: rgba(92, 184, 92, 0.87);
}
/* Pull requests */
div.action_icon.menu-pull_requests > i.material-icons {
    color: rgba(240, 173, 78, 0.87);
}
/* Account */
div.action_icon.menu-account > i.material-icons {
    color: rgba(217, 83, 79, 0.87);
}
/* Biz Dev */
div.action_icon.menu-biz_dez > i.material-icons {
    color: rgba(51, 122, 183, 0.87);
}
/* Admin */
div.action_icon.menu-admin > i.material-icons {
    color: rgba(0, 114, 198, 0.54);
}

.menucontent_items li .action_lbl {
    font-size: .9em;
    color: rgba(0, 0, 0, 0.87);
}

#menu_backdrop {
    position: fixed;
    height: 100vh;
    width: 100vw;
    background: rgba(0, 0, 0, 0.5);
    top: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: -1;
    transition: opacity 0.3s ease 0s, z-index 0s linear 0.3s;
}

#menu_backdrop.im_open {
    visibility: visible;
    opacity: 1;
    z-index: 10;
    transition-delay: 0s;
    transition: opacity 0.3s ease 0s, z-index 0s linear 0s;
}
/****
    Page Menu Specific Styling
****/
/*----------------------------------*/
#pagemenu_icon {
	display: block;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 4;
}
#pagemenu_icon:hover .m_bar {
    fill: rgba(0, 0, 0, .87);
}
.m_bar {
    fill: rgba(0, 0, 0, .54);
}

#pagemenu_container.im_open .m_bar {
    fill: rgba(255, 99, 70, 1);
}

#pagemenu_container.im_open .menucontent_item_container {
    width: 200px;
    height: 180px;
	opacity: 1;
	overflow: unset;
}
/*----------------------------------*/

/****
    App Menu Specific Styling
****/
/*----------------------------------*/
#appmenu_icon {
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 4;
}

.menu_square {
    fill: rgba(0, 0, 0, .54);
    transition: fill 0.2s ease-in-out;
}

#appmenu_container.im_open .menu_square,
#appmenu_container.im_open #appmenu_icon:hover .menu_square {
    fill: rgba(255, 99, 70, 1);
}

#appmenu_icon:hover .menu_square {
    fill: rgba(0, 0, 0, .87);
}

#appmenu_container.im_open .menucontent_item_container {
	opacity: 1;
	overflow: unset;
}
/*----------------------------------*/


/****
    User Menu Specific Styling
****/
/*----------------------------------*/
#usermenu_icon {
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 4;
}

#circle_container {
    fill: rgba(0, 0, 0, .54);
    transition: fill 0.5s ease;
}
@media only screen and (min-width: 768px) {
    #usermenu_icon:hover #circle_container {
        fill: rgba(0, 0, 0, .87);
    }
}

#user_head,
#user_body {
    fill: #fff;
    transition: fill 0.2s ease-in-out;
}

#usermenu_container.im_open #user_head,
#usermenu_container.im_open #user_body {
    fill: tomato;
}

#usermenu_container.im_open .menucontent_item_container {
    width: 350px;
    height: 190px;
	opacity: 1;
}

.user__profile {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    background-color: #fefefe;
    padding: .5rem;
    line-height: normal;
}

.user__profile a {
    outline: none;
    text-decoration: none;
}

.prof-btns .menu_btn {
    cursor: pointer;
    display: inline-block;
    padding: .5rem;
    font-size: .7em;
    text-transform: uppercase;
    transition: all 200ms cubic-bezier(.25, .8, .25, 1);
    background-color: #0072c6;
    color: #fff;
}

.prof-btns .menu_btn.hvr-outline-out:before {
    border: #0072c6 solid 2px;
}

.myaccount {
    margin-right: 1rem;
}
.user-info {
    cursor: default;
    padding-top: 1rem;
    margin-left: 1rem;
}
.prof-user {
    font-size: 1.3em;
    /*font-weight: 100;*/
    color: #0072c6;
}
.prof-email {
    margin-bottom: 2rem;
}

.prof-footer {
    border-top: 1px solid #eee;
    padding: 1.2rem .5rem .8rem 0;
    display: flex;
    justify-content: flex-end;
}

#signout {
    padding: 5px 10px;
    background-color: #eeeeee;
    cursor: pointer;
}

#signout div {
    display: inline-block;
    transform: translate(0px, -4px);
}

#signout .material-icons {
    font-size: 20px;
    margin-left: 10px;
    opacity: 1;
    transform: none;
}

/*----------------------------------*/


/****
    Outline Hover Effect
****/
/*----------------------------------*/
.hvr-outline-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
}

.hvr-outline-out:before {
  content: '';
  position: absolute;
  border: #aeaeae solid 2px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: top, right, bottom, left, opacity;
  transition-property: top, right, bottom, left, opacity;
}

.hvr-outline-out:hover:before,
.hvr-outline-out:focus:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

.hvr-outline-out:active:before {
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
}
/*----------------------------------*/


/****
    Bounce To Right Hover Effect
****/
/*----------------------------------*/
.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0072c6;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
.hvr-bounce-to-right:hover, .hvr-bounce-to-right:focus, .hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before, .hvr-bounce-to-right:focus:before, .hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
/*----------------------------------*/


/*------------------------ Custom Modal Styling -------------------------*/
.iziModal-header-icon .material-icons {
    color: #fff;
}

.iziModal-header-buttons .material-icons {
    color: #fff;
    cursor: pointer;
}

.iziModal-header-buttons .material-icons:hover {
    color: tomato;
}

.custom_modal {
    display: none;
}

.custom_modal .input-field {
    position: relative;
    font-size: 14px;
    margin: 1rem 0 2rem 0;
}

.custom_modal .modal_input {
    display: block;
    line-height: 1;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #9e9e9e;
    border-radius: 0;
    outline: none;
    height: 2.5rem;
    width: 100%;
    font: inherit;
    font-size: 1rem;
    padding: 0;
    margin: 0;
    box-shadow: none;
    transition: all 0.3s;
}

.custom_modal  .modal_input.focal{
    outline: none;
    outline-offset: unset;
    border-bottom: 2px solid #0072C6;
}

.custom_modal .input-field .modal_lbl {
    position: absolute;
    color: #757575;
    top: 10px;
    left: 0;
    font-size: 1rem;
    cursor: text;
    transition: all 0.3s;
    text-align: initial;
    pointer-events: none;
}

.custom_modal .input-field .modal_lbl.activate {
    transform: scale(0.8) translateY(-2rem);
    transform-origin: 0%;
    color: #0072c6;
}

.custom_modal .modal_menu_btns {
    display: flex;
    justify-content: space-between;
}

.custom_modal .modal_menu_btns .user_btn {
    padding: 10px;
    width: 48%;
    background: #757575;
    color: #fff;
    text-align: center;
    cursor: pointer;
}

.custom_modal .modal_menu_btns .cancel_changes.hvr-outline-out:before {
    border: #757575 solid 4px;
}

.custom_modal .modal_menu_btns .save_changes.user_btn {
    background: #004795;
    color: #fff;
    transform: scale(0);
    transition: transform 0.3s ease-out;
}

.custom_modal .modal_menu_btns .save_changes.active{
    transform: scale(1);
}

.custom_modal .modal_menu_btns .save_changes.active:before {
    border: #004795 solid 4px;
}
/*------------------------------------------------------------------*/


@media only screen and (max-width: 650px) {
    .menucontent_item_container {
        right: -30px;
    }

    .menucontent_items {
        overflow-y: auto !important;
        display: grid;
        grid-template-columns: repeat(3, 33%);
    }

    li.menu_btn {
        width: 80% !important;
    }

    .menucontent_items li .action_lbl {
        font-size: .8rem;
        white-space: normal;
    }

    .menucontent_items li .list_content {
        align-items: center;
    }
}

@media only screen and (max-height: 670px) {
    .menucontent_items {
        overflow-y: auto !important;
    }
}