/** Main **/

body {
	font-family: 'Arial', sans-serif;
	padding: 0 0 20px;
}
.container {
	position: relative;
	margin: 0 auto;
}
@media screen and (min-width: 35.5em) {
	.container {
		max-width: 30.5em;
	}
}
@media screen and (min-width: 48em) {
	.container {
		max-width: 43em;
	}
}
@media screen and (min-width: 64em) {
	.container {
		max-width: 59em;
	}
}
@media screen and (min-width: 80em) {
	.container {
		max-width: 75em;
	}
}
.button {
	display: inline-block;
	margin-bottom: 20px;
	padding: 15px 20px;
	background: #4db6ac;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	color: #ffffff;
	line-height: 20px;
	border: none;
}
.button:hover {
	background: #26a69a;
}
.button:visited, button:focus {
	color: #ffffff;
}
.shadow {
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),
				0 1px 5px 0 rgba(0,0,0,0.12),
				0 3px 1px -2px rgba(0,0,0,0.2);
}
.box {
	position: relative;
	padding: 40px;
}
.box.error {
	text-align: center;
	padding: 0;
}
.box.error .head {
	background-color: #E3757E;
	font-size: 4em;
	color: #FFF;
	padding: 40px;
}
.box.error .message {
	padding: 30px;
}
.intro {
	margin-top: 45px;
}
.intro p {
	text-align: justify;
	color: #7d7b7b;
}
.intro h3 {
	font-weight: bold;
}
.intro h3:before{
	content: "";
	display: block;
	width: 70px;
	height: 70px;
	border-radius: 35px;
	margin: -43px auto 15px auto;
}
.intro h3.first:before {
	background: #E74C3C;
}
.intro h3.second:before {
	background: #F1C40F;
}
.intro h3.third:before {
	background: #9B59B6;
}
.border {
	border: 1px #e0e0e0 solid;
}
p {
	margin: 0 0 20px 0;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 300;
}

@media screen and (max-width: 48em) {

	.box {
		padding: 20px;
	}

}

a, a:visited, a:focus {
	color: #4db6ac;
    text-decoration: none;
    font-weight: bold;
}
a:hover {
	text-decoration: underline;
}

.clear {
	clear: both;
}

/** Menu **/

header {
    background: #4db6ac;
    z-index: 101;
    margin-bottom: 40px;
    height: 80px;
}
header h1 {
	margin: 0;
}
header img {
	display: block;
    padding-top: 10px;
}
header .toggle {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	line-height: 80px;
	color: #ffffff;
	cursor: pointer;
}
nav.menu {
	position: absolute;
	top: -120px;
	right: 0;
	background: #4db6ac;
	z-index: 102;
}
nav.menu:after {
	content: '';
	clear: both;
	display: block;
}
nav.menu a {
	float: left;
	padding: 0 15px;
	font-weight: 300;
	line-height: 80px;
	color: #ffffff;
	text-decoration: none;
}
nav.menu a:hover,
nav.menu a.active {
	background: #26a69a;
}

@media screen and (max-width: 64em) {

	body {
		padding-top: 0;
	}
	header,
	nav.menu {
		position: relative;
	}
	header a {
		line-height: 60px;
	}
	header .toggle {
		display: block;
	}
	nav.menu {
		top: -40px;
		height: 0;
		background: #26a69a;
		overflow: hidden;
		z-index: 100;
	}
	nav.menu.open {
		padding: 20px;
		height: auto;
	}
	nav.menu a {
	    display: block;
	    float: none;
	    padding: 0 20px;
	    line-height: 40px;
	}

}

@media screen and (max-width: 64em) {

	header {
		padding: 0 20px;
	}

}

/** Cards **/

.card {
	margin-bottom: 40px;
}

/* Begin */

