div#public-body {
    width: 100%;
    margin-top: 172px;
    transition: margin 300ms;
    overflow: hidden;
    transition: margin 600ms;
}

div#public-header-container {
    position: fixed;
    background-color: white;
    width: 100%;
    height: 177px;
    top: 0px;
    z-index: 600000000;
    transition: top 600ms, height 600ms;
}

div.public-header {
    box-shadow:  0px 0px 10px #D4D4D4;
    margin: 0 auto;
    position: relative;
    height: 177px;
    transition: height 600ms;
}

div.public-header-left {
    position: absolute;
    left: 103px;
    bottom: 0px;
}

div.public-header-right {
    position: absolute;
    right: 119px;
    bottom: 0px;
    text-align: right;
}

div.public-header-button {
    display: inline-block;
    vertical-align: middle;
    width: 88px;
    height: 130px;
    position:  relative;
}

div#public-header-container.menu-visible-tab .public-header-menu-button {
    background-color:  #c0e9e7;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
}

div#public-header-container.menu-visible-tab .public-header-menu-button img {
    display:  none;
}

div#public-header-container.menu-visible-tab .public-header-menu-button img.top-nav-close {
    display:  inline-block;
}

div#public-header-container.chat-visible-tab .public-header-chat-button {
    background-color:  #c0e9e7;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
}

div#public-header-container.chat-visible-tab .public-header-chat-button img {
    display:  none;
}

div#public-header-container.chat-visible-tab .public-header-chat-button img.top-nav-close {
    display:  inline-block;
    margin-right:  -1px;
}

div#public-header-container.persona-visible-tab .public-header-profile-button {
    background-color:  #c0e9e7;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
}

div#public-header-container.persona-visible-tab .public-header-profile-button img {
    display:  none;
}

div#public-header-container.persona-visible-tab .public-header-profile-button img.top-nav-close {
    display:  inline-block;
    margin-right:  -1px;
}

div#public-header-container.search-visible-tab .public-header-search-button {
    background-color:  #c0e9e7;
    border-top-left-radius:  10px;
    border-top-right-radius:  10px;
}

div#public-header-container.search-visible-tab .public-header-search-button img {
    display:  none;
}

div#public-header-container.search-visible-tab .public-header-search-button img.top-nav-close {
    display:  inline-block;
}


div.public-header-button img {
    transition: bottom 600ms;
    width:  90px;
    height: 90px;
    position: absolute;
    right:  0;
    top:  0;
}

div.public-header-button img.public-header-avatar-empty {
    width: 55px;
    right:  16px;
    top:  0px;
    border-radius: 3px;
    box-sizing: border-box;
}

div.public-header-button img.public-header-avatar {
    width: 60px;
    height:  60px;
    right:  15px;
    top:  15px;
    border-radius: 8px;
    box-sizing: border-box;
    border:  2px solid #ea4c5f;
    background-color:  white;
}

.top-nav-close {
    display:  none;
}

.top-nav-background {
    transition: all 0.3s ease-in-out 0s;
    opacity:  0;
}

.top-nav-static-background {
    transition: all 0.3s ease-in-out 0s;
}

@media all and (min-width: 1019px) {

    .public-header-button a:hover > .top-nav-background {
        transform: rotate(-40deg);
        transition: all 0.3s ease-in-out 0s;
        opacity:  1;
    }

    .public-header-button a:hover > .top-nav-static-background {
        transform: rotate(-90deg);
        transition: all 0.3s ease-in-out 0s;
    }

    .public-header-button a:active > .top-nav-background {
        transform: rotate(40deg);
        opacity:  1;
    }

}

div.public-header-button a {
    display: inline-block;
    text-align: center;
}

div.public-header-logo {
    position: absolute;
    width: 358px;
    left: 50%;
    margin-left: -180px;
    bottom: 50px;
    text-align: center;
    background-color: white;
    transition: margin 600ms, bottom 600ms
}

div.public-header-logo img {
    display: inline-block;
    vertical-align: middle;
    width: 358px;
    border: 0;
    transition: width 600ms, height 600ms;
}

