/* --- Global --- */
@font-face {
	font-family: "Soup of Justice";
	font-style: normal;
	font-weight: normal;
	src: local("Soup of Justice"), url("../../assets/fonts/soupofjustice.woff") format("woff");
}
* {
	font-family: "Soup of Justice";	
	font-size: 16px;
	font-weight: normal;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);
	user-select: none;
}
@media screen and (min-width: 512px) {
	* {
		font-family: "Soup of Justice";	
		font-size: 22px;
		font-weight: normal;
		user-select: none;
	}
}
body {
	margin: auto;
  padding: 16px 16px 128px 16px;
  overflow: auto;	
}
@media screen and (min-width: 512px) {
	body {
		margin: auto;
	  padding: 16px 384px 128px 384px;
	  overflow: auto;	
	}
}
footer {
	display: none;
}
@media screen and (min-width: 512px) {
	footer {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  width: 100%;
	  position: fixed;
	  bottom: 0;
	  left: 0;
	}
}

/* --- Ad --- */
.ad {
    box-sizing: border-box;
    background-color: white;
    min-height: 90px;
    width: fit-content;
    border-radius: 4px;
    padding: 8px 8px 0 8px;
    margin-right: 16px;
    box-shadow: 2px 2px 6px #000000;
}

/* --- Loader --- */
.ladder-loader-container {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.ladder-loader-text {
	color: #2f2d2d;
	font-size: 56px;
	text-shadow: none;
	position: relative;
	top: 72px;	
}
.ladder-loader-text-icon {
	color: #2f2d2d;
	font-size: 56px;
	text-shadow: none;
}
.ladder-loader,
.ladder-loader:before,
.ladder-loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.ladder-loader {
  color: #2f2d2d;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.ladder-loader:before,
.ladder-loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.ladder-loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.ladder-loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
.ladder-loader-container--hide {
	display: none;
}

/* --- Navigation --- */
.ladder-navigation {
	display: flex;
	justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 16px 0;
}
@media screen and (min-width: 750px) {
	.ladder-navigation {
		display: flex;
		justify-content: center;
		align-items: center;
	  flex-direction: row;
  	flex-wrap: nowrap;	  
	  margin: 16px 0;	
	}	
}
.ladder-navigation--hide {
	display: none;
}

/* --- Buttons --- */
.ladder-buttons {
	display: flex;
}
@media screen and (min-width: 750px) {
	.ladder-buttons {
		display: inherit;		
	}
}
.ladder-button {
	outline: none;
	background: linear-gradient(#98d395, #3d6f3c);
  border: none;
  border-right: solid 1px;
  color: white;
  padding: 10px 24px;
  cursor: pointer;
  float: left;
}
.ladder-button--first {
	border-radius: 4px 0 0 4px;
}
.ladder-button--last {
	border-radius: 0 4px 4px 0;
}
.ladder-button:hover {
  background: linear-gradient(#5ba25a, #3d6f3c);
}
.ladder-button--active {
	background: linear-gradient(#3d6f3c, #3d6f3c);
}

/* --- Dropdown --- */
.ladder-dropdown {
	position: relative;
	display: inline-block;
	margin: 8px auto -4px auto;
}
@media screen and (min-width: 650px) {
	.ladder-dropdown {
		position: relative;
		display: inline-block;
	  margin: 0 16px;		
	}
}
.ladder-dropdown-button {
	outline: none;
	background: #f2f2f2;
	color: #2f2d2d;
	text-shadow: none;	
	padding: 9px 24px;
	border: none;
	cursor: pointer;
	border-radius: 4px 4px 0 0;
}
.ladder-dropdown-button:hover {
	background: #ddd;
}
.ladder-dropdown-button--active {
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);		
	background: linear-gradient(#98d395, #3d6f3c) !important;
	box-shadow: 2px 1px 3px rgba(0, 0, 0, 0.75);  
}
.ladder-dropdown-button-text {
	text-shadow: none;	
}
.ladder-dropdown-button-text--active {
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);		
}
.ladder-dropdown-button-text-icon {
	margin-left: 8px;
	text-shadow: none;	
}
.ladder-dropdown-button-text-icon--active {
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);		
}
.ladder-dropdown-content {
	display: block;
	position: absolute;
	background-color: #f2f2f2;
	width: 100%;
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);  
	z-index: 1;
}
.ladder-dropdown-content--hide {
	display: none;
}
.ladder-dropdown-content-option {
	box-sizing: border-box;
  display: block;	
  color: #2f2d2d;
	padding: 10px 24px;
  text-decoration: none;
	text-shadow: none;
	border-style: solid;
  border-color: #ddd;
  border-width: 1px 0 0 0;	
	cursor: pointer;
}
.ladder-dropdown-content-option:hover {
  background: linear-gradient(#5ba25a, #3d6f3c);	
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);	
}

/* --- Table --- */
.ladder-table {
  border-collapse: collapse;
  width: 100%;
}
.ladder-table tr:nth-child(even){
	background: #f2f2f2;
}
.ladder-table tr:hover {
	background: #ddd;
}
.ladder-table tr {
	border-radius: 4px;	
}
.ladder-table td {
	color: #2f2d2d;	
  border: 1px solid #ddd;
  padding: 8px;	
	text-shadow: none;	
}
.ladder-table th {
  border: 1px solid #ddd;
  padding: 12px;	
  text-align: left;
  background: linear-gradient(#98d395, #3d6f3c);
  color: white;
}
.ladder-table--visible {
	display: none;
}
@media screen and (min-width: 1024px) {
	.ladder-table--visible {
		display: table-cell;
	}
}

/* --- Pagination --- */
.ladder-pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 16px 0;    
}
.ladder-page {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 32px;
	min-width: 32px;
	background: #f2f2f2;
	box-sizing: border-box;
	color: #2f2d2d;
	float: left;
	text-decoration: none;
	text-shadow: none;	
	transition: background-color .3s;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin: 0 4px 0 0;
	cursor: pointer;
}
@media screen and (min-width: 512px) {
	.ladder-page {
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 40px;
		min-width: 40px;
		background: #f2f2f2;
		box-sizing: border-box;
		color: #2f2d2d;
		float: left;
		text-decoration: none;
		text-shadow: none;	
		transition: background-color .3s;
		border: 1px solid #ddd;
		border-radius: 4px;
		margin: 0 4px 0 0;
		cursor: pointer;		
	}
}
.ladder-page--prev,
.ladder-page--next {
	background: linear-gradient(#98d395, #3d6f3c);
  color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);  
  border: 1px solid white;
	cursor: pointer;  
}
.ladder-page--active {
	background: linear-gradient(#3d6f3c, #3d6f3c);
  color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);  
  border: 1px solid white;
}
.ladder-page:hover {
	color: white;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.75);	
  background: linear-gradient(#5ba25a, #3d6f3c);
	border: 1px solid white;
}
.ladder-pagination--hide {
	display: none;
}
