/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
}
body {
}

img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#FF41AD;
	text-decoration:none;
	transition: color 0.1s ease-in;
}
a:hover {
	color:#a938f0;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}



/* ==========================================================================
   FONTS
   ========================================================================== */

 @font-face {
     font-family: 'Mortend Light';
     src: url('../fonts/Mortend-Light.eot');
     src: url('../fonts/Mortend-Light.eot?#iefix') format('embedded-opentype'),
          url('../fonts/Mortend-Light.woff2') format('woff2'),
          url('../fonts/Mortend-Light.woff') format('woff'),
          url('../fonts/Mortend-Light.ttf')  format('truetype');
 }
/* @font-face {
     font-family: 'Mortend';
     src: url('../fonts/Mortend-Regular.eot');
     src: url('../fonts/Mortend-Regular.eot?#iefix') format('embedded-opentype'),
          url('../fonts/Mortend-Regular.woff2') format('woff2'),
          url('../fonts/Mortend-Regular.woff') format('woff'),
          url('../fonts/Mortend-Regular.ttf')  format('truetype');
 }
 @font-face {
     font-family: 'Mortend Bold';
     src: url('../fonts/Mortend-Bold.eot');
     src: url('../fonts/Mortend-Bold.eot?#iefix') format('embedded-opentype'),
          url('../fonts/Mortend-Bold.woff2') format('woff2'),
          url('../fonts/Mortend-Bold.woff') format('woff'),
          url('../fonts/Mortend-Bold.ttf')  format('truetype');
 } */
 @font-face {
     font-family: 'Mortend ExtBd';
     src: url('../fonts/Mortend-Extrabold.eot');
     src: url('../fonts/Mortend-Extrabold.eot?#iefix') format('embedded-opentype'),
          url('../fonts/Mortend-Extrabold.woff2') format('woff2'),
          url('../fonts/Mortend-Extrabold.woff') format('woff'),
          url('../fonts/Mortend-Extrabold.ttf')  format('truetype');
 }
@font-face {
    font-family: 'Mortend ExtBd Outline';
    src: url('../fonts/Mortend-Extrabold-Outline.eot');
    src: url('../fonts/Mortend-Extrabold-Outline.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Mortend-Extrabold-Outline.woff2') format('woff2'),
         url('../fonts/Mortend-Extrabold-Outline.woff') format('woff'),
         url('../fonts/Mortend-Extrabold-Outline.ttf')  format('truetype');
}



/* ==========================================================================
   Author's custom styles
   ========================================================================== */


	 body{
	   background-color: #0C0B1A ;
	   color:#FFF ;
		 font-family: 'Libre Franklin', sans-serif;
		 font-size: 18px;
	   font-weight: 400 ;
	   line-height: 1.7em ;
	 }

	 h1, h2, h3, h4, h5{
	   color:#FFF ;
	   font-family: 'Mortend ExtBd', sans-serif ;
	   font-weight: 800 ;
		 margin-top:0em;
		 margin-bottom:0em;
		 text-align: center;
	   line-height: 1.2em ;
		 text-transform: uppercase;
	 }
 	 h1 small, h2 small, h3 small, h4 small, h5 small{
	 font-family: 'Mortend ExtBd Outline', sans-serif ;
 }

	 h1, h1 small {
		 font-size: 40px;
	 }
	 h2, h2 small {
		 font-size: 44px;
	 }
	 h2.sub-title, h2.sub-title small{
			 font-size: 36px;
	 }
	 h2.sub-title{
		 margin-top: 80px;
	 }
	 h3 {
		 font-size: 28px;
	   font-family: 'Mortend Light', sans-serif ;
		 margin-top:5px;
	 }
	 h4, h4 small {
		 font-size: 18px;
	 }
	 h5 {
		 font-size: 12px;
		 letter-spacing: 1px;
	   font-family: 'Mortend Light', sans-serif ;
		 margin-top:5px;
	 }
	 p {
		 margin:1.6em 0 1.6em 0;
	 }
	  p.title{
			margin-top:0.6em;
		}
	 strong{
	   font-weight: 900 !important;
	 }


header{
	padding:10px 10px;
	width: 100%;
	text-align: left;
	position: fixed;
	z-index: 100;
	background-color: #0C0B1A;
}
header #logo{
	display: inline-block;
	width:300px;
		font-size: 20px;
		font-family: 'Mortend ExtBd', sans-serif ;
		color:#fff;
		display: inline-block;
		margin: 0px 5px;
		padding:0px;
		line-height: 1em;
		text-transform: uppercase;
}
header #header-nav{
	display: inline-block;
}
header #header-nav ul{
	padding: 0 0 0 10px;
	margin:0;
	list-style: none;
	display: inline-block;
}
header #header-nav ul li{
	padding: 0;
	margin: 0px 7px;
	list-style: none;
	display: inline-block;
}
header #header-nav ul li a{
	font-size: 18px;
	font-family: 'Mortend ExtBd', sans-serif ;
	color:#fff;
	display: inline-block;
	padding:0px;
	line-height: 1em;
	text-transform: uppercase;
}
header #header-nav a.selected{
	border-bottom: 4px solid;
  border-image-slice: 1;
  border-width: 4px;
	border-image-source: linear-gradient(to left, #56ccff,#FF41AD );
/* border-image-source: linear-gradient(to left, #fccf1e, #51e77d, #56ccff,#FF41AD );*/
}

