/* CSS document */

@import url("normalize.css");

:root {

	font-size: 62.5%;

	--brandColor1: #7F7580;
	--brandColor2: #B5B7BD;
	--brandColor3: #D78AA7;
	--brandColor4: #F0D3DE;
	--brandColor5: #F2E0E7;
	--brandColor6: #F8F0ED;

	--neutralColor: #7F7F7F;
	--whiteColor: #fff;
	--errorColor: #f00;

	--defaultFontSize: 1.8rem;
	--defaultColor: var(--brandColor1);
	--defaultBgColor: var(--whiteColor);

	--smallerFontSize: 85%;

}
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	font-size: var(--defaultFontSize);
	line-height: 1.5;
	color: var(--defaultColor);
	background: var(--defaultBgColor);
	text-align: center;
}
.wrap {
	max-width: 900px;
	margin: 0 auto;
	text-align: justify;
}
body,
input,
select,
textarea,
button {
	font-family: "Merriweather", serif;
	font-optical-sizing: auto;
}
h1 {
	line-height: 1.25;
}
h1 span {
	visibility: hidden;
	line-height: 0.5;
	display: block;
}
h1 em {
	font-weight: normal;
	font-size: 75%;
}
h2 {
	font-weight: bold;
	padding-bottom: var(--defaultFontSize);
}
h3 {
	font-weight: normal;
	font-size: 2.6rem;
}
p,
ul,
ol,
dl,
address,
table {
	margin-top: var(--defaultFontSize);
}
svg {
	shape-rendering: geometricPrecision;
	text-rendering: geometricPrecision;
	image-rendering: optimizeQuality;
	fill-rule: evenodd;
	clip-rule: evenodd;
}
a {
	color: var(--brandColor3);
	text-decoration: underline;
	transition: all .1s ease-out;
	text-decoration: underline;
}
a:hover,
a:focus,
a:active {
	color: var(--brandColor1);
	text-decoration: none;
}
a:visited {
	color: var(--brandColor1);
}
address {
	font-style: normal;
}
em {
	font-style: italic;
}
strong {
	font-weight: bold;
}
small {
	font-size: 80%;
}
abbr {
	cursor: help;
}
img {
	display: block;
	border: 0;
}
input[type=submit] {
	cursor: pointer;
}
table {
	width: 100%;
	border-collapse: separate; border-spacing: 0.5rem;
}
table,
table th,
table td {
	border: 1px solid;
}
table th,
table td {
	text-align: center;
	white-space: nowrap;
	padding: 0.5rem 1rem;
}
table th {
	font-weight: bold;
}
table tbody th {
	text-align: left;
}

header {
	padding: 5rem 0;
	color: var(--brandColor6);
	background: var(--brandColor3);
}
header .content {
	text-align: center;
}
section {
	clear: both;
}
section .content {
	padding: 5rem 0;
}
section .content img {
	float: right;
}
section .content .table {
	overflow-x: auto;
}
section .content ol {
	list-style: none;
	counter-reset: li;
}
section .content ol li {
	padding: 0.75em 0;
	counter-increment: li;
}
section .content ol li::before {
	content: counter(li);
	display: inline-block;
	width: 1.5em; height: 1.5em;
	text-align: center;
	border-radius: 50%;
	background: var(--brandColor3);
	color: var(--brandColor6);
	margin-right: 0.75em;
	direction: rtl;
	display: none;
}
section .content .button {
	clear: both;
	padding-top: 2rem;
	text-align: center;
}
section .content .button a,
section .content input[type=submit] {
	display: inline-block;
	padding: 1.5rem 3rem;
	width: auto;
	background: var(--brandColor3);
	color: var(--whiteColor);
	border: 1px solid var(--brandColor3);
	border-radius: 4rem;
	text-decoration: none;
}
section .content .button a:hover,
section .content input[type=submit]:hover {
	background: var(--whiteColor);
	color: var(--brandColor3);
}
.section--course-english {
	background: var(--whiteColor);
}
.section--course-english img {
	height: 175px;
}
.section--course-it {
	background: var(--brandColor6);
	border-top: 4px solid var(--brandColor4);
}
.section--course-it img {
	height: 175px;
}
.section--pricelist {
	background: var(--whiteColor);
	border-top: 4px solid var(--brandColor4);
}
.section--pricelist table,
.section--pricelist table th,
.section--pricelist table td {
	border-color: var(--brandColor3);
}
.section--pricelist table th {
	color: var(--whiteColor);
	background: var(--brandColor3);
}