.begin {
	border-bottom: 1px #e3e3e3 solid;
	margin: -20px auto 60px;
	padding-bottom: 20px;
	text-align: center;
}
.begin h2 {
	font-size: 1.5em;
	margin: 0 0 20px;
}
.begin p {
	width: 80%;
	margin: 0 auto 40px;
}
.begin form {
	width: 60%;
	margin: 0 auto;
}
.begin form:after {
	content: '';
	display: block;
	clear: both;
}
.begin form input {
	outline: none;
}	
.begin form input.url {
	width: 79%;
	padding: 0 20px;
	line-height: 50px;
	border: 1px #e0e0e0 solid;
	box-sizing: border-box;
}
.begin form input.url:focus {
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14),
				0 1px 5px 0 rgba(0,0,0,0.12),
				0 3px 1px -2px rgba(0,0,0,0.2);
}
.begin form input.button {
	border: 1px #4db6ac solid;
}
.begin .disclaimer {
	color: #9e9e9e;
	font-size: 0.7em;
}
.begin .disclaimer i {
	margin-right: 5px;	
}

@media screen and (max-width: 80em) {

	.begin form {
		width: 80%;
	}	

}

@media screen and (max-width: 64em) {

	.begin form {
		width: 100%;
	}	

}

@media screen and (max-width: 48em) {

	.begin form input.url {
		width: 100%;
		margin-bottom: 10px;
	}
	.begin form input.button {
		width: 100%
	}

}

@media screen and (min-width: 48em) {
	.begin form input.button {
		margin: 0 0 0 1%;
	}
}

@media screen and (min-width: 64em) {
	.begin h2 {
		font-size: 2.2em;
	}
}

.begin form input.url::-webkit-input-placeholder {
  color: #e0e0e0;
}
.begin form input.url::-moz-placeholder {
  color: #e0e0e0;
}
.begin form input.url:-ms-input-placeholder {
  color: #e0e0e0;
}
.begin form input.url:-moz-placeholder {
  color: #e0e0e0;
}

/* Random Rules */

.random-rules h4 {
	margin: 0 0 20px;
	font-size: 1em;
}
.random-rules h3 {
	font-size: 1.8em;
	margin: 0 0 20px;
}
.random-rules .card {
	width: 97%;
}
.random-rules .card.last {
	float: right;
}
.random-rules .card i {
	display: block;
	font-size: 1.2em;
	font-weight: 700;
	color: #4db6ac;
	margin-bottom: 20px;
}
.random-rules .card b {
	position: absolute;
	right: -2px;
	bottom: -22px;
	font-size: 6em;
	opacity: 0.15;
	color: #7d7b7b;
	z-index: -1;
}
.random-rules .card p {
	font-size: 0.8em;
	margin-bottom: 0;
}

.random-rules .summary {
	margin-bottom: 1em;	
}
@media screen and (max-width: 64em) {

	.random-rules .card {
		width: auto;
	}
	.random-rules .card.last {
		float: none;
	}

}
/* Partners */ 
 
.partners h3, .support h3 { 
  font-size: 1.8em; 
  margin: 0 0 20px; 
} 
.partners .box, .support .box { 
  text-align: center; 
} 
.partners img { 
  display: inline-block; 
  margin-right: 20px; 
  vertical-align: middle; 
}