/* wrapper */
.wrapper {
	max-width:1250px;
	width:90%;
	margin:0 auto;
	position:relative;
}
.wrapper-narrow {
		max-width:770px;
}
.flex{
	display:flex;
  flex-flow: row wrap;
}
.flex-align-center{
	align-items: center;
}

.section-item{
	text-align: center;
	padding: 80px 0 80px 0;
	margin:0px auto 0;
}
.section-item p{
		text-align: left;
}
#header-space{
	height:63px;
}


#portal-hero{
	display: block;
	position: relative;
	background-image: url(../images/portal-hero.jpg);
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: repeat-x;
	width: 100%;
	height: 800px;
}


#portal-hero a.scroll-link{
	position: absolute;
	display: block;
	text-align: center;
	color: #fff;
	font-size: 10px;
	letter-spacing:1px;
	font-family: 'Mortend Light', sans-serif ;
	text-transform: uppercase;
	bottom:30px;
  left: 50%;
  transform: translate(-50%, 0%);
	margin:auto;
	width: 75px;
	height: 75px;
	background-image: url(../images/scroll-arrow.png);
	background-size: 75px 54px;
	background-position: 50% 100%;
	background-repeat: no-repeat;

	animation: objecthover 2s ease-in-out infinite;
}

@keyframes objecthover {
	0% {
		transform: translate(-50%, -10px);
	}
	50% {
		transform: translate(-50%, 10px);
	}
	100% {
		transform: translate(-50%, -10px);
	}
}

#hero{
	display: block;
	position: relative;
	background-image: url(../images/egodzilla-hero.jpg);
	background-size: 1850px 550px;
	background-position: 50% 50%;
	background-repeat: repeat-x;
	width: 100%;
	height: 550px;
}
#hero h1{
	position: absolute;
	bottom:90px;
	width: 100%;
 	font-family: 'Mortend ExtBd Outline', sans-serif ;
	text-shadow:
	 -1px -1px 3px rgba(255, 255, 255, 0.2),
		1px -1px 3px rgba(255, 255, 255, 0.2),
		-1px 1px 3px rgba(255, 255, 255, 0.2),
		 1px 1px 3px rgba(255, 255, 255, 0.2);
}
#hero h1 strong{
	font-family: 'Mortend ExtBd', sans-serif ;
}



#hero-portalmonkeys{
	margin-top:-30px;
	padding-bottom: 50px;
}
#hero-portalmonkeys .cta-container{
	text-align: center;
	margin-top:40px;
}

