:root {
	--bg-color: rgb(30, 37, 39);
	--txt-color: #FFF;

	--gradient_bg_color: #006dca;

	/* spot 1 - top left corner */
	--gradient_spot1_color: #000837; 
	--gradient_spot1_w: 75vw;
	--gradient_spot1_h: 75vh;
	--gradient_spot1_x: 0;
	--gradient_spot1_y: 0;

	/* spot 2 - top right corner */
	--gradient_spot2_color: #0F270F;
	--gradient_spot2_w: 75vw;
	--gradient_spot2_h: 75vh;
	--gradient_spot2_x: 100%;
	--gradient_spot2_y: 0;

	/* spot 3 - bottom right corner */
	--gradient_spot3_color: #312B00;
	--gradient_spot3_w: 75vw;
	--gradient_spot3_h: 75vh;
	--gradient_spot3_x: 100%;
	--gradient_spot3_y: 100%;

	/* spot 4 - bottom left corner */
	--gradient_spot4_color: #1A080F;
	--gradient_spot4_w: 75vw;
	--gradient_spot4_h: 75vh;
	--gradient_spot4_x: 0;
	--gradient_spot4_y: 100%;
}

body {
	background-color: var(--bg-color);
	background-image: radial-gradient(
      var(--gradient_spot1_w) var(--gradient_spot1_h) at left
        var(--gradient_spot1_x) top var(--gradient_spot1_y),
      var(--gradient_spot1_color),
      transparent
    ),
    radial-gradient(
      var(--gradient_spot2_w) var(--gradient_spot2_h) at left
        var(--gradient_spot2_x) top var(--gradient_spot2_y),
      var(--gradient_spot2_color),
      transparent
    ),
    radial-gradient(
      var(--gradient_spot3_w) var(--gradient_spot3_h) at left
        var(--gradient_spot3_x) top var(--gradient_spot3_y),
      var(--gradient_spot3_color),
      transparent
    ),
    radial-gradient(
      var(--gradient_spot4_w) var(--gradient_spot4_h) at left
        var(--gradient_spot4_x) top var(--gradient_spot4_y),
      var(--gradient_spot4_color),
      transparent
    );
}

#menu {
	background: #035;
	color: var(--txt-color);
	height: 50px;
	padding-left: 18px;
	border-radius: 25px;
}
#menu ul, #menu li {
	margin: 0 auto;
	padding: 0;
	list-style: none
}
#menu ul {
	width: 100%;
}
#menu li {
	float: left;
	display: inline;
	position: relative;
}
#menu a {
	display: block;
	line-height: 50px;
	padding: 0 14px;
	text-decoration: none;
	color: var(--txt-color);
	font-size: 16px;
}

#menu a.dropdown-arrow:after {
	content: "\25BE";
	margin-left: 5px;
}
#menu li a:hover {
	color: #0099CC;
	background: #F2F2F2;
}
#menu input {
	display: none;
	margin: 0;
	padding: 0;
	height: 50px;
	width: 100%;
	opacity: 0;
	cursor: pointer
}
#menu label {
	display: none;
	line-height: 50px;
	text-align: center;
	position: absolute;
	left: 35px
}
#menu label:before {
	font-size: 1.6em;
	content: "\2261"; 
	margin-left: 20px;
}
#menu ul.sub-menus{
	height: auto;
	overflow: hidden;
	width: 170px;
	background: #444;
	position: absolute;
	z-index: 99;
	display: none;
}
#menu ul.sub-menus li {
	display: block;
	width: 100%;
}
#menu ul.sub-menus a {
	color: var(--txt-color);
	font-size: 16px;
}
#menu li:hover ul.sub-menus {
	display: block
}
#menu ul.sub-menus a:hover{
	background: #F2F2F2;
	color: #444444;
}
@media screen and (max-width: 800px){
	#menu {position:relative}
	#menu ul {background:#111;position:absolute;top:100%;right:0;left:0;z-index:3;height:auto;display:none}
	#menu ul.sub-menus {width:100%;position:static;}
	#menu ul.sub-menus a {padding-left:30px;}
	#menu li {display:block;float:none;width:auto;}
	#menu input, #menu label {position:absolute;top:0;left:0;display:block}
	#menu input {z-index:4}
	#menu input:checked + label {color:white}
	#menu input:checked + label:before {content:"\00d7"}
	#menu input:checked ~ ul {display:block}
}

#menu a.text-smaller,
#menu ul.sub-menus a.text-smaller {
	font-size: 0.9em;
}

