/* --------------------------------

Vertical navigation

-------------------------------- */
.cd-vertical-nav {
    position: fixed;
    z-index: 1;
    right: 5%;
    bottom: 30px;
    width: 90%;
    max-width: 400px;
    max-height: 90%;
    overflow-y: auto;
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    -ms-transform: scale(0);
    -o-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: right bottom;
    -moz-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    -o-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transition: -webkit-transform 0.2s;
    -moz-transition: -moz-transform 0.2s;
    transition: transform 0.2s;
    border-radius: 0.25em;
    background-color: rgba(234, 242, 227, 0.9);
}
.cd-vertical-nav a {
    display: block;
    padding: 1em;
    color: #3a2c41;
    font-weight: bold;
    border-bottom: 1px solid rgba(58, 44, 65, 0.1);
}
.cd-vertical-nav a.active {
    color: #c0a672;
}

.cd-vertical-nav {
    /* reset style */
    right: 0;
    top: 0;
    bottom: auto;
    height: 100vh;
    width: 80px;
    max-width: none;
    max-height: none;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: transparent;
    /* vertically align its content*/
    display: table;
}
.cd-vertical-nav::before {
    /* this is the navigation background */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    transition: transform 0.4s;
}
.cd-vertical-nav:hover::before{
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}
.cd-vertical-nav ul {
    /* vertically align <ul> inside <nav>*/
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}
.cd-vertical-nav a {
    position: relative;
    padding: 3em 0 0;
    margin: 1.4em auto;
    border-bottom: none;
    font-size: 1.2rem;
    color: #202B33;
}
.cd-vertical-nav a.active {
    color: #202B33;
}
.cd-vertical-nav a::before {
    /* used to create the filled circle and the background icon */
    content: '';
    position: absolute;
    left: 5%;
    /* Force Hardware Acceleration */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}