#the-story{
	background-image: url(../images/the-story-bg.jpg);
	background-size: cover;
	background-position: 50% 50%;
}
#the-story h2, #the-story h3{
	text-shadow:
	 -1px -1px 3px rgba(255, 255, 255, 0.2),
		1px -1px 3px rgba(255, 255, 255, 0.2),
		-1px 1px 3px rgba(255, 255, 255, 0.2),
		 1px 1px 3px rgba(255, 255, 255, 0.2);
}


#irl-challenges{
	background-image: url(../images/the-story-bg.jpg);
	background-size: cover;
	background-position: 50% 50%;
}
#irl-challenges h2, #irl-challenges h3{
	text-shadow:
	 -1px -1px 3px rgba(255, 255, 255, 0.2),
		1px -1px 3px rgba(255, 255, 255, 0.2),
		-1px 1px 3px rgba(255, 255, 255, 0.2),
		 1px 1px 3px rgba(255, 255, 255, 0.2);
}
#irl-challenges p{
	text-align: center;
}


#grow{
  background: linear-gradient(0deg, #4DCDE9 0%, #906DF4 100%) ;
	padding: 40px 0
}
#grow h2, #grow h3{
	text-align: left;
}

#grow-sim{
	width:100%;
	max-width:380px;
	margin:auto;
	position: relative;
	overflow: hidden;
}
.grow-sim-effect{
	position: absolute;
	top:0;
	left: 0;
	z-index: 10;
	border-radius: 20px;
}

#grow-sim-controls{
	position: relative;
	text-align: center;
	margin-top: -15px;
	z-index: 20;
}
#grow-sim-controls .mb-button{
	margin: 5px 5px;
}
#grow-sim-message{
	display: none;
	color:#0C0B1A;
	line-height: 1em;
	text-align: center;
	font-size: 0.9em;
	margin-top: -15px;
	background-color: rgba(255,255,255,0.6);
	padding: 12px 5px 10px 5px;
	border-radius: 10px;
	margin-bottom: 16px;
	z-index: 100;

}

#grow-sim-control-start-over{
	display: inline-block;
	margin-top: 10px;
	font-family: 'Mortend Light', sans-serif ;
	text-transform: uppercase;
}


#grow-sim-controls button:disabled,
#grow-sim-controls button[disabled]{
	background:#888;
	color: #bbb !important;
}

#magic-bananas{
	background: linear-gradient(0deg, #F6E547 0%, #6DF493 100%) ;
	color:#0C0B1A;
}
#magic-bananas h2, #magic-bananas h3, #magic-bananas p{
	color:#0C0B1A;
	text-align: center;
}
#magic-bananas-container{
	width: 100%;
	height: 380px;
	background-image: url(../images/magic-bananas-02.svg);
	background-size: 1500px 380px;
	background-position: 50% 50%;
	background-repeat: repeat-x;
}




#collective-creatives{
	background: linear-gradient(0deg, #E98F4D 0%, #F46DEF 100%) ;
}
#collective-creatives-examples img{
	border-radius: 100%;
	border:3px solid #FFF;
}
#collective-creatives-examples .info{
	font-size: 20px;
	font-family: 'Mortend ExtBd', sans-serif ;
	text-align: center;
	text-transform: uppercase;
	margin: 10px 0 20px;
}

#the-team{
	background: linear-gradient(0deg, #6DF493 0%, #4DE0E9 100%) ;
	color:#0C0B1A;
}
#the-team h2, #the-team p.title{
	color:#0C0B1A;
	text-align: center;
}
#the-team .info{
	display: block;
	margin-top: 5px;
	font-size: 20px;
	font-family: 'Mortend ExtBd', sans-serif ;
	text-transform: uppercase;
	line-height: 1em;
}
#the-team a{
	color:#0C0B1A;}
	#the-team a:hover{
		color:#a938f0;
}
#the-team .info span{
	display: block;
	font-size: 14px;
	font-family: 'Mortend Light', sans-serif ;
}