div.public-header-logo div.strap {
    display: inline-block;
    text-transform: uppercase;
    color: #999999;
    vertical-align: middle;
    font-size: 13pt;
    font-weight: 100;
    letter-spacing: 4px;
    margin-left: 24px;
}

div.public-header-right div.public-header-button {
    text-align: right;
}

div.cv2-menu-main {
    padding-bottom:  20px;
}

div.cv2-menu-main-item {
    display:  inline-block;
    width:  50%;
    vertical-align:  top;
    position:  relative;
    text-align:  left;
    padding-left:  99px;
    box-sizing:  border-box;
    font-size:  22px;
    font-weight:  500;
    padding-top:  40px;
    padding-bottom:  40px;
}

div.cv2-menu-main-item-two-line {
    padding-top:  25px;
    padding-bottom:  20px;
}

div.cv2-menu-sub-item {
    font-size:  22px;
    font-weight:  500;
    padding-top:  15px;
    padding-bottom:  15px;
    color:  #555;
}

div.cv2-menu-main-item img {
    position: absolute;
    left: 15px;
    top: 22px;
    width: 62px;
}

@media all and (max-width: 1500px) {

    div.public-header-left {
        left: 20px;
    }

    div.public-header-right {
        right: 20px;
    }

}

@media all and (max-width: 1020px) {

    div#public-body {
        margin-top: 50px;
    }


    div#public-header-container {
        height:  52px;
    }

    div.public-header {
        box-shadow:  0px 0px 7px #D4D4D4;
        height: 52px;
    }

    div.public-header-left {
        left:  10px;
    }

    div.public-header-right {
        right:  12px;
    }

    div.public-header-logo {
        width: 104px;
        left: 50%;
        margin-left: -52px;
        bottom: 17px;
    }

    div.public-header-logo img {
        width: 104px;
    }

    div.public-header-button {
        width:  38px;
        vertical-align: top;
        height:  47px;
    }

    div.public-header-button img {
        width:  40px;
        height:  40px;
    }

    div.public-header-button img.chat {
        width:  50px;
        top:  0px;
        right:  -5px;
    }

    div#header-chats-count {
        top: 3px;
        right: 3px;
        width: 15px;
        height: 15px;
    }


    div.public-header-button img.search {
        width:  50px;
        top:  0px;
        right:  -5px;
    }

    div.public-header-button img.menu {
        width:  50px;
        top:  0px;
        right:  -5px;
    }

    div.public-header-button img.public-header-avatar-empty {
        width: 26px;
        height:  26px;
        right:  7px;
        top:  8px;
    }

    div.public-header-button img.public-header-avatar {
        width: 28px;
        height:  28px;
        right:  7px;
        top: 5px;
        border-radius: 4px;
        border:  1px solid #ea4c5f;
    }

    div.public-header-button img.top-nav-static-background {
        margin-top:  -1px;
        margin-left:  0px;
        width: 42px;
    }

    div.public-header-chat-button {
        margin-right: 10px;
    }

    div.public-header-profile-button {
        width:  38px;
    }

    div.cv2-menu-main {
        padding-top:  15px;
        padding-bottom:  30px;
    }

    div.cv2-menu-main-item {
        text-align:  center;
        padding-left:  10px;
        padding-right:  10px;
        font-size:  13px;
        font-weight:  600;
        padding-top:  5px;
        padding-bottom:  5px;
    }

    div.cv2-menu-main-item-two-line {
        padding-top:  5px;
        padding-bottom:  5px;
    }

    div.cv2-menu-sub {
        padding-bottom:  20px;
    }


    div.cv2-menu-sub-item {
        font-size:  13px;
        font-weight:  600;
        padding-top:  15px;
        padding-bottom:  15px;
    }

    div.cv2-menu-main-item img {
        position:  static;
        left: 0px;
        top: 0px;
        width: 60px;
    }

}

@media all and (max-width: 319px) {

    div.public-header-logo {
        display:  none;
    }

}



/* SHRINKING ON SCROLL */

