main {
	width: 50vw;
	margin: 0 25vw;
	padding: 0;
}

#ims-logo {
	margin-bottom: 4em;
	margin-top: 4em;
	width: 200px;
}

#login {
	background: #ff520e;
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
	color: white;
	display: inline-block;
	padding: 0.5em 1em;
	font-size: 1.2em;
	font-weight: bold;
	transition: 0.5s;
}
#smartschool-s {
	display: inline-block;
	margin-right: 1em;
	vertical-align: middle;
	width: 16px;
}
#modules {
	display: grid;
	grid-template-columns: repeat(auto-fit, 200px);
}
#modules > div {
	padding: 2em;
	text-align: center;
}

#imsbox {
	margin-top: 4em;

	color: white;
	color: #5b446c;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
}

#animation {
	position: absolute;
	top: 100px;
	left: calc(50vw - 100px);
	z-index: -1;

	width: 200px;
	height: 200px;

	background-color: #5b446c;
	-webkit-animation: squareToCircle 6s 0s infinite alternate;
}

@-webkit-keyframes squareToCircle {
	0% {
		border-radius: 0 0 0 0;
		background: #5b446c;
		transform: rotate(0deg);
	}
	10% {
		border-radius: 0 0 0 0;
		background: #5b446c;
		transform: rotate(0deg);
	}
	25% {
		border-radius: 50% 0 0 0;
		background: #fbc508;
		transform: rotate(45deg);
	}
	50% {
		border-radius: 50% 50% 0 0;
		background: #f25656;
		transform: rotate(90deg);
	}
	75% {
		border-radius: 50% 50% 50% 0;
		background: #9dd2c3;
		transform: rotate(135deg);
	}
	100% {
		border-radius: 50% 50% 50% 50%;
		background: #c9e437;
		transform: rotate(180deg);
	}
}
