/* Concept for a simple animated menu 

   ALERT: MESSY CODE!!!
*/

@import url(https://fonts.googleapis.com/css?family=Roboto:400,700);
/* Generic */

html, body, section {
	height: 100%;
	width: 100%;
	margin: 0;
}

body {
	font-size: 100%;		/* 1em = .ca 10px */
	color: #fffff0;
}

section {
	position: relative;
	display: table;
	font-family: 'Roboto', sans-serif;
}


.centered {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

#home {
	min-height: 100%;
	background-color: #ffc707;
	font-size: 1.2em;				/* 19px .ca */
	text-transform: uppercase;
}
.switch-group {
	width: 100%;
}
.switch-group p, .switch-group div {
	float:  left;
	width: 50%;
	height: 3em;
	margin: 0;
	padding: 0.7em;
	box-sizing: border-box;
}
.switch-group p {text-align: right; padding-top: 0.8em; padding-right: 1em;}
.switch-group div {padding-left: 0.7em;}

.cmd-toggle {
	position: absolute;
	visibility: hidden;
	margin-left: -9999px;
}

input.cmd-toggle + label {
	display: block;
	position: relative;
	cursor: pointer;
	outline: none;
	user-select: none;
	padding: 2px;
	width: 2.9em;
	height: 1.3em;
	background-color: #ddd;
	border-radius: 1.3em;
}

input.cmd-toggle + label:before,
input.cmd-toggle + label:after {
	display: block;
	position: absolute;
	content: "";
}

input.cmd-toggle + label:before {
	top: 2px;
	left: 2px;
	bottom: 2px;
	right: 2px;
	background-color: #fffff0;
	border-radius: 25px;
	transition: background 0.4s;
}

input.cmd-toggle + label:after {
	top: 4px;
	left: 4px;
	bottom: 4px;
	width: 21px;
	background-color: #ddd;
	border-radius: 21px;
	transition: margin 0.4s, background 0.4s;
}

input.cmd-toggle:checked + label {
	background-color: #8ce196;
}

input.cmd-toggle:checked + label:after {
	background-color: #8ce196;
	margin-left: 31px;
}
#align-toggle.cmd-toggle + label,
#align-toggle.cmd-toggle + label:after {
	background-color: #8ce196; /* #5bc3d8; */
}

#about {background-color: #f2092c;}
#contact {background-color: #40c4ff;}

#about > div {
	width: 100%;
	height: 100%;
}

.contacts {
	padding: 0;
	margin: 0;
	list-style: none;
	font-size: 2.2em;
}
	.contacts li {display: inline; margin: 0.25em;}
	.contacts a {text-decoration: none; color: inherit;}
		.contacts a:hover {color: #666;}

/* Bomb-Menu Size and Positioning */

.bomb-menu {
  font-size: 0.8em;
  /* change font-size here to scale menu accordingly */
  
  position: fixed;
  /* menu position */
  
  top: 2.2em;
  width: 5.2em;
  /* menu toggle button size */
  
  height: 5.2em;
}

.right-menu {
  right: 2.2em;
}

.left-menu {
  left: 2.2em;
}

.bomb-menu .menu-toggle-btn,
.bomb-menu .menuIcon,
.bomb-menu .menu-item {
  position: absolute;
  top: 0;
}

.right-menu .menu-toggle-btn,
.right-menu .menuIcon,
.right-menu .menu-item {
  right: 0;
}

.left-menu .menu-toggle-btn,
.left-menu .menuIcon,
.left-menu .menu-item {
  left: 0;
}

.bomb-menu .menu-toggle-btn,
.bomb-menu .menuIcon {
  width: 100%;
  height: 100%;
}

.bomb-menu .menu-item {
  width: 5.0em;
  /* inner elements size */
  
  height: 5.0em;
}

.bomb-menu .menu-item i {
  font-size: 2em;
}
/* Bomb-Menu Style */

.bomb-menu,
.bomb-menu .menu-toggle-btn,
.bomb-menu .menu-icon,
.bomb-menu .menu-item,
.bomb-menu a {
  border-radius: 50%;
}

.bomb-menu {
  cursor: pointer;
  text-align: center;
  color: rgb(253,193,30);;
  z-index: 100;
}

.menu-toggle-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: 0;
  padding: 0;
  cursor: inherit;
  background-color: rgb(253,193,30);
  z-index: 101;
}

