body { 
  -webkit-animation: bugfix infinite 1s; 
}

@-webkit-keyframes bugfix { 
  from {padding:0;} 
  to {padding:0;} 
}


div#navtoggler{  /* Sample burger icon to toggle menu state */
  z-index: 1100;
  display: block;
  position: absolute;
  font-size: 6px;
  /* change font size to change label dimensions. Leave width/height below alone */
  width: 8em;
  height: 3.5em;
  top: 50%;
  left: 50%;
  transform: translateX(-50%);
  /* text-indent: -1000px; */
  /* border color */
  border-width: 2px 0;
  cursor: pointer;
	-webkit-transform:translate(0,-50%);
	transform:translate(0,-50%);
}
@media screen and (max-width: 1680px) {
	div#navtoggler{ left:75px; }
}
@media screen and (max-width: 1366px) {
	div#navtoggler{ left:45px; }
}
@media screen and (max-width: 1200px) {
	div#navtoggler{ left:30px; }
}
@media screen and (max-width: 991px) {
	div#navtoggler{ left:15px; width: 4em; }
}

div#navtoggler::before{ /* Sample burger icon */
  /* inner strip inside label */
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  right: 0;
  		-webkit-transform:translateY(-50%);
	 transform:translateY(-50%);	
}

nav#ddfullscreenmenu{ /* Full screen nav menu */
  width: 100%;
  height: 100%;
  visibility: hidden;
  -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  -webkit-transform: scale(0.9);  /* initially scale down nav size */
  transform: scale(0.9);
  position: fixed;
  top: 0;
  left: 0;
	 z-index: 1000;
  opacity: 0;
  overflow: hidden;
	text-align: center;
  -webkit-transition: visibility 0s 0.5s, opacity 0.5s, -webkit-transform 0.5s;
  transition: visibility 0s 0.5s, opacity 0.5s, transform 0.5s;
  display:none;
}

nav#ddfullscreenmenu.openmenu{ /* open menu class */
	visibility: visible;
	-webkit-transform: scale(1);
	transform: scale(1);
	opacity: 1;
  -webkit-transition-delay: 0s;
  -transition-delay: 0s;
  display: flex;
}

nav#ddfullscreenmenu div#closex{ /* Large x close button inside nav */
  width: 14px;
  height: 14px;
	overflow: hidden;
  display: block;
  position: absolute;
  cursor: pointer;
	text-indent: -1000px;
  z-index: 10;
  top: 20px;
  right: 20px;
}

nav#ddfullscreenmenu div#closex::before, nav div#closex::after{ /* render large cross inside close button */
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  margin-top: -3px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

nav#ddfullscreenmenu div#closex::after{ /* render large cross inside close button */
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}


div#ulwrapper{
  position: relative;
  width: 100%; /* menu UL width */
  margin: auto;
  -webkit-perspective: 500px;
  perspective: 500px;
  -webkit-perspective-origin: 50%;
  perspective-origin: 50%;
}

nav#ddfullscreenmenu ul{
  list-style: none;
  margin: 0;
  padding:0 10px;
  position: relative;
  width: 100%;
  max-height: 100%;
	font-size:45px;
	line-height:1;
	-webkit-transition: all 0.5s .1s;
	transition: all 0.5s .1s;
}

nav#ddfullscreenmenu ul { font-size:1.1rem; }

nav#ddfullscreenmenu ul li {
  margin-bottom: 0;
  position: relative;
  display: block;
}
nav#ddfullscreenmenu ul.submenu li {
	margin-bottom:0;
}
@media screen and (max-width: 1366px) {
	nav#ddfullscreenmenu ul li { margin-bottom: 0; }
	nav#ddfullscreenmenu ul.submenu li  { margin-bottom:0; }
}


nav#ddfullscreenmenu ul li.header > a:before{ /* right arrow inside header LIs */
  content: '';
  position: absolute;
  right: -30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (max-width: 480px) {
	nav#ddfullscreenmenu ul li.header > a:before { right: -30px; }
}

nav#ddfullscreenmenu ul.submenu{ /* style for non "first page" ULs */
  position: absolute;
  top: 0;
  left: 0;
		opacity: 0;
  pointer-events: none;
  transform: translate3d(100%, 0, 0);
}

nav#ddfullscreenmenu ul li a,
nav#ddfullscreenmenu ul li.breadcrumb {
	position:relative;
	text-decoration: none;
  margin-bottom:5px;
  padding: 5px 0;
  display: inline-block;
  border-radius: 0;
  cursor: pointer;
}
@media screen and (max-width: 1440px) {
	nav#ddfullscreenmenu ul li a, nav#ddfullscreenmenu ul li.breadcrumb { padding: 4px 0; }
}
@media screen and (max-width: 1200px) {
	nav#ddfullscreenmenu ul li a, nav#ddfullscreenmenu ul li.breadcrumb { padding: 3px 0; }
}

nav#ddfullscreenmenu ul li.breadcrumb{
  position: relative;
	background:transparent;
}

nav#ddfullscreenmenu ul li.breadcrumb:after{ /* back arrow inside breadcrumb LI */
  content: '';
  position: absolute;
  right: -110px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 480px) {
	nav#ddfullscreenmenu ul li.breadcrumb:after { right: -60px; }
}

nav#ddfullscreenmenu ul li a:hover {
  background: transparent;
}

nav#ddfullscreenmenu ul li a:after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 2px;
	content: ""; 
	opacity: 0;
	-webkit-transform:translateX(-50%);
	transform:translateX(-50%);
	-webkit-transition:all 300ms linear;
	-moz-transition:all 300ms linear;
	-o-transition:all 300ms linear;
	-ms-transition:all 300ms linear;
	transition:all 300ms linear;
}

nav#ddfullscreenmenu ul li a:hover:after {
	width:100%;
	opacity:1;
}

nav#ddfullscreenmenu ul.hidemenu{
  transform: rotateY(30deg) translateZ(-5px) !important;
  opacity: 0;
  pointer-events: none;
}

nav#ddfullscreenmenu ul.showmenu{
  transform: translate3d(0,0,0) !important;
  opacity: 1 !important;
  pointer-events: auto;
}