#menu a.text-small,
#menu ul.sub-menus a.text-small {
	font-size: 0.8em;
}

#menu a.text-smallest,
#menu ul.sub-menus a.text-smallest {
	font-size: 0.7em;
}

/* Site Title */
section.site-title-wrapper {
	font-family: "Minecraft", sans-serif;
	color: #FFF;
	text-align: center;
	font-size: 4rem;
}

section.site-title-wrapper .top {
	text-shadow: -0.01em -0.01em 0.01em #000;
	animation: rise 2s ease-in-out 0.5s forwards;
}

/* Site Tools */
div.tool__header {
	font-family: 'Minecraft', sans-serif;
	text-align: center;
	padding: 0.25rem;
	font-size: 3rem;
	color: #FFF;
}

div.tool__toolbox {
	display: flex;
	justify-content: center;
}

div.tool__toolbox button {
	font-size: 1rem;
	text-align: center;
	width: fit-content;
	min-width: 2.5rem;
}

div.tool__output {
	font-family: 'Minecraft', sans-serif;
	text-align: center;
	padding: 0.25em;
	border-radius: 2em;
	background-color: #999;
}

div.tool__output__header {
	font-size: 1.5em;
	margin-bottom: 0.2em;
}

div.tool__info {
	font-family: monospace, sans-serif;
	text-align: center;
	padding: 0.25em;
	border-radius: 2em;
	background-color: #AAA;
	margin-top:0.5em;
}

div.tool__info__header {
	font-family: 'Minecraft', monospace, sans-serif;
	font-size: 1.5em;
}

div.tool__info ul,
div.tool__info ol {
	list-style-position: inside;
}

div.tool__info pre {
	display: inline;
	font-variant: small-caps;
}

div.disclaimer {
	background-color: rgba(100,0,0,0.5);
	color: #FFF;
	margin: 1em;
	text-align: center;
	padding: 0.2em;
	border-radius: 2em;
}

div.disclaimer__header {
	font-size: 1em;
	font-weight: bold;
}

div.disclaimer__text {
	font-size: 0.75em;
}

.tool table {
	color: #FFF;
	width: 100%;
}

.tool table th:not([colspan="2"]) {
	text-align: right;
}

.no-radio-inputs input[type="radio"] {
	display: none;
}

.item-icons img {
	width: 32px;
	height: 32px;
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
	filter: blur(0);
	-webkit-filter: blur(0);
	image-rendering: crisp-edges;
	image-rendering: pixelated;
}

.item-icons-large img {
	width: 48px;
	height: 48px;
	transform: translateZ(0);
	-webkit-transform: translateZ(0);
	filter: blur(0);
	-webkit-filter: blur(0);
	image-rendering: crisp-edges;
	image-rendering: pixelated;
}

.item-icons img:hover,
.item-icons-large img:hover {
	background-color: #9CD;
}

.item-icons input[type="radio"]:checked+label,
.item-icons-large input[type="radio"]:checked+label {
	background-color: #69A;
}