.menu-toggle-btn:focus {
  outline: none;
}

.menu-icon {
  pointer-events: none;
}

.bomb-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  visibility: hidden;
}

.active + ul {
  visibility: visible;
}

.bomb-menu .menu-item {
  background-color: rgb(21,66,124);
  display: table;
}

.bomb-menu a {
  display: table-cell;
  vertical-align: middle;  /* vertical centering */
  color: inherit;
}
/*********************** ANIMATIONS ***********************/
/* Menu Icon Animation - Works for both right-aligned and left-aligned menu */

.active {
  animation: shake 600ms ease-in-out forwards;
}

.line {
  transform: translateY(0px) rotate(0deg);
  transition: transform 200ms linear;
}
/* transform-origin fix for Firefox v42 */
.line1 {
  transform-origin: 26px 18px;
}
.line2 {
  transform-origin: 26px 26px;
}
.line3 {
  transform-origin: 26px 34px;
}

.active .line1 {
  transform: translateY(8px) rotate(45deg);
}

.active .line2 {
  transform: rotate(-45deg);
}

.active .line3 {
  transform: translateY(-8px) rotate(-45deg);
}

/* Menu Items Animation - right-aligned menu */
.right-menu .active + ul > .mi-1 {
  animation: rExplode1 80ms ease-out 530ms forwards;
}

.right-menu .active + ul > .mi-2 {
  animation: rExplode2 80ms ease-out 530ms forwards;
}

.right-menu .active + ul > .mi-3 {
  animation: rExplode3 80ms ease-out 530ms forwards;
}

/* Menu Items Animation - left-aligned menu */
.left-menu .active + ul > .mi-1 {
  animation: lExplode1 80ms ease-out 530ms forwards;
}

.left-menu .active + ul > .mi-2 {
  animation: lExplode2 80ms ease-out 530ms forwards;
}

.left-menu .active + ul > .mi-3 {
  animation: lExplode3 80ms ease-out 530ms forwards;
}

@keyframes shake {
  0% {
    transform: translateX(5px);
  }
  4% {
    transform: translateX(0px);
  }
  8% {
   transform: translateX(-5px);
  }
  12% {
    transform: translateX(0px);
  }
  15% {
   transform: translateX(5px);
  }
  18% {
   transform: translateX(0px);
  }
  21% {
    transform: translateX(-5px);
  }
  24% {
    transform: translateX(0px);
  }
  28% {
    transform: translateX(5px);
  }
  32% {
    transform: translateX(0px);
  }
  36% {
    transform: translateX(-5px);
  }
  40% {
    transform: translateX(0px);
  }
  44% {
    transform: translateX(5px);
  }
  48% {
    transform: translateX(0px);
  }
  52% {
    transform: translateX(-5px);
  }
  56% {
    transform: translateX(0px) scale(1);
  }
  85% {
    transform: scale(0.7);
  }
  94% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}

/* right-aligned menu only */
@keyframes rExplode1 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translateX(-160%);
  }
  100% {
    transform: translateX(-140%);
  }
}

@keyframes rExplode2 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translate(-126%, 126%);
  }
  100% {
    transform: translate(-106%, 106%);
  }
}

@keyframes rExplode3 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translateY(160%);
  }
  100% {
    transform: translateY(140%);
  }
}

/* left-aligned menu: just change translateX sign */
@keyframes lExplode1 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translateX(160%);
  }
  100% {
    transform: translateX(140%);
  }
}

@keyframes lExplode2 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translate(126%, 126%);
  }
  100% {
    transform: translate(106%, 106%);
  }
}

@keyframes lExplode3 {
  0% {
    transform: translate(0px, 0px);
  }
  70% {
    transform: translateY(160%);
  }
  100% {
   transform: translateY(140%);
  }
}