.section--registration {
	background: var(--brandColor3);
	color: var(--brandColor6);
}
.section--registration form,
.section--registration .answer {
	background: var(--whiteColor);
	border-radius: 1rem;
	margin-top: 1rem;
	padding: 2.5rem;
}
.section--registration form *,
.section--registration .answer {
	color: var(--brandColor1);
}
.section--registration .answer p {
	margin: 0;
}
.section--registration .cols {
	display: flex;
	gap: 3rem;
	justify-content: space-between;
	align-items: start;
	flex-wrap: wrap;
	margin-bottom: 3rem;
}
.section--registration .cols>* {
	flex: 1 1 45%;
}
.section--registration form input,
.section--registration form select {
	width: 100%;
	padding: 0.5rem;
	border: 1px solid var(--defaultColor);
}
.section--registration form .submit {
	text-align: center;
}
.section--footer {
	background: var(--brandColor4);
}
.section--footer .cols {
	gap: 3rem;
	justify-content: space-between;
	align-items: end;
}
.section--footer .cols .col {
	flex-basis: auto;
}
.section--footer img {
	height: 175px;
}
.section--footer a {
	color: var(--brandColor3);
	text-decoration: none;
}
.section--footer a:hover,
.section--footer a:focus,
.section--footer a:active {
	color: var(--brandColor1);
}
.section--footer .cols .col-1 span {
	display: inline-block;
	line-height: 2;
}
.section--footer .cols .col-1 svg {
	width: 2rem; height: 2rem;
	margin-right: 0.5rem;
	vertical-align: middle;
	fill: var(--brandColor1);
}
.section--footer .cols .col-2 img {
	padding: 1rem;
	background: var(--whiteColor);
	border-radius: 1rem;
}
.cols {
	display: flex;
}
.itemTitle {
	cursor: pointer;
}
.itemTitle::before {
	content: '\002B';
	color: var(--brandColor3);
	font-weight: bold; font-size: 130%; line-height: 100%;
	display: inline-block;
	margin-right: 1rem;
}
.active::before {
	content: "\2212";
}
.itemDesc {
	display: none;
	overflow: hidden;
	font-size: var(--smallerFontSize);
	text-align: left;
	border-top: 1px solid var(--brandColor3);
	margin: 2rem 0 0 0; padding: 2rem 0;
}
.text-center,
.text-center * {
	text-align: center;
}
.text-center img {
	margin: 0 auto;
}
.circle {
	border-radius: 50%;
}
footer .content {
	display: flex;
	justify-content: space-between;
	font-size: var(--smallerFontSize);
	padding: 4rem 0;
}
footer .content #copyright {
	margin: 0;
}
footer .content #webmaster svg {
	height: 20px;
	width: auto;
	margin-bottom: 2px; margin-left: 4px;
	vertical-align: bottom;
	fill: var(--defaultColor);
}
footer .content #webmaster a {
	opacity: 0.6;
}
footer .content #webmaster a:hover {
	opacity: 1;
}

#cookies {
	font-size: var(--smallerFontSize);
	background: #fff;
	padding: 3rem;
	width: 100%;
	z-index: 1;
	position: fixed;
	left: 0; bottom: 0;
}
#cookies p {
	margin: 0;
}
#cookies button {
	margin-top: 1.5rem; padding: 0 1.5rem;
}



/* media queries */

@media screen and (max-width:740px) {
	.wrap {
		max-width: 100%;
		padding: 2rem;
	}
	section .content img {
		float: none;
		width: 100%;
		margin: 2rem 0 3rem 0;
	}
}

@media screen and (max-width:580px) {
	h2 {
		text-align: center;
	}
	.cols,
	.cols>* {
		display: block !important;
	}
	form .col {
		margin-bottom: 2rem;
	}
	.section--footer .cols .col-2 {
		text-align: center;
		padding-top: 5rem;
	}
	.section--footer .cols .col-2 img {
		width: auto;
		margin: 0 auto;
	}
	footer .content {
		display: block;
		text-align: center;
	}
	footer #copyright {
		padding-bottom: 1.5rem;
	}
}