.challenges-slider-img-container{
	margin:15px;
}


/* TEAM SLIDER */
#team-slider-container{
	position: relative;
}
.team-slider-img-container{
	width:33%;
	float: left;
	padding:0px 5px;
}

.modal{
	background: linear-gradient(0deg, #6DF493 0%, #4DE0E9 100%) !important;
	color:#0C0B1A !important;
	padding: 20px !important;
	font-size: 0.8em;
}
.modal h4{
	color:#0C0B1A !important;
	margin: 1em 0 0;
}
.modal p{
	margin: 0.5em;
	line-height: 1.6em;
}





/* FAQs */
#faq-content{
	text-align: left;
	margin-top: 40px;
}
.collapsible {
  display: block;
  margin-bottom: 20px;
	padding-bottom:25px;
	background-image: url(../images/faq-devider.png);
	background-size: 120px 12px;
	background-position: 50% 100%;
	background-repeat: no-repeat;
}
.collapsible input {
  position: absolute;
  left: -9999px;
}
.collapsible input:focus ~ .collapser {
  /*border-color: grey;*/
}
.collapsible .collapser {
  cursor: pointer;
  border: 1px transparent dotted;
	font-size: 20px;
	text-transform: uppercase;
	font-family: 'Mortend Light', sans-serif ;

}
.collapsible .arrow {
  float: right;
  margin-left: 0.5em;
  display: inline-block;
  transform: rotate(90deg);
  transition: transform 0.25s ease-out;
}
.collapsible input:checked ~ .arrow,
.collapsible input:checked ~ .collapser .arrow {
  transform: rotate(270deg);
}
.collapsible .collapsed {
  font-size: 0;
  margin: 0;
  opacity: 0;
  padding: 0 0 0 20px;
  height: 0;
  /* fade out, then shrink
  transition: opacity 0.1s, margin 0.1s 0.1s, font-size 0.1s 0.1s, padding 0.1s 0.1s; */
}
.collapsible input:checked ~ .collapsed {
  font-size: 16px;
  opacity: 1;
  height: auto;
  padding: 0px 0 5px 35px;
  /* grow, then fade in */
  transition: margin 0.1s, padding 0.1s, font-size 0.1s, opacity 0.1s 0.1s;
}


#stay-in-touch{
	  background: linear-gradient(0deg, #4DCDE9 0%, #906DF4 100%) ;
}
/* MailChimp */
#mail-subscribe-container{
	margin-top: 40px;
}
.cta-box-hero{
	padding:50px 0px 100px 0;
	margin: 0px 0 ;
	text-align: center;
}


.cta-box{
	padding:30px 0px;
	margin: 0px 0 ;
	text-align: center;
}

.cta-box-mail{
	padding: 0 20px;
}
.cta-box-mail p{
	margin: 0 0 10px 0;
	color:#0C0B1A;
	text-align: center;
}
.cta-box-mail p strong{
	font-size:1.2em;
	letter-spacing: -0.5px;
}
.cta-box-mail input.email{
	padding: 4px 10px 3px 10px !important;
	height:46px !important;
	font-family: ibm-plex-mono, sans-serif  !important;
	border:none !important;
	display: inline-block;
	margin: 0;
}
.cta-box-mail .button{
	height:46px !important;
	display: inline-block;
	margin: 0;
}






.mb-button {
  text-transform: uppercase;
	font-family: 'Mortend ExtBd', sans-serif ;
  background: linear-gradient(90deg, #FE917C 0%, #FF41AD 100%) ;
  /*background: linear-gradient(90deg, rgba(254, 145, 124, 1) 0%, rgba(255, 65, 173, 1) 100%) ;*/
	/* background-color: #FF41AD !important; */
  border: 0px solid #FFFFFF;
  font-size: 18px  !important;
  cursor: pointer  !important;
  padding: 17px 30px 14px 30px;
	line-height: 1em;
  border-radius: 35px !important;
  height: auto;
  color:#FFF;
	display:inline-block;
/*	transition: background-color 0.2s ease-in; */
	transition:all 0s ease-in-out 0s !important;
}
.mb-button:hover{
  color:#FFF !important;
  background: linear-gradient(90deg, #FF41AD 0%, #a938f0 100%) ;
}

#header-btn {
	padding:0;
	float: right;
}
#header-btn .mb-button{
	padding: 16px 25px 13px 25px;
}











