.transition {
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.rotate360 {
  -ms-transform: rotate(360deg);
  /* IE 9 */
  -webkit-transform: rotate(360deg);
  /* Chrome, Safari, Opera */
  transform: rotate(360deg);
}
.scale {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
}
/* --------------------- */
/* --- GENERAL --- */
/* -------------------- */
a {
  color: #0049a0;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.content {
  position: relative;
  z-index: 2;
  background: #fff;
  box-shadow: 0 -10px 100px #000000;
}
h1,
h2,
h3,
.h1,
.h2,
.h3 {
  font-family: 'Bungee', Georgia, cursive;
  color: #0049a0;
  font-size: 27px;
}
h3,
.h3 {
  font-size: 21px;
}
.icn-box {
  position: relative;
  width: 152px;
  height: 154px;
  float: left;
  margin-right: 45px;
  border-bottom: 2px solid #fff;
  background: #0049a0;
}
.icn-box:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  display: none;
  width: 20px;
  height: 40px;
  margin-top: -20px;
  background: url(../images/sipka_2x.png) no-repeat center left;
  background-size: cover;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.icn-box img {
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.table {
  display: table;
}
.table-cell {
  display: table-cell;
}
noscript,
.old-ie {
	display:block;
	padding:30px 30px 90px;
	background:#ff2727;
	text-align:center;
	color:#fff;
	font-size:24px;
}
.ie10-edge {
  display:none;
}
/* IE10+ CSS */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .ie10-edge { display:block; }
}
/* Edge 12+ CSS */ 
@supports (-ms-accelerator:true) {
  .ie10-edge { display:block; }
}
/* Edge 16+ CSS */ 
@supports (-ms-ime-align:auto) {
  .ie10-edge { display:block; }
}

/* FOOTER */
.copy {
	position:relative;
	top:-100px;
}
footer {
  position: relative;
  z-index: 3;
  padding: 15px 0;
  background: #0049a0;
  color:#fff;
}
/* ----------------- */
/* --- ASIDE --- */
/* --------------- */
aside {
  padding-top: 30px;
  padding-bottom: 30px;
}
.side {
  padding-left: 62px;
}
.logo {
  margin: 0 0 15px;
}
.excerpt {
  margin: 0 0 30px;
}
.more {
  display: block;
  margin: 15px 0 30px;
  text-transform: uppercase;
  font-weight: 500;
  color: #aaa9a5;
}
.more:hover {
  color: #0049a0;
}
/* NAVIGATION */
nav {
  margin: 0 0 30px;
}
nav a {
  display: block;
  padding: 7px 0;
  color: #aaa9a5;
  text-transform: uppercase;
  font-weight: 500;
}
nav a:hover {
  color: #000;
}
.langs a {
	display:inline-block;
	margin:0 5px 0 0;
	color:#aaa9a5;
	font-weight:500;
}
.langs a.active {
	color:#0049a0;
}
/* NEWS */
time {
  text-transform: uppercase;
}
.news a {
  display: block;
  padding: 0 0 5px;
  margin: 0 0 10px;
  color: #666666;
  font-style: italic;
  font-weight: 500;
}
.news a:hover {
  color: #0049a0;
  text-decoration: underline;
}
/* WORKS */
.works a {
  display: block;
  margin: 0 0 15px;
  color: #666666;
}
.works a strong {
  display: block;
  text-transform: uppercase;
}
.works a:hover {
  color: #0049a0;
}
.works a:hover strong {
  color: #0049a0;
  text-decoration: underline;
}
/* ------------------------ */
/* --- HOMEPAGE --- */
/* ---------------------- */
.home {
  position: relative;
  padding-top: 336px;
}
.home:before {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 336px;
  background: #0049a0 url(../images/header_2x.jpg) no-repeat top center;
  background-size: cover;
}
.home .icn-box:after {
  display: block;
}
.home .tasks {
  position: relative;
  top: -15px;
}
.home .task:hover .icn-box:after {
  right: -20px;
}
.tasks {
  margin: 0 0 45px;
}
.task:hover .years > a {
  display: block;
}
.task:hover .heading-box {
  display: none;
}
.task h2 a:hover {
  opacity: 0.7;
}
.task.active .icn-box:after {
  display: block;
  right: -20px;
}
.task.active .heading-box h2 {
  color: #0049a0;
}
.task.active:hover .heading-box {
  display: block;
}
.task.passive.go-back .icn-box {
  background: 0;
}
.task.passive.go-back:hover .icn-box {
  background: 0;
}
.task.passive .icn-box {
  background: #aaa9a5;
}
.task.passive:hover a {
  color: #666666;
}
.task.passive:hover .icn-box {
  background: #666666;
}
.task.passive:hover .icn-box:after {
  display: none;
}
.task.passive:hover .heading-box {
  display: block;
}
.task.passive a {
  color: #aaa9a5;
}
.task.theme .icn-box {
  padding-top: 35px;
  background: 0;
  text-align: right;
}
.task.theme:hover .icn-box img {
  -ms-transform: rotate(360deg);
  /* IE 9 */
  -webkit-transform: rotate(360deg);
  /* Chrome, Safari, Opera */
  transform: rotate(360deg);
}
.task.theme:hover .icn-box:after {
  display: none;
}
.task.theme:hover .heading-box {
  display: block;
}
.years {
  position: relative;
  float: left;
}
.years > a {
  display: none;
  width: 152px;
  height: 152px;
  float: left;
  padding: 45px 15px 15px;
  color: #aaa9a5;
  text-align: center;
  text-transform: uppercase;
}
.years > a strong {
  position: relative;
  display: block;
  margin: 0 0 15px;
  font-size: 27px;
  font-family: 'Bungee', Georgia, cursive;
  /*&:before { content:""; position:absolute; left:55%; top:55%; display:none; width:0; height:0; border-radius:50%; box-shadow:0 0 15px 8px rgba(0,0,0,0.6); }*/
}
.years > a span {
  position: relative;
  z-index: 2;
}
.years > a:hover {
  background: #0049a0;
  color: #fff;
}
.years > a:hover strong:before {
  display: block;
}
.heading-box {
  position: absolute;
  left: 0;
  top: 0;
  width: 420px;
  height: 152px;
  padding-top: 62px;
  color: #aaa9a5;
}
.heading-box h2,
.heading-box p {
  color: #aaa9a5;
}
.heading-box p {
  text-transform: uppercase;
}
/* ---------------------- */
/* --- ARTICLE --- */
/* --------------------- */
.preloader-box {
  padding: 45px 0 45px 197px;
}
.article {
  position: relative;
  min-height: 860px;
  padding: 45px 0 45px 197px;
}
.article:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 152px;
  height: 860px;
  background: url(../images/tien.png) no-repeat top right;
}
.article time,
.article .author {
  display: block;
  margin: 0 0 15px;
}
.article .author {
  margin: 0 0 30px;
  color: #0049a0;
}
/* ---------------------- */
/* --- EXERCISE --- */
/* --------------------- */
#exercise-box {
  position: relative;
  overflow:hidden;
}
.exercise ,#exercise {
  position: relative;
  width: 100%;
  height: 611px;
  margin-bottom: 120px;
  float: left;
  border: 1px solid #ccc;
}
.task-box {
  position: relative;
	min-height:300px;
}
.solution-link {
  position: absolute;
  left: 655px;
  bottom: 30px;
  line-height: 30px;
  font-family: 'Bungee', Georgia, cursive;
  font-size: 27px;
  color: #aaa9a5;
  text-align: left;
  width: 320px;
}
.solution-link:hover {
  color: #0049a0;
}
.generate-task-form {
  margin-bottom: 0;
  padding: 15px 7.5px;
  background: #eee;
}
.generate-task-form .grid-3,
.generate-task-form .grid-4,
.generate-task-form .grid-5,
.generate-task-form .grid-6 {
  padding-left: 7.5px;
  padding-right: 7.5px;
}
.generate-task-form label {
  text-align: left;
  font-weight: 500;
  color: #000;
}
.generate-task-form .form-control {
  width: 100%;
  margin: 0 0 15px;
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 0;
  background: #fafafa;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.generate-task-form select {
  font-size: 13px;
}
.generate-task-form button[type="submit"] {
  float: left;
  padding: 6px 12px;
  border: 0;
  background: #0049a0;
  color: #fff;
  text-transform: uppercase;
}
.success-modal-box {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}
.success-modal-box .success-modal {
  position: relative;
  top: 30%;
  max-width: 600px;
  margin: 0 auto;
  padding: 60px 15px 30px;
  border: 2px solid #0049a0;
  background: #fff;
}
.success-modal-box .modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
}
.success-modal-box .svg-box {
  height: 150px;
}
.success-modal-box svg {
  display: none;
  max-width: 100px;
  margin-bottom: 30px;
}
.success-modal-box h2 {
  margin-bottom: 30px;
}
.completed-box {
  position:absolute; top:0; right:0; z-index:7; 
  text-align:center;
}
.cb-face {
  position: relative;
  display: inline-block;
  padding: 7px 7px 10px;
  border: 2px solid #fff;
  border-radius: 50%;
}
.cb-eye {
  position: relative;
  top: -2px;
  display: inline-block;
  width: 7px;
  height: 7px;
  border: 1px solid #fff;
  margin: 2px;
  border-radius: 50%;
  background: #fff;
}
.cb-mouth {
  position: absolute;
  bottom:9px;
  left:50%;
  display: block;
  width: 20px;
  height: 12px;
  border-bottom: 3px solid #fff;
  margin-left: -10px;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.completed-box.completed .cb-mouth {
  width: 24px;
  margin-left: -12px; 
  border-radius: 50%;
}
.completed-box.not-completed .cb-mouth {
  bottom: 1px;
  width: 24px;
  border-bottom:0;
  border-top:3px solid #fff;
  margin-left: -12px; 
  border-radius: 50%;
}
.exercise.disabled .completed-box {
  display:none;
}
#check-completed {
  display:block; padding:8px; background:#0049a0; color:#fff; text-transform:uppercase; font-weight:400;
}
.error-msg {
  display: none;
  padding:0 10px;
}
.completed-box.not-completed .error-msg {
  display:inline-block;
}
/** ----------   DESCRIPTION   ---------- **/
.desc {
	position:absolute;
	right:-400px;
	top:0;
	z-index:9;
	width:400px;
	padding:0;
	border:1px solid #ccc;
	background:#fff;
	transition: all 0.3s;
	-moz-transition: all 0.3s;
	/* Firefox 4 */
	-webkit-transition: all 0.3s;
	/* Safari and Chrome */
	-o-transition: all 0.3s;
	/* Opera */
}
.desc.opened {
	right:0;
}
.desc-content {
	width:100%; 
	height:400px;
	padding:20px 20px 60px;
	overflow-y:auto;
}
.toggle-desc {
	position:absolute;
	left:-60px;
	top:-1px;
	display:inline-block;
	padding:10px 20px;
	background:#0049a0;
	color:#fff;
	text-transform:uppercase;
	text-align:center;
}
.toggle-desc:after {
	content:"";
	position:absolute;
	right:-20px;
	top:0;
	display:block;
	width:20px;
	height:100%;
	background:url(../images/sipka_2x.png) no-repeat center left;
	background-size:20px 40px;
}
.toggle-desc span {
	display:block;
	font-size:12px;
	line-height:12px;
}
.desc .icn-close {
	position:absolute;
	left:0;
	bottom:0;
	display:inline-block;
	width:95%;
	height:60px;
	background:#fff url(../images/modal-close.jpg) no-repeat 20px 10px;
}

/** ----------   ACCORDION   ---------- **/
.accordion {
  margin: 0 0 30px;
  background: #fff;
}
.accordion .item {
  border-bottom: 1px solid #eee;
}
.accordion .item .acc-heading {
  display: block;
  padding: 10px;
  font-weight: 700;
  transition: all 0.3s;
  -moz-transition: all 0.3s;
  /* Firefox 4 */
  -webkit-transition: all 0.3s;
  /* Safari and Chrome */
  -o-transition: all 0.3s;
  /* Opera */
}
.accordion .item .acc-heading:hover {
  background: #eee;
}
.accordion .item .acc-heading.active {
  color: #343434;
  background: #eee;
}
.accordion .item .acc-content {
  display: none;
  padding: 15px;
}