@media all and (min-width: 1020px) {

    div#public-header-container.scrolled-down {
        height: 80px;
    }

    div#public-header-container.scrolled-down div.public-header {
        height: 80px;
    }

    div#public-header-container.scrolled-down div.public-header-logo {
        bottom: 20px;
    }

    div#public-header-container.scrolled-down div.public-header-logo img {
        width: 203px;
    }

    div#public-header-container.scrolled-down div.header-notifications-container {
        top: 60px;
    }

    div#public-header-container.scrolled-down div.header-profile-container {
        top: 60px;
    }

    div#public-header-container.scrolled-down .public-header-dashboard-link {
        top: 25px;
    }

    div#public-header-container.scrolled-down .public-header-dashboard-link img {
        height:  30px;  
    }

    div#public-header-container.scrolled-down .public-header-dashboard-link-right {
        top: 30px;
    }

    div#public-header-container.scrolled-down div.public-header-left {
    }

    div#public-header-container.scrolled-down div.public-header-right {
    }

    div#public-header-container.scrolled-down div.public-header-button img {
        width:  40px;
        height: 40px;
    }

    div#public-header-container.scrolled-down div.public-header-button {
        vertical-align: top;
        width:  40px;
        height:  60px;
    }

    div#public-header-container.scrolled-down div#header-chats-count {
        top: 4px;
        right: 4px;
        width: 15px;
        height: 15px;
    }

    div#public-header-container.scrolled-down div.public-header-button img.public-header-avatar-empty {
        width: 26px;
        height: 26px;
        right:  7px;
        top:  8px;
    }

    div#public-header-container.scrolled-down div.public-header-button img.public-header-avatar {
        width: 26px;
        height:  26px;
        right:  7px;
        top: 7px;
        border-radius: 4px;
        border:  1px solid #ea4c5f;
    }

    div#public-header-menu-container.scrolled-down {
        top: 80px;
    }
    
    div#search-results-container.scrolled-down {
        top: 80px;
    }

    div.overlay-chat-container.scrolled-down {
        top: 80px;
    }
    
    div#overlay-persona-container.scrolled-down {
        top: 80px;
    }
    
    div#public-body.scrolled-down {
        margin-top: 80px;
    }

    div#public-body.scrolled-down #live-product-comments {
        top: 120px;
    }


    div#public-header-container.force-shrink {
        height: 80px;
    }

    div#public-header-container.force-shrink div.public-header {
        height: 80px;
    }

    div#public-header-container.force-shrink div.public-header-logo {
        bottom: 20px;
    }

    div#public-header-container.force-shrink div.public-header-logo img {
        width: 203px;
    }

    div#public-header-container.force-shrink div.header-notifications-container {
        top: 60px;
    }

    div#public-header-container.force-shrink div.header-profile-container {
        top: 60px;
    }

    div#public-header-container.force-shrink .public-header-dashboard-link {
        top: 20px;
    }

    div#public-header-container.force-shrink .public-header-dashboard-link-right {
        top: 20px;
    }

    div#public-header-container.force-shrink div.public-header-left {
    }

    div#public-header-container.force-shrink div.public-header-right {
    }

    div#public-header-container.force-shrink div.public-header-button img {
        width:  40px;
        height:  40px;
    }

    div#public-header-container.force-shrink div.public-header-button {
        vertical-align: top;
        width:  40px;
        height:  60px;
    }

    div#public-header-container.force-shrink div#header-chats-count {
        top: 4px;
        right: 4px;
        width: 15px;
        height: 15px;
    }

    div#public-header-container.force-shrink div.public-header-button img.public-header-avatar-empty {
        width: 26px;
        height:  26px;
        right:  7px;
        top:  8px;
    }

    div#public-header-container.force-shrink div.public-header-button img.public-header-avatar {
        width: 26px;
        height: 26px;
        right:  7px;
        top: 7px;
        border-radius: 4px;
        border:  1px solid #ea4c5f;
    }

    div#public-header-menu-container.force-shrink {
        top: 80px;
    }
    
    div#search-results-container.force-shrink {
        top: 80px;
    }

    div.overlay-chat-container.force-shrink {
        top: 80px;
    }
    
    div#overlay-persona-container.force-shrink {
        top: 80px;
    }
    
    div#public-body.force-shrink {
        margin-top: 80px;
    }

    div#public-body.force-shrink #live-product-comments {
        top: 120px;
    }

}