/* CREATIVES PAGE */
.creative-item{
	margin: 0 -10%;
	background-color: #0C0B1A;
	padding-bottom:0px;
	border-radius: 15px;
}
.creative-item picture,
.creative-item img{
	border-radius: 15px  15px 0 0;
}

#hero-social-links{
	float: right;
	z-index: 100;
}
.social-links a{
	display: inline-block;
	width:32px;
	height: 32px;
	margin: 0px 3px;
	background-position:50% 50%;
	background-repeat: no-repeat;
	text-indent: -9999px;
	-moz-transition: filter 0.3s ease-in-out;
	-webkit-transition: filter 0.3s ease-in-out;
	-ms-transition: filter 0.3s ease-in-out;
	transition: filter 0.3s ease-in-out;
}
.social-links a:hover{
  filter: invert(40%) sepia(51%) saturate(800%) hue-rotate(-505deg) brightness(100%) contrast(97%);
}
.social-links a.twitter{
	background-image: url(../images/social/social-icon-twitter.svg);
}
.social-links a.discord{
	background-image: url(../images/social/social-icon-discord.svg);
}
.social-links a.instagram{
	background-image: url(../images/social/social-icon-instagram.svg);
}
.social-links a.tiktok{
	background-image: url(../images/social/social-icon-tiktok.svg);
}




footer{
	padding:60px 0 30px 0;
		text-align: center;
}
#footer-logo{
	width:90%;
	max-width: 400px;
	margin: auto;
}
.copyright{
	padding-top: 20px;
	font-size: 0.8em;
}

/* MOBILE MENU AND NAVI */
#side-nav{
	position:fixed;
	text-align:center;
	height:100%;
	background-image: url(../images/the-story-bg.jpg);
	background-size: cover;
	background-position: 50% 50%;
	width:100%;
	right:-100%;
	top:0;
	z-index:333;
	overflow:hidden;
	transition: all 350ms;
}
#side-nav.show{
	right:0;
	transition: all 350ms;
}
#side-nav .logo{
	margin:100px auto 0px;
	width: 85%;
	max-width: 350px;
}
#side-nav ul{
	margin:40px 30px 0 0;
	list-style:none;
}
#side-nav ul li{
	margin:0 0 20px 0;
	float:none;
}

#side-nav ul li a{
	color:#FFF;
	font-size:1.6em;
	font-family: 'Mortend ExtBd', sans-serif ;
	text-transform: uppercase;
}
#side-nav ul li a:hover{
	color:#a938f0;
}
#side-nav #lang_sel_list a{
	float:right;
	color:#fff;
	font-size:1em;
	padding-right: 30px;
  background-position: 100% 50%;
  margin-right: 30px;
	background-color:transparent;
}
#side-nav #whitelist-button{
	margin: 40px 0;
}
#side-nav .logo{
	clear: both;
}

#menu-icon{
	float:right;
	display: none;
	padding: 0;
	margin-left: 5px;
		z-index: 1000;
}
#menu-icon a{
	display: block;
	width: 36px;
	height:36px;
	text-indent: -9999px;
	background-image: url(../images/menu-humberger.svg);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: 50% 50%;
	transition: all 350ms;
}

#menu-close{
	float:right;
	padding: 15px 15px 0;
	margin-left: 5px;
		z-index: 1000;
}
#menu-close a{
	display: block;
	width: 30px;
	height:30px;
	text-indent: -9999px;
	background-image: url(../images/menu-close.svg);
	background-repeat: no-no-repeat;
	background-size: 30px 30px;
	background-position: 50% 50%;
	transition: all 350ms;
}