/* Job specific */
.loading {
    margin: auto auto 15px auto;
    width: 75px;
    text-align: center;
}
.loading:after{
    clear: both;
    display: block;
    content: " ";
}
.dot {
  width: 10px;
  height: 10px;
  border: 2px solid #333;
  border-radius: 50%;
  float: left;
  margin: 0 5px;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-animation: fx 1000ms ease infinite 0ms;
          animation: fx 1000ms ease infinite 0ms;
}
.dot:nth-child(2) {
  -webkit-animation: fx 1000ms ease infinite 300ms;
          animation: fx 1000ms ease infinite 300ms;
}
.dot:nth-child(3) {
  -webkit-animation: fx 1000ms ease infinite 600ms;
          animation: fx 1000ms ease infinite 600ms;
}
@-webkit-keyframes fx {
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fx {
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/** Report **/

.report h1 {
	font-size: 2.2em;
	margin: 40px 0 10px 0;
}
.report .details {
	text-align: center;
}
.report .score {
	font-size: 1.6em;
	font-weight: 700;
}
.report .disclaimer {
	color: #9e9e9e;
	font-size: 0.7em;
}
.report .disclaimer i {
	margin-right: 5px;
	
}
.report .screenshot {
	position: relative;
	overflow: hidden;
	padding: 20px;
	box-sizing: border-box;
	text-align: center;
}
.report .screenshot img {
	width: 100%;
	border: 1px #f3f3f3 solid;
}
@media screen and (max-width: 64em) {

	.report .screenshot img {
		width: auto;
	}

}


/** Report's rules list **/

.report.rules-list {
	position: relative;
}
.report.rules-list h4 {
	margin: 0;
	font-size: 1.2em;
}
.report.rules-list h3 {
	margin: 0;
	padding: 20px 50px;
	font-size: 1.8em;
}	
.report.rules-list ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.report.rules-list ul li {
	display: block;
	border-top: 1px #e0e0e0 solid;
}
.report.rules-list li .mark {
	margin-right: 0.2em;
}
.report.rules-list li.passed .mark{
	color: #23AB11;
}
.report.rules-list li.failed .mark{
	color: #EB393B;
}
.report.rules-list ul li:after {
	content: '';
	clear: both;
	display: block;
}
.report.rules-list .more:hover {
	text-decoration: none;
	color:#333;
}
.report.rules-list ul li i {
	font-size: 1.2em;
}
.report.rules-list ul li .toggle {
	position: relative;
	padding: 20px 50px;
	cursor: pointer;
}
.report.rules-list ul li .toggle b {
	color: #7d7b7b;
	margin-right: 5px;
}
.report.rules-list ul li .toggle:hover i[class^='i-caret'],
.report.rules-list ul li .toggle:hover h4,
.report.rules-list ul li .toggle.active i[class^='i-caret'],
.report.rules-list ul li .toggle.active h4 {
	color: #26a69a;
}
.report.rules-list ul li .dropdown {
	padding: 20px 50px;
	border-top: 1px #f9f9f9 solid;
}
.report.rules-list ul li .dropdown:after {
	content: '';
	display: block;
	clear: both;
}
.report.rules-list ul li .dropdown,
.report.rules-list ul li .i-caret-up,
.report.rules-list ul li .toggle.active .i-caret-down {
	display: none;
}
.report.rules-list ul li .toggle.active + .dropdown,
.report.rules-list ul li .toggle.active .i-caret-up {
	display: block;
}
.report.rules-list ul li .dropdown .button {
	float: right;
}
.report.rules-list ul li .dropdown h5 {
	margin: 0 0 20px 0;
	font-size: 1em;
	font-weight: 700;
}

@media screen and (max-width: 48em) {

	.report.rules-list h2 {
		padding: 0 20px;
	}
	.report.rules-list h3 {
		padding: 20px;
		font-size: 1.6em;
	}
	.report.rules-list ul li .toggle {
	    padding: 20px;
	    cursor: pointer;
	}
	.report.rules-list ul li .dropdown {
		padding: 20px;
	}
}

/* Rule Page */
.rule b {
	position: absolute;
	right: 5px;
	top: 22px;
	font-size: 6em;
	opacity: 0.15;
	color: #7d7b7b;
	z-index: -1;	
}
.rule .context {
	color: #4db6ac;
	margin-bottom: 1em;
}
.rule .license {
	float: right;
}
.rule .specifications {
	float: left;
}
.rule .license,
.rule .specifications {
	color: #9e9e9e;
	font-size: 0.7em;
}
.rule .specifications i {
	margin-right: 5px;	
}
.rule .button {
	margin-top: 5px;
}
@media screen and (max-width: 64em) {

	.rule .license,
	.rule .specifications {
		float: none;
	}
	.rule .specifications {
		margin-bottom: 10px;
	}
	
}

/* Rules list page */
.rules-list li{
	list-style-type: none;
	padding: 10px 0;
}