.cd-vertical-nav a::before {
    /* filled circle */
    top: 0;
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background: #202B33;
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
    -webkit-transition: -webkit-transform 0.4s, background-color 0.2s;
    -moz-transition: -moz-transform 0.4s, background-color 0.2s;
    transition: transform 0.4s, background-color 0.2s;
}
.cd-vertical-nav a::after {
    /* icon */
    opacity: 0;
    top: 8px;
    height: 16px;
    width: 16px;
    /*background: url(../img/cd-nav-icons.svg) no-repeat;*/
    -webkit-transform: translateX(-55%) scale(0);
    -moz-transform: translateX(-55%) scale(0);
    -ms-transform: translateX(-55%) scale(0);
    -o-transform: translateX(-55%) scale(0);
    transform: translateX(-55%) scale(0);
    -webkit-transition: -webkit-transform 0.4s 0s, opacity 0.1s 0.3s;
    -moz-transition: -moz-transform 0.4s 0s, opacity 0.1s 0.3s;
    transition: transform 0.4s 0s, opacity 0.1s 0.3s;
}
.cd-vertical-nav a.active::before{
    background-color: #6BBD49;
}
.cd-vertical-nav li:first-of-type a::after {
    /* change icon using image sprites */
    background-position: 0px -48px;
    /* fix bug with transitions - set scale(0.01) rather than scale(0) */
    -webkit-transform: translateX(-50%) translateY(4.5em) scale(0.01);
    -moz-transform: translateX(-50%) translateY(4.5em) scale(0.01);
    -ms-transform: translateX(-50%) translateY(4.5em) scale(0.01);
    -o-transform: translateX(-50%) translateY(4.5em) scale(0.01);
    transform: translateX(-50%) translateY(4.5em) scale(0.01);
}
.cd-vertical-nav li:first-of-type a::before {
    -webkit-transform: translateX(-50%) translateY(4.5em) scale(0.25);
    -moz-transform: translateX(-50%) translateY(4.5em) scale(0.25);
    -ms-transform: translateX(-50%) translateY(4.5em) scale(0.25);
    -o-transform: translateX(-50%) translateY(4.5em) scale(0.25);
    transform: translateX(-50%) translateY(4.5em) scale(0.25);
}
.cd-vertical-nav li:nth-of-type(2) a::after {
    background-position: 0px -32px;
    -webkit-transform: translateX(-50%) translateY(1.5em) scale(0.01);
    -moz-transform: translateX(-50%) translateY(1.5em) scale(0.01);
    -ms-transform: translateX(-50%) translateY(1.5em) scale(0.01);
    -o-transform: translateX(-50%) translateY(1.5em) scale(0.01);
    transform: translateX(-50%) translateY(1.5em) scale(0.01);
}
.cd-vertical-nav li:nth-of-type(2) a::before {
    -webkit-transform: translateX(-50%) translateY(1.5em) scale(0.25);
    -moz-transform: translateX(-50%) translateY(1.5em) scale(0.25);
    -ms-transform: translateX(-50%) translateY(1.5em) scale(0.25);
    -o-transform: translateX(-50%) translateY(1.5em) scale(0.25);
    transform: translateX(-50%) translateY(1.5em) scale(0.25);
}
.cd-vertical-nav li:nth-of-type(3) a::after {
    background-position: 0px -16px;
    -webkit-transform: translateX(-50%) translateY(-1.5em) scale(0.01);
    -moz-transform: translateX(-50%) translateY(-1.5em) scale(0.01);
    -ms-transform: translateX(-50%) translateY(-1.5em) scale(0.01);
    -o-transform: translateX(-50%) translateY(-1.5em) scale(0.01);
    transform: translateX(-50%) translateY(-1.5em) scale(0.01);
}
.cd-vertical-nav li:nth-of-type(3) a::before {
    -webkit-transform: translateX(-50%) translateY(-1.5em) scale(0.25);
    -moz-transform: translateX(-50%) translateY(-1.5em) scale(0.25);
    -ms-transform: translateX(-50%) translateY(-1.5em) scale(0.25);
    -o-transform: translateX(-50%) translateY(-1.5em) scale(0.25);
    transform: translateX(-50%) translateY(-1.5em) scale(0.25);
}
.cd-vertical-nav li:nth-of-type(4) a::after {
    background-position: 0px 0px;
    -webkit-transform: translateX(-50%) translateY(-4.5em) scale(0.01);
    -moz-transform: translateX(-50%) translateY(-4.5em) scale(0.01);
    -ms-transform: translateX(-50%) translateY(-4.5em) scale(0.01);
    -o-transform: translateX(-50%) translateY(-4.5em) scale(0.01);
    transform: translateX(-50%) translateY(-4.5em) scale(0.01);
}
.cd-vertical-nav li:nth-of-type(4) a::before {
    -webkit-transform: translateX(-50%) translateY(-4.5em) scale(0.25);
    -moz-transform: translateX(-50%) translateY(-4.5em) scale(0.25);
    -ms-transform: translateX(-50%) translateY(-4.5em) scale(0.25);
    -o-transform: translateX(-50%) translateY(-4.5em) scale(0.25);
    transform: translateX(-50%) translateY(-4.5em) scale(0.25);
}
.cd-vertical-nav .label {
    display: block;
    font-family : Verdana;
    font-size: 11px;
    color : #FFFFFF;
    /* Force Hardware Acceleration */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    transition: transform 0.4s;
}

.no-touch .cd-vertical-nav:hover a::before{
    -webkit-transform: translateX(-50%) scale(1);
    -moz-transform: translateX(-50%) scale(1);
    -ms-transform: translateX(-50%) scale(1);
    -o-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
    /* set a rotation to fix bug on Firefox - http://gielberkers.com/how-to-fix-shaking-css-transitions-in-firefox/ */
    -moz-transform: translateX(-50%) scale(1) rotate(0.02deg);
}
.no-touch .cd-vertical-nav:hover a::after  {
    opacity: 1;
    -webkit-transition: -webkit-transform 0.4s, opacity 0s;
    -moz-transition: -moz-transform 0.4s, opacity 0s;
    transition: transform 0.4s, opacity 0s;
}
.no-touch .cd-vertical-nav:hover .label {
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

/* --------------------------------

Content Sections - basic style

-------------------------------- */
.cd-section {
    /* vertically align its content*/
    /*display: table;*/
    top: 45px;
    width: 100%;
    height: 100vh;
    background: /*#50514F*//*#5F5F5F*//*#3E3E42*//*#202B33*/#E5E9EC;
}
.cd-section:nth-of-type(even) {
    background-color: #E5E9EC;
}
.cd-scroll-down {
    position: absolute;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 20px;
    width: 44px;
    height: 44px;
    /*background: url(../img/cd-arrow-bottom.svg) no-repeat center center;*/
}