/* COLORS */

.gr-orange-yellow{
	background: linear-gradient(180deg, #FFA785 0%, #F5E54A 100%);
}
.gr-yellow-green{
	background: linear-gradient(180deg, #F5E54A 0%, #71F491 100%);
}
.gr-green-blue{
	background: linear-gradient(180deg, #71F491 0%, #6CD4FF 100%);
}
.gr-blue-purple{
	background: linear-gradient(180deg, #76D4FF 0%, #A788FB 100%);
}
.gr-purple-magenta{
	background: linear-gradient(180deg, #A188FB 0%, #FF83FB 100%);
}
.gr-magenta-red{
	background: linear-gradient(180deg, #FF78FB 0%, #FF6C81 100%);
}
.gr-red-orange{
	background: linear-gradient(180deg, #FF6C8D 0%, #FFA782 100%);
}




/* RESPONSIVE */

@media only screen and (max-width : 767px){

		 h1 {
		 	font-size: 30px;
		 }
		 h2, h2 small {
		 	font-size: 28px;
		 }
		 h3 {
		 	font-size: 20px;
		 }
		header{
			/*position: relative; */
			padding:10px 10px;
		}
		 header #logo{
			 width: 250px;
		 }
		 header #logo a{
			 width:250px;
			 display: block;
			 margin: 0;
		 }
		 #header-btn .mb-button{
			 padding: 13px 15px 9px 15px;
		 }

		 header #header-nav,
		 header #hero-social-links{
			display: none;
		 }
		 #menu-icon{
			 display: block;
		 }


		 #portal-hero{
		 	background-image: url(../images/portal-hero-mobile.jpg);
		 	background-size: cover;
		 	height: 450px;
		 }


		 #hero{
			 background-size: 1009px 300px;
			 background-position: 50% 0;
			 height: 410px;
		 }
		 #hero-portalmonkeys{
			 	padding-bottom: 40px;
				width:98%;
		 }
		 .wrapper .grid{
			 padding:0 !important;
		 }
		 .section-item{
			 padding: 60px 0;
		 }
		#header-space{
	    height: 56px;
		}
		.cta-box-hero{
			padding-bottom: 60px;
		}
		.cta-box{
			padding: 0 0 50px;
		}
		.collapsible .collapser{
			font-size: 16px;
		}
		.collapsible input:checked ~ .collapsed{
			padding-left: 0;
		}
		.creative-item{
			margin:0;
		}

		#magic-bananas-container{
			width: 100%;
			height: 250px;
			background-image: url(../images/magic-bananas-02.svg);
			background-size: 900px 250px;
			background-position: 50% 50%;
			background-repeat: repeat-x;
		}




}


/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {

}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   GRID
   ========================================================================== */

.grid{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding:0 2%;
	float:left;
	text-align:left;
	position:relative;
}
.grid3{
	width:25%
}
.grid4{
	width:33%
}
.grid5{
	width:42%
}
.grid6{
	width:50%;
}
.grid7{
	width:58%
}
.grid8{
	width:66%;
}
.grid9{
	width:75%;
}
.grid12{
	width:100%;
}
@media only screen and (max-width : 767px){
.grid3, .grid4, .grid5, .grid6, .grid7, .grid8, .grid9, .grid12{
	width:100%;
	float:none;
	padding:0 5% 0 5%;
}
}
.grid-margin-bottom{
	margin-bottom:40px;
}



/* ==========================================================================
   TOOLS
   ========================================================================== */
/*@media only screen and (max-width : 916px){ */
.fluid-video{
	display:block;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%; /* 16/9 format */
	overflow: hidden;
	position: relative;
	margin:0 auto;
}

.fluid-video iframe, .fluid-video embed, .fluid-video object{
	width: 100%!important; height: 100%!important;
	position: absolute;
	top: 0; left: 0;
}
/* } */




/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
