@charset "UTF-8";
/* CSS Document */

/* -------------------------------- 

Stretchy Nav style - common to:
 - basic navigation
 - add-content navigation
 - edit-content navigation

-------------------------------- */
.cd-stretchy-nav {
	position: fixed;
	z-index: 2;
	top: 40px;
	right: 5%;
	pointer-events: none;
}
.cd-stretchy-nav .stretchy-nav-bg {
	/* this is the stretching navigation background */
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background: #F0EEEF;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
	-webkit-transition: height 0.2s, box-shadow 0.2s;
	-moz-transition: height 0.2s, box-shadow 0.2s;
	transition: height 0.2s, box-shadow 0.2s;
}
.cd-stretchy-nav.nav-is-visible {
	pointer-events: auto;
}
.cd-stretchy-nav.nav-is-visible .stretchy-nav-bg {
	height: 100%;
	box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
}
.cd-nav-trigger {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	height: 60px;
	width: 60px;
	border-radius: 50%;
	/* replace text with image */
	overflow: hidden;
	white-space: nowrap;
	color: transparent;
	pointer-events: auto;
}
.cd-nav-trigger span, .cd-nav-trigger span::after, .cd-nav-trigger span::before {
	/* this is the hamburger icon */
	position: absolute;
	width: 16px;
	height: 2px;
	background-color: #343434;
}
.cd-nav-trigger span {
	/* middle line of the hamburger icon */
	left: 50%;
	top: 50%;
	bottom: auto;
	right: auto;
	-webkit-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-ms-transform: translateX(-50%) translateY(-50%);
	-o-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	-webkit-transition: background-color 0.2s;
	-moz-transition: background-color 0.2s;
	transition: background-color 0.2s;
}
.cd-nav-trigger span::after, .cd-nav-trigger span::before {
	/* top and bottom lines of the hamburger icon */
	content: '';
	top: 0;
	left: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: -webkit-transform 0.2s;
	-moz-transition: -moz-transform 0.2s;
	transition: transform 0.2s;
}
.cd-nav-trigger span::before {
	-webkit-transform: translateY(-6px);
	-moz-transform: translateY(-6px);
	-ms-transform: translateY(-6px);
	-o-transform: translateY(-6px);
	transform: translateY(-6px);
}
.cd-nav-trigger span::after {
	-webkit-transform: translateY(6px);
	-moz-transform: translateY(6px);
	-ms-transform: translateY(6px);
	-o-transform: translateY(6px);
	transform: translateY(6px);
}
.no-touch .cd-nav-trigger:hover ~ .stretchy-nav-bg {
	box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
}
.nav-is-visible .cd-nav-trigger span {
	background-color: transparent;
}
.nav-is-visible .cd-nav-trigger span::before {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.nav-is-visible .cd-nav-trigger span::after {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cd-stretchy-nav ul {
	position: relative;
	z-index: 2;
	padding: 60px 0 0;
	visibility: hidden;
	-webkit-transition: visibility 0.3s;
	-moz-transition: visibility 0.3s;
	transition: visibility 0.3s;
	text-align: right;
}
.cd-stretchy-nav ul a {
	position: relative;
	display: block;
	height: 50px;
	line-height: 50px;
	padding: 0 calc(1em + 60px) 0 1em;
	color: rgba(255, 255, 255, 0.7);
	font-size: 1.4rem;
	-webkit-transition: color 0.2s;
	-moz-transition: color 0.2s;
	transition: color 0.2s;
}
.cd-stretchy-nav ul a::after {
	/* navigation item icons */
	content: '';
	position: absolute;
	height: 25px;
	width: 25px;
	right: 16px;
	top: 25px;
	-webkit-transform: translateY(-50%) scale(0);
	-moz-transform: translateY(-50%) scale(0);
	-ms-transform: translateY(-50%) scale(0);
	-o-transform: translateY(-50%) scale(0);
	transform: translateY(-50%) scale(0);
	opacity: .7;
	background: url("../theme/nav_icon.svg") no-repeat 0 0;
	background-size: cover;
}
.cd-stretchy-nav ul a::before {
	/* line visible next to the active navigation item */
	content: '';
	position: absolute;
	width: 3px;
	height: 16px;
	top: 50%;
	right: 60px;
	-webkit-transform: translateX(3px) translateY(-50%) scaleY(0);
	-moz-transform: translateX(3px) translateY(-50%) scaleY(0);
	-ms-transform: translateX(3px) translateY(-50%) scaleY(0);
	-o-transform: translateX(3px) translateY(-50%) scaleY(0);
	transform: translateX(3px) translateY(-50%) scaleY(0);
	background-color: #E90E49;
}
.cd-stretchy-nav ul li:first-of-type a::after {
	/* change custom icon using image sprites */
	background-position: 0px 0px;
}
.cd-stretchy-nav ul li:nth-of-type(2) a::after {
	background-position: 0px -25px;
}
.cd-stretchy-nav ul li:nth-of-type(3) a::after {
	background-position: 0px -55px;
}
.cd-stretchy-nav ul li:nth-of-type(4) a::after {
	background-position: 0px -80px;
}
.cd-stretchy-nav ul span {
	/* navigation item labels */
	display: block;
	opacity: 0;
	-webkit-transform: translateX(-25px);
	-moz-transform: translateX(-25px);
	-ms-transform: translateX(-25px);
	-o-transform: translateX(-25px);
	transform: translateX(-25px);
}

.cd-stretchy-nav.nav-is-visible ul {
	visibility: visible;
}
.cd-stretchy-nav.nav-is-visible ul a::after {
	/* navigation item icons */
	-webkit-transform: translateY(-50%) scale(1);
	-moz-transform: translateY(-50%) scale(1);
	-ms-transform: translateY(-50%) scale(1);
	-o-transform: translateY(-50%) scale(1);
	transform: translateY(-50%) scale(1);
	-webkit-animation: scaleIn 0.15s backwards;
	-moz-animation: scaleIn 0.15s backwards;
	animation: scaleIn 0.15s backwards;
	-webkit-transition: opacity 0.2s;
	-moz-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
.cd-stretchy-nav.nav-is-visible ul a.active {
	color: #FFFFFF;
}
.cd-stretchy-nav.nav-is-visible ul a.active::after {
	opacity: 1;
}
.cd-stretchy-nav.nav-is-visible ul a.active::before {
	-webkit-transform: translateX(3px) translateY(-50%) scaleY(1);
	-moz-transform: translateX(3px) translateY(-50%) scaleY(1);
	-ms-transform: translateX(3px) translateY(-50%) scaleY(1);
	-o-transform: translateX(3px) translateY(-50%) scaleY(1);
	transform: translateX(3px) translateY(-50%) scaleY(1);
	-webkit-transition: -webkit-transform 0.15s 0.3s;
	-moz-transition: -moz-transform 0.15s 0.3s;
	transition: transform 0.15s 0.3s;
}
.cd-stretchy-nav.nav-is-visible ul span {
	opacity: 1;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
	-webkit-animation: slideIn 0.15s backwards;
	-moz-animation: slideIn 0.15s backwards;
	animation: slideIn 0.15s backwards;
	-webkit-transition: -webkit-transform 0.2s;
	-moz-transition: -moz-transform 0.2s;
	transition: transform 0.2s;
}
.no-touch .cd-stretchy-nav.nav-is-visible ul a:hover {
	color: #ffffff;
}
.no-touch .cd-stretchy-nav.nav-is-visible ul a:hover::after {
	opacity: 1;
}
.no-touch .cd-stretchy-nav.nav-is-visible ul a:hover span {
  -webkit-transform: translateX(-5px);
  -moz-transform: translateX(-5px);
  -ms-transform: translateX(-5px);
  -o-transform: translateX(-5px);
  transform: translateX(-5px);
}
.cd-stretchy-nav.nav-is-visible ul li:first-of-type a::after,
.cd-stretchy-nav.nav-is-visible ul li:first-of-type span {
  -webkit-animation-delay: 0.05s;
  -moz-animation-delay: 0.05s;
  animation-delay: 0.05s;
}
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(2) a::after,
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(2) span {
  -webkit-animation-delay: 0.1s;
  -moz-animation-delay: 0.1s;
  animation-delay: 0.1s;
}
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(3) a::after,
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(3) span {
  -webkit-animation-delay: 0.15s;
  -moz-animation-delay: 0.15s;
  animation-delay: 0.15s;
}
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(4) a::after,
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(4) span {
  -webkit-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  animation-delay: 0.2s;
}
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(5) a::after,
.cd-stretchy-nav.nav-is-visible ul li:nth-of-type(5) span {
  -webkit-animation-delay: 0.25s;
  -moz-animation-delay: 0.25s;
  animation-delay: 0.25s;
}




/* -------------------------------- 

keyframes

-------------------------------- */
@-webkit-keyframes scaleIn {
  from {
    -webkit-transform: translateY(-50%) scale(0);
  }
  to {
    -webkit-transform: translateY(-50%) scale(1);
  }
}
@-moz-keyframes scaleIn {
  from {
    -moz-transform: translateY(-50%) scale(0);
  }
  to {
    -moz-transform: translateY(-50%) scale(1);
  }
}
@keyframes scaleIn {
  from {
    -webkit-transform: translateY(-50%) scale(0);
    -moz-transform: translateY(-50%) scale(0);
    -ms-transform: translateY(-50%) scale(0);
    -o-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
  }
  to {
    -webkit-transform: translateY(-50%) scale(1);
    -moz-transform: translateY(-50%) scale(1);
    -ms-transform: translateY(-50%) scale(1);
    -o-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1);
  }
}
@-webkit-keyframes slideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@-moz-keyframes slideIn {
  from {
    opacity: 0;
    -moz-transform: translateX(-25px);
  }
  to {
    opacity: 1;
    -moz-transform: translateX(0);
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-25px);
    -moz-transform: translateX(-25px);
    -ms-transform: translateX(-25px);
    -o-transform: translateX(-25px);
    transform: translateX(-25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}