.flex-wrap-start {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.flex-wrap-center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.model-div {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.room-selection {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-evenly;
	
	max-height: 15em;
	overflow: hidden scroll;
	
	padding-top: 1em;
}

.room-selection label {
	display: inline-block;
	background-color: #368;
	padding: 4px 11px;
	font-family: Arial;
	font-size: 1em;
	cursor: pointer;
	margin: 0.25em;
	border-radius: 15px;
}

.room-selection input[type="radio"]:checked+label {
	background-color: #69A;
}

.affix-container {
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
}

.affixModifier {
	background-color: #368;
	border-radius: 0.5em;
	padding: 0.2em;
	margin: 0.2em;
}

.sub-value-array > .sub-value-array {
	border: 1px solid rgba(255, 255, 255, 0.8);
}

.sub-value-array-header {
	font-weight: bold;
	text-align: center;
}

div.tool label {
	margin-right: 0.2em;
}

.tool .affix-add-container {
	text-align: center;
}

.tool button.affix-add,
.tool button.remove {
	border-radius: 50%;
	color: #FFF;
	font-weight: bold;
	font-size: 1.3em;
	height: 1.3em;
}

.tool button.affix-add {
	background-color: rgba(0, 255, 0, 0.5);
}

.tool button.affix-add:hover {
	background-color: rgba(127, 255, 127, 0.9);
}

.tool button.remove {
	background-color: rgba(255, 0, 0, 0.5);
}

.tool button.remove:hover {
	background-color: rgba(255, 127, 127, 0.9);
}

.tool button.affix-add,
.tool button.remove {
  background-color: #e1ecf4;
  border-radius: 3px;
  border: 1px solid #7aa7c7;
  box-shadow: rgba(255, 255, 255, .7) 0 1px 0 0 inset;
  box-sizing: border-box;
  color: #39739d;
  cursor: pointer;
  display: inline-block;
  font-family: -apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1rem;
  margin: 0;
  outline: none;
  position: relative;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: baseline;
  white-space: nowrap;
}

.tool button.affix-add:hover,
.tool button.remove:hover,
.tool button.affix-add:focus,
.tool button.remove:focus {
  background-color: #b3d3ea;
  color: #2c5777;
}

.tool button.affix-add:focus,
.tool button.remove:focus {
  box-shadow: 0 0 0 4px rgba(0, 149, 255, .15);
}

.tool button.affix-add:active,
.tool button.remove:active {
  background-color: #a0c7e4;
  box-shadow: none;
  color: #2c5777;
}

/* SKILL BUILDER */
.skills {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	color: #FFF;
	overflow-x: auto;
	overflow-y: hidden;
}

.skill-container {
	background-color: #444;
	margin: 0.5rem;
	padding: 0.25rem;
}


/* LOG CHECKER */
.logLine {
	display: grid;
	grid-template-columns: 20px min-content 1fr;
	text-align: left;
	font-family: monospace;
	grid-gap: 10px;
}



/* HOME CSS */
.ag-format-container {
  width: 1142px;
  margin: 0 auto;
}

.ag-courses_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  padding: 50px 0;
}
.ag-courses_item {
  -ms-flex-preferred-size: calc(33.33333% - 30px);
  flex-basis: calc(33.33333% - 30px);

  margin: 0 15px 30px;

  overflow: hidden;

  border-radius: 28px;
}
.ag-courses-item_link {
  display: block;
  padding: 30px 20px;
  background-color: #121212;
  text-decoration: none;

  overflow: hidden;

  position: relative;
}

.ag-courses-item_link:hover,
.ag-courses-item_link:hover .ag-courses-item_date {
  text-decoration: none;
  color: #FFF;
}
.ag-courses-item_link:hover .ag-courses-item_bg {
  -webkit-transform: scale(10);
  -ms-transform: scale(10);
  transform: scale(10);
}
.ag-courses-item_title {
  min-height: 3rem;
  margin: 0 0 25px;

  overflow: hidden;

  font-weight: bold;
  font-size: 30px;
  color: #FFF;

  z-index: 2;
  position: relative;
}
.ag-courses-item_date-box {
  font-size: 18px;
  color: #FFF;

  z-index: 2;
  position: relative;
}
.ag-courses-item_date {
  font-weight: bold;
  color: #f9b234;

  -webkit-transition: color .5s ease;
  -o-transition: color .5s ease;
  transition: color .5s ease
}
.ag-courses-item_bg {
  height: 128px;
  width: 128px;
  background-color: #f9b234;

  z-index: 1;
  position: absolute;
  top: -75px;
  right: -75px;

  border-radius: 50%;

  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
}
.ag-courses_item:nth-child(2n) .ag-courses-item_bg {
  background-color: #3ecd5e;
}
.ag-courses_item:nth-child(3n) .ag-courses-item_bg {
  background-color: #e44002;
}
.ag-courses_item:nth-child(4n) .ag-courses-item_bg {
  background-color: #952aff;
}
.ag-courses_item:nth-child(5n) .ag-courses-item_bg {
  background-color: #cd3e94;
}
.ag-courses_item:nth-child(6n) .ag-courses-item_bg {
  background-color: #4c49ea;
}



@media only screen and (max-width: 979px) {
  .ag-courses_item {
    -ms-flex-preferred-size: calc(50% - 30px);
    flex-basis: calc(50% - 30px);
  }
  .ag-courses-item_title {
    font-size: 24px;
  }
}

@media only screen and (max-width: 767px) {
  .ag-format-container {
    width: 96%;
  }

}
@media only screen and (max-width: 639px) {
  .ag-courses_item {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
  }
  .ag-courses-item_title {
    min-height: 72px;
    line-height: 1;

    font-size: 24px;
  }
  .ag-courses-item_link {
    padding: 22px 40px;
  }
  .ag-courses-item_date-box {
    font-size: 16px;
  }
}