/*--------------------------------------------------------------------------------------------------
index.css
--------------------------------------------------------------------------------------------------*/
*,
*::before,
*::after {
	margin: 0;
	box-sizing: border-box;
}

/*------------------------------------------------------------------------------------------------*/
body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	background: #fafafa;
	padding: 0 16px;
	font-family: Helvetica, sans-serif;
	font-size: 16px;
}

/*------------------------------------------------------------------------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 4px;
	padding-bottom: 4px;
	width: 100%;
	max-width: 1120px;
}

/*------------------------------------------------------------------------------------------------*/
footer {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12px 24px;
	color: white;
	background: rgb(27,10,69);
	width: calc(100% + 2 * 16px);
}

/*------------------------------------------------------------------------------------------------*/
main {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: stretch;
	align-items: center;
	padding: 0 16px 24px 0;
	width: 100%;
	height: 100%;
	max-width: 1120px;
	margin-bottom: 24px;
}

/*------------------------------------------------------------------------------------------------*/
body > h1 {
	width: 100%;
	width: calc(100% + 2 * 16px);
	margin-bottom: 20px;
	padding: 180px 8px;
	color: white;
	background: rgb(27,10,69);
	font-family: Abel, sans-serif;
	font-size: 53px;
	font-weight: 600;
	text-align: center;
}

/*------------------------------------------------------------------------------------------------*/
main > h2 { margin-bottom: 20px; padding: 16px 8px; font-family: Nunito, sans-serif; font-size: 42px; text-align: center; }
main > h3 { margin-bottom: 20px; padding: 16px 8px; font-family: Nunito, sans-serif; font-size: 30px; text-align: center; }
main > hr { width: 100%; margin: 18px 8px; }
main > p { margin: 0 0 16px 0; text-align: justify; line-height: 24px; }
main > a { padding: 15px 30px; font-size: 15px; }
main > ul > li { margin: 0 0 12px 0; }

/*------------------------------------------------------------------------------------------------*/
.nc-flex {
	--nc-gap: 20px;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
	row-gap: var(--nc-gap);
	column-gap: var(--nc-gap);
	width: 100%;
}

.col-1 { flex: 0 0 auto !important; width: calc(1/12 * 100% - 11/12 * var(--nc-gap)) !important; }
.col-2 { flex: 0 0 auto !important; width: calc(2/12 * 100% - 10/12 * var(--nc-gap)) !important; }
.col-3 { flex: 0 0 auto !important; width: calc(3/12 * 100% - 9/12 * var(--nc-gap)) !important; }
.col-4 { flex: 0 0 auto !important; width: calc(4/12 * 100% - 8/12 * var(--nc-gap)) !important; }
.col-5 { flex: 0 0 auto !important; width: calc(5/12 * 100% - 7/12 * var(--nc-gap)) !important; }
.col-6 { flex: 0 0 auto !important; width: calc(6/12 * 100% - 6/12 * var(--nc-gap)) !important; }
.col-7 { flex: 0 0 auto !important; width: calc(7/12 * 100% - 5/12 * var(--nc-gap)) !important; }
.col-8 { flex: 0 0 auto !important; width: calc(8/12 * 100% - 4/12 * var(--nc-gap)) !important; }
.col-9 { flex: 0 0 auto !important; width: calc(9/12 * 100% - 3/12 * var(--nc-gap)) !important; }
.col-10 { flex: 0 0 auto !important; width: calc(10/12 * 100% - 2/12 * var(--nc-gap)) !important; }
.col-11 { flex: 0 0 auto !important; width: calc(11/12 * 100% - 1/12 * var(--nc-gap)) !important; }
.col-12 { flex: 0 0 auto !important; width: calc(12/12 * 100% - 0/12 * var(--nc-gap)) !important; }

/*------------------------------------------------------------------------------------------------*/
.nc-card { display: flex; flex-direction: column; justify-content: stretch; padding: 16px; background: white; box-shadow: 0 0 10px 0 #00000080; }
.nc-card > img { object-fit: cover; }
.nc-card > hr { margin: 18px 8px; }
.nc-card > h1 { font-family: Nunito, sans-serif; font-size: 18px; font-weight: 600; text-align: center; }
.nc-card > a { padding: 15px 30px; text-align: center; }

/*------------------------------------------------------------------------------------------------*/
@media (pointer: coarse)  { /* mobile */
	.nc-flex > div { width: 100% !important; }
	body > h1 { font-size: 33px; padding: 40px 8px; }
}
