/* ---------------------------------------------------------------------------------------------

	Theme Name: Medelhavsskolan
	Text Domain: ma
	Version: 1.0.35
	Description: WordPress-tema för Accademia Di Lucas utbildningsportal Medelhavsskolan.
	Author: 24HR
	Author URI: http://www.24hr.se


/* ---------------------------------------------------------------------------------------------


	Terms of Content

	0.	CSS Reset
	1.	Document Setup
	2.  Element Base
	3.	Structure
	4.	Site Header
	6.  Site Footer
	7.  Media Queries
	8.  Cookie Script


/* --------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	0. CSS Reset
/* --------------------------------------------------------------------------------------------- */


html, body {
	border: none;
	height: 100%;
	margin: 0;
	min-height: 100%;
	padding: 0;
}

h1, h2, h3, h4, h5, h6, p, blockquote, address, big, cite, code, em, font, img, small, strike, sub, sup, li, ol, ul, fieldset, form, label, legend, button, table, caption, tr, th, td {
	border: none;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	margin: 0;
	padding: 0;
	text-align: left;
}

blockquote:before,
blockquote:after {
	content: "";
}


/* --------------------------------------------------------------------------------------------- */
/*	1. Document Setup
/* --------------------------------------------------------------------------------------------- */


html {
	font-size: 62.5%; /* 1rem = 10px */
}

body {
	background: #F4F4F6;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #282B35;
	font-family: 'ff-tisa-sans-web-pro', 'Tisa Sans Pro', Helvetica, sans-serif;
	font-size: 1.7rem;
}

*,
*:before,
*:after {
		-webkit-box-sizing: inherit;
		-moz-box-sizing: inherit;
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: #282B35;
	color: #fff;
}


/* Clearing ---------------------------------- */


.group:after,
.entry-content:after,
.nav-links:after {
	clear: both;
	content: "";
	display: block;
}


/* Transitions ------------------------------- */


a {
		-webkit-transition: all .1s ease-in-out;
	transition:             all .1s ease-in-out;
}


/* Screen Reader Text ------------------------ */


.screen-reader-text {
	clip: rect( .1rem, .1rem, .1rem, .1rem );
	height: .1rem;
	overflow: hidden;
	position: absolute !important;
	width: .1rem;
}

.screen-reader-text:focus {
	background-color: #ddd;
	border-radius: .3rem .3rem .3rem .3rem;
	box-shadow: 0 0 .2rem .2rem rgba( 0, 0, 0, 0.6 );
	clip: auto !important;
	display: block;
	font-size: 1.4rem;
	font-weight: 700;
	height: auto;
	left: .5rem;
	line-height: normal;
	padding: 1.5rem 2.3rem 1.4rem 2.3rem;
	text-decoration: none;
	top: .5rem;
	width: auto;
	z-index: 100000;
}


/* Font Face ------------------------ */


@font-face {
    font-family: 'Mochary';
    src: url( './assets/fonts/mochary-webfont.woff2' ) format( 'woff2' ),
         url( './assets/fonts/mochary-webfont.woff' ) format( 'woff' );
    font-weight: normal;
    font-style: normal;
}


/* --------------------------------------------------------------------------------------------- */
/*	2. Element Base
/* --------------------------------------------------------------------------------------------- */


p {
	line-height: 1.5;
	margin: 0 0 2rem 0;
}

a {
	color: #609CDA;
	outline: none;
	text-decoration: none;
}

em,
i,
q,
dfn {
	font-style: italic;
}

b,
strong {
	font-weight: 700;
}

ins {
	text-decoration: underline;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

abbr,
acronym {
	cursor: help;
}

address {
	margin: 0 0 2rem 0;
}

hr {
	border-top: .1rem solid #ddd;
	margin: 4rem 0 4rem 0;
	text-align: center;
}


/* Titles ------------------------------------- */


.title1,
.title2,
.title3,
.title4,
.title5,
.title6 {
	font-weight: 700;
	letter-spacing: -0.005em;
	line-height: 1.25;
	margin-bottom: 1rem;
}

.title1,
.title2 {
	margin-bottom: 1.5rem;
}

.title1.no-margin,
.title2.no-margin,
.title3.no-margin,
.title4.no-margin,
.title5.no-margin,
.title6.no-margin {
	margin: 0;
}

.title1:last-child,
.title2:last-child {
	margin-bottom: 0;
}

.title1.subtitle,
.title2.subtitle,
.title3.subtitle,
.title4.subtitle,
.title5.subtitle,
.title6.subtitle {
	color: #7B8994;
	font-style: italic;
}

.title1.subtitle a,
.title2.subtitle a,
.title3.subtitle a,
.title4.subtitle a,
.title5.subtitle a,
.title6.subtitle a {
	text-decoration: underline;
}

.title1.subtitle a:hover,
.title2.subtitle a:hover,
.title3.subtitle a:hover,
.title4.subtitle a:hover,
.title5.subtitle a:hover,
.title6.subtitle a:hover {
	opacity: .5;
}

.title1 { font-size: 3.2rem; }
.title2 { font-size: 2.8rem; }
.title3 { font-size: 2.4rem; }
.title4 { font-size: 2rem; }
.title5 { font-size: 1.8rem; }

.title6 {
	color: #7B8994;
	font-size: 1.5rem;
	font-feature-settings: "smcp";
	font-variant-caps: small-caps;
	text-transform: lowercase;
}

.title1 a,
.title2 a,
.title3 a,
.title4 a,
.title5 a,
.title6 a {
	color: inherit;
}


/* SECTION TITLE */

.section-title {
	margin-bottom: 3rem;
}


/* Excerpt ------------------------------------- */


.excerpt {
	line-height: 1.5;
	margin: 1.2rem 0 0;
}


/* Lists ------------------------------------- */


ul,
ol {
	margin: 0 0 2rem 3rem;
}

ul { list-style: disc; }
ul ul { list-style: circle; }
ul ul ul { list-style: square; }

ol { list-style: decimal; }
ol ol { list-style: lower-alpha; }
ol ol ol { list-style: lower-roman; }

li {
	line-height: 1.5;
	margin: 1rem 0;
}

li:last-child {
	margin-bottom: 0;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 2rem;
}

dt {
	font-weight: 700;
}

dd + dt {
	margin-top: 1.5rem;
}

ul.reset,
ol.reset,
.reset li,
.reset ol,
.reset ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.reset-list-style,
ol.reset-list-style {
	list-style: none;
	margin: 0;
	padding: 0;
}


/* STAR LIST */

ul.star-list,
ol.star-list {
	list-style: none;
	margin: 0;
}

.star-list li {
	position: relative;
}

.star-list li:last-child {
	margin-bottom: 0;
}

.star-list li:before {
	background: url( ./assets/images/icons/star-solid-yellow.svg ) no-repeat center;
	background-size: contain;
	content: "";
	display: block;
	height: 2.4rem;
	position: absolute;
		left: -4.2rem;
		top: 0;
	width: 2.4rem;
}


/* CHECKBOX LIST */

.checkbox-list li {
	position: relative;
	padding-left: 2.6rem;
}

.checkbox-list li input[type="checkbox"] {
	position: absolute;
		left: 0;
		top: 50%;
	transform: translateY( -50% );
}

.checkbox-list li label {
	display: block;
	line-height: 1.3;
	font-weight: 400;
}

.checkbox-list li label a:hover {
	text-decoration: underline;
}


/* Quotes ------------------------------------ */


blockquote {
	margin: 0;
	padding: 0 0 0 3rem;
}


/* Code -------------------------------------- */


pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace;
	font-size: 1em;
}

code {
	font-size: 1.6rem;
}


/* Media ------------------------------------- */


img,
embed,
object {
	height: auto;
	max-width: 100%;
}

iframe {
	border: none;
	max-width: 100%;
}

.wp-caption {
	display: block;
	margin: 3rem 0;
}

.wp-caption img {
	border-radius: .4rem;
	display: block;
}

.alignleft,
.alignright {
	width: 50%;
}

.alignleft {
	float: left;
	margin: 0 2rem 2rem 0;
}

.alignright {
	float: right;
	margin: 0 0 2rem 2rem;
}

.aligncenter {
	margin-left: auto;
	margin-right: auto;
}

.alignnone {
	max-width: 90vw;
	position: relative;
		left: calc( 50% - 45vw );
	width: 90vw;
}

.wp-caption-text {
	font-size: 1.4rem;
	font-style: italic;
	margin-top: .8rem;
	text-align: left;
}


/* GALLERIES */

.gallery {
	margin-bottom: 3rem;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item { max-width: 50%; }
.gallery-columns-3 .gallery-item { max-width: 33.33%; }
.gallery-columns-4 .gallery-item { max-width: 25%; }
.gallery-columns-5 .gallery-item { max-width: 20%; }
.gallery-columns-6 .gallery-item { max-width: 16.66%; }
.gallery-columns-7 .gallery-item { max-width: 14.28%; }
.gallery-columns-8 .gallery-item { max-width: 12.5%; }
.gallery-columns-9 .gallery-item { max-width: 11.11%; }

.gallery-caption {
	display: block;
	margin-top: 1rem;
}


/* Fieldset ------------------------------------ */


fieldset {
	background: #fff;
	border: .1rem solid #E1E1E4;
	border-radius: .5rem;
	padding: 5%;
}

fieldset + fieldset {
	margin-top: 5%;
}

fieldset > *:last-child {
	margin-bottom: 0;
}

fieldset legend {
	background: #7B8994;
	border-radius: .2rem;
	color: #fff;
	font-feature-settings: "smcp";
	font-size: 1.5rem;
	font-variant-caps: small-caps;
	font-weight: 700;
	padding: .4rem .9rem .7rem .9rem;
	text-transform: lowercase;
}


/* Inputs ------------------------------------ */


label {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

input[type="text"]:readonly,
input[type="text"]:disabled,
input[type="password"]:readonly,
input[type="password"]:disabled,
input[type="email"]:readonly,
input[type="email"]:disabled,
input[type="url"]:readonly,
input[type="url"]:disabled,
input[type="date"]:readonly,
input[type="date"]:disabled,
input[type="month"]:readonly,
input[type="month"]:disabled,
input[type="time"]:readonly,
input[type="time"]:disabled,
input[type="datetime"]:readonly,
input[type="datetime"]:disabled,
input[type="datetime-local"]:readonly,
input[type="datetime-local"]:disabled,
input[type="week"]:readonly,
input[type="week"]:disabled,
input[type="number"]:readonly,
input[type="number"]:disabled,
input[type="search"]:readonly,
input[type="search"]:disabled,
input[type="tel"]:readonly,
input[type="tel"]:disabled,
input[type="color"]:readonly,
input[type="color"]:disabled {
	color: #7B8994;
	cursor: default;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="week"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #fff;
	border: .2rem solid #E1E1E4;
	border-radius: .4rem;
	display: block;
	font-family: 'ff-tisa-sans-web-pro', 'Tisa Sans Pro', Helvetica, sans-serif;
	font-size: 1.6rem;
	line-height: normal;
	margin: 0;
	max-width: 100%;
	outline: none;
	padding: 1rem 1.8rem;
	width: 100%;
}

textarea {
	height: 20rem;
	line-height: 1.5;
	width: 100%;
}

input::-webkit-input-placeholder { color: #7B8994; line-height: normal; }
input:-ms-input-placeholder { color: #7B8994; line-height: normal; }
input::-moz-placeholder { color: #7B8994; line-height: normal; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

button,
.faux-button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	background: #FCD04A;
	border: none;
	border-radius: .4rem;
	color: #282B35;
	display: inline-block;
	font-family: 'ff-tisa-sans-web-pro', 'Tisa Sans Pro', Helvetica, sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	padding: 1.1rem 2rem 1.2rem;
	transition: background-color .15s linear;
}

button:hover,
.faux-button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: #EBBF39;
	cursor: pointer;
}

/* COLOR MODIFIERS */

button.bg-green:hover,
.faux-button.bg-green:hover,
input[type="button"].bg-green:hover,
input[type="reset"].bg-green:hover,
input[type="submit"].bg-green:hover {
	background: #92CB5B;
}

button.bg-red:hover,
.faux-button.bg-red:hover,
input[type="button"].bg-red:hover,
input[type="reset"].bg-red:hover,
input[type="submit"].bg-red:hover {
	background: #EB8A8A;
}

button.bg-blue:hover,
.faux-button.bg-blue:hover,
input[type="button"].bg-blue:hover,
input[type="reset"].bg-blue:hover,
input[type="submit"].bg-blue:hover {
	background: #84B2E2;
}

/* DISABLED STYLE */

button:disabled,
.faux-button:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled {
	background: #e1e1e4;
	color: #7b8994;
}


/* SIZE MODIFIERS */

button.small,
.faux-button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small {
	font-size: 1.2rem;
	min-width: 0;
	padding: .8rem 1.2rem;
}

button.big,
.faux-button.big,
input[type="button"].big,
input[type="reset"].big,
input[type="submit"].big {
	font-size: 2.4rem;
	min-width: 28rem;
	padding: 2.6rem 4rem;
}


/* ROUNDED BUTTON */

button.rounded,
.faux-button.rounded,
input[type="button"].rounded,
input[type="reset"].rounded,
input[type="submit"].rounded {
	background: transparent;
	border: .2rem solid #e1e1e5;
	border-radius: 999rem;
	font-size: 1.5rem;
	padding: .6rem 1.6rem;
}

button.rounded .icon-disc,
.faux-button.rounded .icon-disc,
input[type="button"].rounded .icon-disc,
input[type="reset"].rounded .icon-disc,
input[type="submit"].rounded .icon-disc {
	margin-right: .7rem;
	height: 1.6rem;
	width: 1.6rem;
}

button.rounded .label,
.faux-button.rounded .label,
input[type="button"].rounded .label,
input[type="reset"].rounded .label,
input[type="submit"].rounded {
	font-size: 1.5rem;
}

button.rounded:hover,
.faux-button.rounded:hover,
input[type="button"].rounded:hover,
input[type="reset"].rounded:hover,
input[type="submit"].rounded:hover {
	background: #e1e1e5;
	cursor: pointer;
}


/* HEAVY BUTTON */

.faux-button.heavy {
	border-radius: .5rem;
	box-shadow: inset 0 -.2rem 0 0 rgba( 0, 0, 0, 0.1 );
	font-size: 1.7rem;
	padding: 2.1rem 2.2rem 2.3rem 2rem;
	width: 100%;
}

.faux-button.heavy.has-icon {
	padding-left: 6.6rem;
	position: relative;
}

.faux-button.heavy.has-icon .icon {
	position: absolute;
		left: 2.2rem;
		top: 50%;
	transform: translateY( -50% );
}

.faux-button.heavy.has-icon .icon-disc {
	height: 2.6rem;
	width: 2.6rem;
}

.faux-button.heavy.has-icon .icon-disc:after {
	background-size: contain;
}

.faux-button.heavy + .faux-button.heavy {
	margin-top: 1.5rem;
}


/* Tables ------------------------------------ */


table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
	margin-bottom: 3rem;
	max-width: 100%;
	overflow: hidden;
	width: 100%;
}

th,
td {
	line-height: 1.4;
	margin: 0;
	overflow: visible;
	padding: 2.5% 2.5% 2.5% 2.5%;
}

caption {
	border-bottom: .1rem solid #ddd;
	font-weight: 700;
	padding-bottom: 2.5% 2.5% 2.5% 2.5%;
	text-align: center;
}

thead {
	vertical-align: bottom;
	white-space: nowrap;
}

th {
	border-bottom: .1rem solid #ddd;
	font-weight: 700;
}

tbody > tr:nth-child(even) {
	background-color: #F6F6F6;
}


/* Animations ------------------------------- */


@keyframes popIn {
	0% {
		transform: scale( 0 );
	}
	75% {
		transform: scale( 1.1 );
	}
	100% {
		transform: scale( 1 );
	}
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Helper Classes
/* --------------------------------------------------------------------------------------------- */


/* Layout ------------------------------- */


.screen-height {
	min-height: calc( 100vh - 7.1rem );
}

.screen-width {
	position: relative;
		left: calc( 50% - 50vw );
	width: 100vw;
}

.center-vertically {
	align-items: center;
	display: flex;
	justify-content: center;
}

@media ( max-width: 599px ) {

	.hide-mobile {
		display: none !important;
	}

}

.no-margin { margin: 0; }
.no-padding { padding: 0; }


/* Grid Helper ------------------------------- */


.grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 -2rem -2rem;
}

.grid > * {
	margin: 0 0 2rem 2rem;
	width: calc( 100% - 2rem );
}


/* Typography ------------------------------- */


.font-serif { font-family: 'Lyon Text', sans-serif; }
.font-script { font-family: Mochary, sans-serif; }

.font-size-xl { font-size: 1.25em; }
.font-size-xs { font-size: 0.8em; }

.style-italic { font-style: italic; }

.weight-bold { font-weight: 700; }
.weight-regular { font-weight: 400; }

.text-align-inherit { text-align: inherit; }
.text-align-left { text-align: left; }
.text-align-center { text-align: center; }
.text-align-right { text-align: right; }

.text-shadow-dark { text-shadow: 0 .1rem 0 rgba( 0, 0, 0, 0.25 ); }

.text-shadow-double { text-shadow: .05rem .1rem 0 #fff, .1rem .2rem 0 #282B35; }

.lining-numerals {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
}

.smallcaps {
	font-feature-settings: "smcp", "lnum";
	font-variant-caps: small-caps;
	font-variant-numeric: lining-nums;
	font-weight: 700;
	text-transform: lowercase;
}

.transform-uppercase {
	text-transform: uppercase;
}

.alt-link {
	color: #7B8994;
	font-size: 1.2rem;
	text-decoration: underline;
	width: 100%;
}

.alt-link:hover {
	opacity: 0.5;
}

.handwritten-line {
	border-bottom: .1rem solid #e1e1e4;
	line-height: 1;
	margin: 0;
}


/* Position ------------------------------- */


.position-static { position: static; }
.position-relative { position: relative; }

.position-cover {
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.z-level-1 { z-index: 9; }
.z-level-2 { z-index: 99; }
.z-level-3 { z-index: 999; }


/* Colors ------------------------------- */


/* TEXT COLOR */


.color-white { color: #fff; }

.color-gray { color: #F4F4F6; }

.color-dark-grayish-blue { color: #282B35; }
.color-grayish-blue { color: #3D464D; }
.color-light-grayish-blue { color: #7b8994; }

.color-yellow { color: #FCD04A; }
.color-yellow-dark { color: #E8BF44; }

.color-green { color: #9FDD63; }
.color-green-dark { color: #92CB5B; }

.color-red { color: #FF9696; }
.color-red-dark { color: #EB8A8A; }

.color-blue { color: #90C2F6; }
.color-blue-dark { color: #84B2E2; }

.color-facebook { color: #3B5998; }
.color-twitter { color: #55ACEE; }


/* BACKGROUND COLOR */

.bg-none {
	background: none;
}

.bg-white { background: #fff; }
.bg-gray { background: #F4F4F6; }
.bg-gray-semitransparent { background: rgba( 244, 244, 246, 0.75 ); }

.bg-dark-grayish-blue { background: #282B35; }
.bg-grayish-blue { background: #3D464D; }
.bg-light-grayish-blue { background: #7b8994; }

.bg-yellow { background: #FCD04A; }
.bg-yellow-dark { background: #E8BF44; }

.bg-green { background: #9FDD63; }
.bg-green-dark { background: #92CB5B; }

.bg-red { background: #FF9696; }
.bg-red-dark { background: #EB8A8A; }

.bg-blue { background: #90C2F6; }
.bg-blue-dark { background: #84B2E2; }

.bg-facebook { background: #3B5998; }
a.bg-facebook:hover { background: #364D7E; }

.bg-twitter { background: #55ACEE; }
a.bg-twitter:hover { background: #498BBF; }



/* Image Classes ------------------------------- */


.faux-image,
.bg-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.faux-image {
	position: relative;
}

a.faux-image {
	display: block;
}

.faux-image:after {
	content: "";
	display: block;
	padding-top: 62.5%;
	width: 100%;
}

.faux-image.half:after { padding-top: 50%; }
.faux-image.television:after { padding-top: 56.25%; }
.faux-image.square:after { padding-top: 100%; }


/* Background Overlay ------------------------------- */


.bg-overlay {
	position: relative;
}

.bg-overlay:before {
	background: rgba( 0, 0, 0, 0.4 );
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.bg-overlay.light:before { background: rgba( 0, 0, 0, 0.25 ); }
.bg-overlay.dark:before { background: rgba( 0, 0, 0, 0.55 ); }


/* Border Classes ------------------------------- */


.wavy-border,
.jagged-border {
	position: relative;
}

.wavy-border.top:before,
.wavy-border.bottom:after,
.jagged-border.top:before,
.jagged-border.bottom:after {
	background: repeat-x center;
	background-size: auto 100%;
	content: "";
	display: block;
	height: 1.9rem;
	position: absolute;
		left: 0;
		right: 0;
}

.wavy-border.top:before,
.jagged-border.top:before {
	background-position: top;
	top: -1.1rem;
}

.wavy-border.bottom:after,
.jagged-border.bottom:after {
	background-position: bottom;
	bottom: -1.1rem;
	transform: rotate(180deg);
}


/* WAVY BORDER SPECIFIC */

.wavy-border.gray:before,
.wavy-border.gray:after { background-image: url( ./assets/images/borders/wavy-border-gray.svg ); }
.wavy-border.gray.stroke:before,
.wavy-border.gray.stroke:after { background-image: url( ./assets/images/borders/wavy-border-gray-stroke.svg ); }

.wavy-border.green:before,
.wavy-border.green:after { background-image: url( ./assets/images/borders/wavy-border-green.svg ); }
.wavy-border.green.stroke:before,
.wavy-border.green.stroke:after { background-image: url( ./assets/images/borders/wavy-border-green-stroke.svg ); }

.wavy-border.white:before,
.wavy-border.white:after { background-image: url( ./assets/images/borders/wavy-border-white.svg ); }
.wavy-border.white.stroke:before,
.wavy-border.white.stroke:after { background-image: url( ./assets/images/borders/wavy-border-white-stroke.svg ); }


/* JAGGED BORDER SPECIFIC */

.jagged-border.top:before,
.jagged-border.bottom:after {
	height: 3rem;
}

.jagged-border.top:before {
	top: -1.5rem;
}

.jagged-border.bottom:after {
	bottom: -1.5rem;
}

.jagged-border.light-gray:before,
.jagged-border.light-gray:after { background-image: url( ./assets/images/borders/jagged-border-light-gray.svg ); }


/* Progress Bar ------------------------------- */

.progress-bar {
	background: #F4F4F6;
	height: .6rem;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
}

.progress-bar.rounded-bottom,
.progress-bar.rounded-bottom .progress {
	border-radius: 0 0 .4rem .4rem;
}

.progress-bar.rounded-bottom .progress.not-finished {
	border-radius: 0 0 0 .4rem;
}

.progress-bar .progress {
	position: absolute;
		bottom: 0;
		left: 0;
		top: 0;
	transition: width .5s ease-in .1s;
}

.wait-for-progress .progress-bar:not(.skip-animation) .progress {
	width: 0 !important; /* Class removed from body on load */
}

/* PROGRESS BAR ICON */

.progress-bar .icon-link {
	height: 4rem;
	margin: 0;
	position: absolute;
		left: calc( 50% - 2rem );
		top: calc( 50% - 2rem );
	width: 4rem;
}

.progress-bar:not(.skip-animation) .icon-link {
	animation: popIn .35s ease-out .7s both;
}

.wait-for-progress .progress-bar:not(.skip-animation) .icon-link {
	animation: none;
	transform: scale( 0 );
}

.progress-bar .icon-link .icon-disc {
	height: 100%;
	width: 100%;
}


/* Stars ------------------------------- */


.stars {
	align-items: center;
	display: flex;
}

.stars.center {
	justify-content: center;
}

.stars.has-bg {
	padding: .8rem 1.2rem .9rem;
}

.stars svg {
	height: auto;
	width: 2.1rem;
}

.stars.big svg { width: 2.5rem; }
.stars.bigger svg { width: 3rem; }

.stars svg + svg {
	margin-left: .5rem;
}

.stars.white-stars polygon,
.stars.white-stars path {
	fill: #fff;
}

.stars-label {
	font-size: 1.4rem;
	margin-left: 1rem;
	padding-bottom: .1rem;
}


/* Pie Chart ------------------------------- */


.pie-chart-wrapper {
	position: relative;
	width: 100%;
}

.pie-chart {
	border-radius: 50%;
	display: block;
	height: 100%;
	position: relative;
	transform: rotate(-90deg);
	width: 100%;
}

.pie-chart-wrapper .number,
.pie-chart-wrapper.stroke:before {
	background: #fff;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
		bottom: 5%;
		left: 5%;
		right: 5%;
		top: 5%;
	z-index: 1;
}

.pie-chart circle {
	fill: #DEE1E4;
	stroke: #9FDD63;
	stroke-dasharray: 0 100; /* Actual percentage set inline (first value) */
	stroke-width: 32;
}

.pie-chart-wrapper.animate.animating circle {
	animation: toPieValue .6s ease-out forwards .2s;
}

@keyframes toPieValue {
	to {
		stroke-dashoffset: 0;
	}
}

.pie-chart.fill-white circle { fill: #fff; }
.pie-chart.fill-black circle { fill: #282B35; }

.pie-chart.stroke-red circle { stroke: #FF9696; }
.pie-chart.stroke-blue circle { stroke: #90C2F6; }

/* PIE CHART NUMBER */

.pie-chart-wrapper .number {
	align-items: center;
	display: flex;
	font-size: 6.4rem;
	font-weight: 700;
	justify-content: center;
	position: absolute;
		bottom: 10%;
		left: 10%;
		right: 10%;
		top: 10%;
}

.pie-chart-wrapper .number.with-bg {
	background: url( ./assets/images/circle-waves-bottom-green.svg ) no-repeat center bottom;
	background-size: contain;
}


/* Badges --------------------------------- */


.badge {
	background: url( ./assets/images/badge.svg ) no-repeat center;
	background-size: contain;
	position: relative;
	width: 100%;
}

.badge:before,
.badge:after {
	content: "";
	display: block;
	width: 100%;
}

.badge:before {
	padding-top: 125%;
}

.badge:after {
	background: no-repeat center;
	padding-top: 100%;
	position: absolute;
		left: 0;
		top: 0;
		right: 0;
}

/* BADGE TYPES */

.badge.olive:after {
	background-image: url( ./assets/images/icons/olives.svg );
	background-size: 47.5% auto;
}


/* Diplomas --------------------------------- */


.diploma {
	background: url( ./assets/images/diploma-small.svg ) no-repeat center;
	background-size: contain;
	position: relative;
}

.diploma:after {
	padding-top: 71.3826367%;
}

.diploma-inner {
	background: #fff;
	padding: 5%;
	position: absolute;
		bottom: 2.3rem;
		left: 2.2rem;
		right: 2.2rem;
		top: 2.2rem;
}

.diploma .row {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
}

.diploma .item {
	margin-bottom: 2rem;
}

.diploma .row .item {
	width: 47.5%;
}

.diploma-inner > .row:last-child {
	margin-bottom: -2rem;
}

.diploma-inner > .item:last-child {
	margin-bottom: 0;
}

/* SMALL DIPLOMA */

.diploma.small .smallcaps {
	margin-bottom: .4rem;
}

.diploma.small .handwritten-line:not(.font-script) {
	padding-bottom: .8rem;
}

.diploma.small .handwritten-line {
	font-size: 1.6rem;
}

.diploma.small .font-script {
	font-size: 3.2rem;
}

.diploma.small .diploma-date .smallcaps {
	margin-bottom: .8rem;
}


/* Tooltips ------------------------------- */


.has-tooltip {
	position: relative;
}

.tooltip {
	border-radius: .5rem;
	color: #fff;
	display: block;
	font-size: 1.3rem;
	line-height: 1.35;
	padding: 1.2rem 1.5rem;
	opacity: 0;
	position: absolute;
		left: -9999rem;
	transition: opacity .15s ease-in, margin .15s ease-in, left 0s .15s, right 0s .15s;
	z-index: 9999;
}

.tooltip.thin { width: 14rem; }
.tooltip.regular { width: 18rem; }
.tooltip.wide { width: 26rem; }

.tooltip.thin p,
.tooltip.regular p,
.tooltip.wide p {
	white-space: normal;
}

.tooltip:before {
	background: inherit;
	content: "";
	display: block;
	height: 1.2rem;
	position: absolute;
	transform: rotate( 45deg );
	width: 1.2rem;
}

.tooltip p {
	font-size: inherit;
	line-height: inherit;
	text-align: inherit;
	white-space: nowrap;
}

.tooltip p:last-child {
	margin: 0;
}

/* ORIGIN VARIATIONS */

.tooltip.origin-top,
.tooltip.origin-bottom {
	transform: translateX( -50% );
}

.has-tooltip:hover .tooltip.origin-top,
.has-tooltip:hover .tooltip.origin-bottom {
	left: 50%;
}

.tooltip.origin-top:before,
.tooltip.origin-bottom:before {
	left: calc( 50% - .6rem );
}

.tooltip.origin-top { bottom: calc( 100% + 1.5rem ); }
.tooltip.origin-top:before { bottom: -.6rem; }

.tooltip.origin-bottom { top: calc( 100% + 1.5rem ); }
.tooltip.origin-bottom:before { top: -.6rem; }

.tooltip.origin-left,
.tooltip.origin-right {
	top: 50%;
	transform: translateY( -50% );
}

.tooltip.origin-right:before,
.tooltip.origin-left:before {
	height: 1rem;
	width: 1rem;
	top: calc( 50% - .5rem );
}

.tooltip.origin-left { left: auto; right: 9999rem; }
.has-tooltip:hover .tooltip.origin-left { right: calc( 100% + 1.5rem ); }
.tooltip.origin-left:before { right: -.5rem; }

.has-tooltip:hover .tooltip.origin-right { left: calc( 100% + 1.5rem ); }
.tooltip.origin-right:before { left: -.5rem; }

/* HOVER EFFECT */

.tooltip.origin-top { margin-bottom: .3rem; }
.tooltip.origin-right { margin-left: .3rem; }
.tooltip.origin-bottom { margin-top: .3rem; }
.tooltip.origin-left { margin-right: .3rem; }

.has-tooltip:hover .tooltip {
	margin: 0;
	opacity: 1;
	transition: opacity .15s ease-in, margin .15s ease-in;
}


/* Devices ------------------------------- */

.iphone,
.macbook {
	background: no-repeat center;
	background-size: contain;
	position: relative;
}

.macbook { background-image: url( ./assets/images/macbook.svg ); }
.iphone { background-image: url( ./assets/images/iphone.svg ); }

.macbook:before,
.macbook .screen:before,
.iphone:before,
.iphone .screen:before {
	content: "";
	display: block;
	width: 100%;
}

.macbook:before { padding-top: 58.8764%; }
.iphone:before { padding-top: 204.129%; }

.macbook .screen,
.iphone .screen {
	position: absolute;
}

.macbook .screen {
	left: 10.898%;
	right: 11.797%;
	top: 6.87%;
}

.iphone .screen {
	left: 4.719%;
	right: 4.719%;
	top: 9.916%;
}

.macbook .screen:before { padding-top: 60.465%; }
.iphone .screen:before { padding-top: 177.524%; }


/* Icon Link ------------------------------- */


.icon-link-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-top: 2.5rem;
}

.icon-link-wrapper.center {
	justify-content: center;
}

.icon-link-wrapper.right {
	justify-content: flex-end;
}

.icon-link-wrapper.no-margin {
	margin: 0;
}

@media ( max-width: 479px ) {

	.icon-link-wrapper.stack-mobile {
		flex-direction: column;
	}

	.icon-link-wrapper.stack-mobile.center {
		align-items: center;
	}

	.icon-link-wrapper.stack-mobile .icon-link + .icon-link {
		margin: 1rem 0 0;
	}

}

.icon-link {
	align-items: center;
	color: #282B35;
	display: flex;
	position: relative;
}

.icon-link + .icon-link {
	margin-left: 2rem;
}

.icon-link.center {
	justify-content: center;
}

a.icon-link:hover .label {
	text-decoration: underline;
}

.icon-disc {
	border-radius: 50%;
	flex-shrink: 0;
	height: 3.5rem;
	margin-right: 1rem;
	position: relative;
	width: 3.5rem;
}

.icon-disc.no-margin {
	margin: 0 !important;
}

.icon-disc.no-bg {
	height: 1.9rem;
	width: 1.9rem;
}

.icon-disc.no-bg:after {
	background-size: 100% auto !important;
}

.icon-disc.disc-border {
	box-shadow: 0 0 1rem rgba( 0, 0, 0, 0.25 );
	margin-right: 1.4rem;
}

.icon-disc.disc-border.no-shadow {
	box-shadow: none;
}

.icon-disc.disc-border:before {
	border: .4rem solid #fff;
	border-radius: 50%;
	content: "";
	display: block;
	position: absolute;
		bottom: -5%;
		left: -5%;
		right: -5%;
		top: -5%;
}

.icon-disc.disc-border.small-border:before {
	border-width: .2rem;
}

.icon-disc.disc-border.wavy:before,
.icon-disc.disc-border.wavy-green:before,
.icon-disc.disc-border.wavy-red:before {
	background: no-repeat center;
	background-size: contain;
	border: none;
}

.icon-disc.disc-border.wavy-green,
.icon-disc.disc-border.wavy-red {
	box-shadow: none;
}

.icon-disc.disc-border.wavy:before { background-image: url( ./assets/images/icons/wavy-disc-border-white.svg ); }
.icon-disc.disc-border.wavy-green:before { background-image: url( ./assets/images/icons/wavy-disc-border-green.svg ); }
.icon-disc.disc-border.wavy-red:before { background-image: url( ./assets/images/icons/wavy-disc-border-red.svg ); }

.icon-link-wrapper.small .icon-disc {
	height: 2.8rem;
	margin-right: .8rem;
	width: 2.8rem;
}

.icon-disc:after {
	background: transparent no-repeat center;
	background-size: 50% auto;
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.icon-link .label {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	position: relative;
		top: -.1rem;
}

.icon-link-wrapper.small label {
	font-size: 1.2rem;
}

/* SIZE */

.icon-link.big .icon-disc {
	height: 4rem;
	margin-right: 1.2rem;
	width: 4rem;
}

.icon-link.big.icon-position-right .icon-disc {
	margin: 0 0 0 1.2rem;
}

.icon-link.big .label {
	font-size: 1.6rem;
}

/* POSITIONS */

.icon-link.icon-position-right {
	flex-direction: row-reverse;
}

.icon-link.icon-position-right .icon-disc {
	margin: 0 0 0 1rem;
}

/* ICON VARIATIONS */

.icon-badge .icon-disc:after { background-image: url( ./assets/images/icons/badge-dark.svg ); background-size: auto 55%; }
.icon-badge-white .icon-disc:after { background-image: url( ./assets/images/icons/badge-white.svg ); background-size: auto 55%; }

.icon-checkmark .icon-disc:after { background-image: url( ./assets/images/icons/checkmark-dark.svg ); background-size: 55% auto; }
.icon-checkmark-white .icon-disc:after { background-image: url( ./assets/images/icons/checkmark-white.svg ); background-size: 55% auto; }

.icon-clock .icon-disc:after { background-image: url( ./assets/images/icons/clock-dark.svg ); background-size: 55% auto; }
.icon-clock-white .icon-disc:after { background-image: url( ./assets/images/icons/clock-white.svg ); background-size: 55% auto; }
.icon-clock-light-grayish-blue .icon-disc:after { background-image: url( ./assets/images/icons/clock-light-grayish-blue.svg ); background-size: 55% auto; }

.icon-cog .icon-disc:after { background-image: url( ./assets/images/icons/cog-dark.svg ); background-size: 50% auto; }
.icon-cog-white .icon-disc:after { background-image: url( ./assets/images/icons/cog-white.svg ); background-size: 50% auto; }

.icon-cross .icon-disc:after { background-image: url( ./assets/images/icons/cross-dark.svg ); background-size: 40% auto; }
.icon-cross-white .icon-disc:after { background-image: url( ./assets/images/icons/cross-white.svg ); background-size: 40% auto; }

.icon-document .icon-disc:after { background-image: url( ./assets/images/icons/document-dark.svg ); background-size: 37.5% auto; }
.icon-document-white .icon-disc:after { background-image: url( ./assets/images/icons/document-white.svg ); background-size: 37.5% auto; }

.icon-download .icon-disc:after { background-image: url( ./assets/images/icons/download-dark.svg ); background-size: 55% auto; }
.icon-download-white .icon-disc:after { background-image: url( ./assets/images/icons/download-white.svg ); background-size: 55% auto; }

.icon-expand .icon-disc:after { background-image: url( ./assets/images/icons/expand-dark.svg ); background-size: auto 46%; }
.icon-expand-white .icon-disc:after { background-image: url( ./assets/images/icons/expand-white.svg ); background-size: auto 46%; }

.icon-filter .icon-disc:after { background-image: url( ./assets/images/icons/filter-dark.svg ); background-size: auto 45%; }
.icon-filter-white .icon-disc:after { background-image: url( ./assets/images/icons/filter-white.svg ); background-size: auto 45%; }

.icon-floppy-disc .icon-disc:after { background-image: url( ./assets/images/icons/floppy-disc-dark.svg ); background-size: auto 45%; }
.icon-floppy-disc-white .icon-disc:after { background-image: url( ./assets/images/icons/floppy-disc-white.svg ); background-size: auto 45%; }
.icon-floppy-disc-light-grayish-blue .icon-disc:after { background-image: url( ./assets/images/icons/floppy-disc-light-grayish-blue.svg ); background-size: auto 45%; }

.icon-info .icon-disc:after { background-image: url( ./assets/images/icons/info-dark.svg ); background-size: auto 45%; }
.icon-info-white .icon-disc:after { background-image: url( ./assets/images/icons/info-white.svg ); background-size: auto 45%; }

.icon-padlock .icon-disc:after { background-image: url( ./assets/images/icons/padlock-dark.svg ); background-size: 40% auto; }
.icon-padlock-white .icon-disc:after { background-image: url( ./assets/images/icons/padlock-white.svg ); background-size: 40% auto; }

.icon-pause .icon-disc:after { background-image: url( ./assets/images/icons/pause-dark.svg ); background-size: auto 50%; }
.icon-pause-white .icon-disc:after { background-image: url( ./assets/images/icons/pause-white.svg ); background-size: auto 50%; }

.icon-play .icon-disc:after { background-image: url( ./assets/images/icons/play-dark.svg ); background-size: 35% auto; background-position: 52.5% center; }
.icon-play-white .icon-disc:after { background-image: url( ./assets/images/icons/play-white.svg ); background-size: 35% auto; background-position: 52.5% center; }

.icon-print .icon-disc:after { background-image: url( ./assets/images/icons/print-dark.svg ); background-size: 55% auto; }
.icon-print-white .icon-disc:after { background-image: url( ./assets/images/icons/print-white.svg ); background-size: 55% auto; }

.icon-restart .icon-disc:after { background-image: url( ./assets/images/icons/restart-dark.svg ); background-size: 55% auto; background-position: 56% center; }
.icon-restart-white .icon-disc:after { background-image: url( ./assets/images/icons/restart-white.svg ); background-size: 55% auto; background-position: 56% center; }

.icon-results .icon-disc:after { background-image: url( ./assets/images/icons/results-dark.svg ); }
.icon-results-white .icon-disc:after { background-image: url( ./assets/images/icons/results-white.svg ); }

.icon-share .icon-disc:after { background-image: url( ./assets/images/icons/share-dark.svg ); background-size: 45% auto; background-position: 45% center; }
.icon-share-white .icon-disc:after { background-image: url( ./assets/images/icons/share-white.svg ); background-size: 45% auto; background-position: 45% center; }

.icon-star-solid .icon-disc:after { background-image: url( ./assets/images/icons/star-solid-dark.svg ); background-position: center 47.5%; }
.icon-star-solid-white .icon-disc:after { background-image: url( ./assets/images/icons/star-solid-white.svg ); background-position: center 47.5%; }

.icon-star-stroke .icon-disc:after { background-image: url( ./assets/images/icons/star-stroke-dark.svg ); background-position: center 47.5%; }
.icon-star-stroke-white .icon-disc:after { background-image: url( ./assets/images/icons/star-stroke-white.svg ); background-position: center 47.5%; }

.icon-upload .icon-disc:after { background-image: url( ./assets/images/icons/upload-dark.svg ); background-position: 51.5% 47.5%; }
.icon-upload-white .icon-disc:after { background-image: url( ./assets/images/icons/upload-white.svg ); background-position: 51.5% 47.5%; }

/* Arrows */

.icon-arrow-right .icon-disc:after,
.icon-arrow-down .icon-disc:after,
.icon-arrow-left .icon-disc:after,
.icon-arrow-top .icon-disc:after { background-image: url( ./assets/images/icons/arrow-right-dark.svg ); }

.icon-arrow-white-right .icon-disc:after,
.icon-arrow-white-down .icon-disc:after,
.icon-arrow-white-left .icon-disc:after,
.icon-arrow-white-top .icon-disc:after { background-image: url( ./assets/images/icons/arrow-right-white.svg ); }

.icon-arrow-light-grayish-blue-right .icon-disc:after,
.icon-arrow-light-grayish-blue-down .icon-disc:after,
.icon-arrow-light-grayish-blue-left .icon-disc:after,
.icon-arrow-light-grayish-blue-top .icon-disc:after { background-image: url( ./assets/images/icons/arrow-right-light-grayish-blue.svg ); }

.icon-arrow-down .icon-disc:after,
.icon-arrow-light-grayish-blue-down .icon-disc:after,
.icon-arrow-white-down .icon-disc:after { transform: rotate(90deg); }
.icon-arrow-left .icon-disc:after,
.icon-arrow-light-grayish-blue-left .icon-disc:after,
.icon-arrow-white-left .icon-disc:after { transform: rotate(180deg); }
.icon-arrow-top .icon-disc:after,
.icon-arrow-light-grayish-blue-top .icon-disc:after,
.icon-arrow-white-top .icon-disc:after { transform: rotate(270deg); }


/* Master Box ------------------------------- */


.master-box {
	background-color: #fff;
	border-radius: .4rem;
	box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, 0.05 );
	display: block;
}

.master-box.big {
	border-radius: .8rem;
	box-shadow: 0 .3rem 1rem rgba( 0, 0, 0, 0.05 );
}

.master-box.box-default-padding {
	padding: 2.5rem 2rem;
}


/* Faux Inputs ------------------------------- */


.faux-radio-checkbox {
	position: absolute;
		left: -9999rem;
}

.faux-radio-checkbox + label {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-weight: 400;
	line-height: 1.25;
	position: relative;
}

.faux-radio-checkbox + label:before,
.faux-radio-checkbox + label:after {
	content: "";
	display: block;
}

.faux-radio-checkbox + label:before {
	background: #fff;
	border: .3rem solid #e1e1e5;
	height: 3.7rem;
	margin-right: 1.2rem;
	min-width: 3.7rem;
}

.faux-radio-checkbox + label:after {
	background: transparent no-repeat center;
	background-size: 90% auto;
	height: 2.2rem;
	position: absolute;
		left: .7rem;
		top: calc( 50% - 1.1rem );
	transform: scale( 0 );
	width: 2.2rem;
}

/* FAUX RADIO */

.faux-radio + label:before,
.faux-radio + label:after {
	border-radius: 50%;
}

/* FAUX CHECKBOX */

.faux-checkbox + label:before {
	border-radius: .4rem;
}

.faux-checkbox + label:after {
	border-radius: .2rem;
}

/* ACTIVE STATE */

.faux-radio-checkbox:checked + label,
.faux-radio-checkbox.correct + label,
.faux-radio-checkbox.incorrect + label {
	cursor: default;
	font-style: italic;
	font-weight: 700;
}

.faux-radio-checkbox.missed + label {
	cursor: default;
}

.faux-radio-checkbox:checked + label:after,
.faux-radio-checkbox.correct + label:after,
.faux-radio-checkbox.incorrect + label:after,
.faux-radio-checkbox.missed + label:after {
	animation: popIn .25s ease-out both;
}

.faux-radio-checkbox:checked + label:before { border-color: #FCD04A; }
.faux-radio-checkbox:checked + label:after { background-color: #FCD04A; }

.faux-radio-checkbox.correct + label { color: #9FDD63; }
.faux-radio-checkbox.correct + label:before { border-color: #9FDD63; }
.faux-radio-checkbox.correct + label:after { background-color: transparent; background-image: url( ./assets/images/icons/checkmark-green.svg ); }

.faux-radio-checkbox.missed + label:after { background-color: transparent; background-image: url( ./assets/images/icons/checkmark-gray.svg ); }

.faux-radio-checkbox.incorrect + label { color: #FF9696; }
.faux-radio-checkbox.incorrect + label:before { border-color: #FF9696; }
.faux-radio-checkbox.incorrect + label:after { background-color: transparent; background-image: url( ./assets/images/icons/cross-red.svg ); background-size: 70%; }


/* Notices ------------------------------- */


.notice {
	background: #90C2F6;
	border-radius: .4rem;
	color: rgba( 40, 43, 53, .85 );
	font-size: 1.4rem;
	margin-bottom: 1rem;
	padding: 1.4rem 4rem 1.4rem 1.6rem;
	position: relative;
	width: 100%;
}

.notice.notice-info { background: #90C2F6; }
.notice.notice-success { background: #9FDD63; }
.notice.notice-error { background: #FF9696; }
.notice.notice-warning { background: #FCD04A; }

.notice span {
	display: block;
	line-height: 1.35;
}

.notice a {
	color: rgba( 40, 43, 53, .85 );
	text-decoration: underline;
}

.notice a:hover {
	opacity: .5;
}

.notice .close-notice {
	background: url( ./assets/images/icons/cross-dark.svg ) no-repeat center;
	background-size: 1.2rem;
	cursor: pointer;
	position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
	width: 4rem;
}

.no-js .close-notice {
	display: none;
}


/* Di Luca Signature ------------------------------- */


.di-luca-signature {
	background: url( ./assets/images/di-luca-signature.svg ) no-repeat center;
	background-size: contain;
	max-width: 100%;
	width: 16rem;
}

.di-luca-signature:before {
	content: "";
	display: block;
	padding-top: 46.875%;
	width: 100%;
}


/* Dropdown Modal ------------------------------- */


.toggle {
	position: relative;
}

.dropdown-modal {
	background: #fff;
	border-radius: .5rem;
	box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, 0.05 );
	opacity: 0;
	position: absolute;
		left: -9999rem;
		top: -9999rem;
	transform: translateY( 1rem );
	transition: opacity .3s ease-in-out, transform .3s ease-in-out, left 0s .3s, right 0s .3s, top 0s .3s;
	width: 28rem;
	z-index: 999999;
}

.dropdown-modal:before,
.dropdown-modal:after {
	border: .8rem solid transparent;
	border-bottom-color: #fff;
	content: "";
	display: block;
	position: absolute;
		left: 1.6rem;
		top: -1.6rem;
}

.dropdown-modal.dark {
	background: #3D464D;
}

.dropdown-modal.dark:before,
.dropdown-modal.dark:after {
	border-bottom-color: #3D464D;
}

.dropdown-modal.active {
	left: -1rem;
	opacity: 1;
	transform: translateY( 0 );
	transition: opacity .3s ease-in-out,
				transform .3s ease-in-out;
	top: calc( 100% + 1.2rem );
}

.dropdown-modal p:last-of-type {
	margin-bottom: 0;
}

/* HELPER: ARROW RIGHT */

.dropdown-modal.arrow-right:before,
.dropdown-modal.arrow-right:after {
	left: auto;
	right: 1.8rem;
}

.dropdown-modal.arrow-right {
	left: auto;
	right: 9999rem;
}

.dropdown-modal.arrow-right.active {
	right: -.8rem;
}

/* MODAL CONTENT BASE */

.dropdown-modal ul,
.dropdown-modal li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dropdown-modal a {
	display: block;
}

.dropdown-modal .notice a {
	display: inline;
}


/* Cover Modal ------------------------------- */


.cover-modal {
	background: transparent;
	display: flex;
	overflow: auto;
	padding: 2rem 0;
	position: fixed;
		bottom: 0;
		left: -9999rem;
		right: 9999rem;
		top: 0;
	transition: background-color .25s ease-in, left 0s .25s, right 0s .25s;
	z-index: 9999;
}

.cover-modal.active {
	background: rgba( 255, 255, 255, 0.95 );
	left: 0;
	right: 0;
	transition: background-color .25s ease-out;
}

.cover-modal .modal-inner {
	margin: auto;
	opacity: 0;
	padding: 3rem 5%;
	transform: translateY( 1rem );
	transition: opacity .25s ease-in, transform .25s ease-in;
}

.cover-modal .modal-inner.master-box {
	box-shadow: 0 0 2rem rgba( 0, 0, 0, .1 );
}

.cover-modal.active .modal-inner {
	opacity: 1;
	transform: translateY( 0 );
	transition-timing-function: ease-out;
}

.cover-modal .modal-header {
	margin-bottom: 2.5rem;
}

.cover-modal .modal-content {
	font-size: 1.6rem;
}

.cover-modal .modal-content .smallcaps {
	margin-bottom: 1rem;
}


/* Image Lightbox ------------------------------- */


#image-lightbox .modal-inner {
	background: no-repeat center;
	background-size: contain;
	position: absolute;
		bottom: 8.5rem;
		left: 0;
		right: 0;
		top: 0;
}

@media ( orientation: portrait ) {
	#image-lightbox .modal-inner {
		top: 8.5rem;
	}
}

.close-image-lightbox {
	opacity: 0;
	margin: 0;
	position: absolute;
		bottom: 2.5rem;
		left: 0;
		right: 0;
	transition: opacity .25s ease-in;
}

.active .close-image-lightbox {
	opacity: 1;
	transition-timing-function: ease-out;
}


/* Video Preview ------------------------------- */


.video-preview {
	overflow: hidden;
}

.video-preview:not(.active):hover {
	cursor: pointer;
}

.video-preview .play-button {
	height: 6rem;
	position: absolute;
		left: calc( 50% - 3rem );
		top: calc( 50% - 3rem );
	transition: transform .15s ease-out;
	width: 6rem;
}

.video-preview:not(.active):hover .play-button {
	transform: scale(1.15);
}

.video-preview .play-button .icon-disc {
	height: 100%;
	width: 100%;
}

.video-preview header {
	background: linear-gradient( -180deg, rgba( 0, 0, 0, 0 ) 0%, rgba( 0, 0, 0, 0.65 ) 100% );
	padding: 2rem 1.5rem 1.2rem 1.5rem;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
}

.video-preview .video-title {
	font-size: 1.4rem;
}

.video-preview .video-description {
	display: none;
	font-size: 1.4rem;
	line-height: 1.35;
	margin: .3rem 0 .4rem;
	max-width: 40rem;
}

.course-video-wrapper .timestamp {
	font-size: 1.2rem;
	opacity: 0.8;
	padding-left: 1.8rem;
	position: relative;
}

.course-video-wrapper .timestamp:before {
	background: url( ./assets/images/icons/clock-white.svg ) no-repeat center;
	content: "";
	display: block;
	height: 1.3rem;
	position: absolute;
		left: 0;
		top: calc( 50% - .65rem );
	width: 1.3rem;
}

/* ACTIVE VIDEO */

.video-preview.playing {
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: default !important;
}

.video-preview iframe {
	margin: 0;
	opacity: 0;
	position: absolute;
		left: 0;
		top: 0;
	transition: opacity .5s linear;
}

.video-preview:after {
	background: transparent;
	position: relative;
	transition: background-color .5s linear;
	z-index: 9;
}

.video-preview.playing:after {
	background: #fff;
}

.video-preview.playing iframe {
	bottom: -.1rem;
	left: -.1rem;
	right: -.1rem;
	top: -.1rem;
	opacity: 1;
	z-index: 10;
}

.video-preview.playing .play-button {
	animation: popInOut .5s 1 forwards;
	transition: none;
	z-index: 11;
}

@keyframes popInOut {
	0% {	transform: scale( 1.15 ) }
	50% {	transform: scale( 1.25 ); }
	100% {	transform: scale( 0 ); }
}


/* Video Playlist ------------------------------- */


.video-playlist-wrapper {
	margin-top: 1.1rem;
}

.video-playlist-wrapper > .title {
	margin-bottom: .5rem;
}

.video-playlist {
	border-radius: .4rem;
}

.video-playlist-item {
	align-items: center;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	max-height: 15rem;
	padding: .8rem;
	position: relative;
}

.video-playlist-item.active {
	background: #E1E1E4;
	cursor: default;
}

.video-playlist-item:first-child {
	border-top-left-radius: .4rem;
	border-top-right-radius: .4rem;
}

.video-playlist-item:last-child {
	border-bottom-left-radius: .4rem;
	border-bottom-right-radius: .4rem;
}

.video-playlist-item + .video-playlist-item:before {
	background: #E1E1E4;
	content: "";
	display: block;
	height: .1rem;
	position: absolute;
		left: .8rem;
		right: .8rem;
		top: -.05rem;
}

.video-playlist-item .faux-image {
	border-radius: .2rem;
	margin-right: 1.6rem;
	max-height: inherit;
	min-width: 38.5%;
}

.video-playlist-item header {
	width: 100%;
}

.video-playlist-item .video-title {
	font-size: 1.4rem;
}

.video-playlist-item .timestamp {
	margin: .2rem 0 0;
}

.video-playlist-item .timestamp:before {
	background-image: url( ./assets/images/icons/clock-dark.svg );
}

.playlist-video-icon {
	background: #fff;
	border-radius: 50%;
	height: 3.9rem;
    padding: .2rem;
	position: absolute;
		left: -1.95rem;
		top: calc( 50% - 1.95rem );
	width: 3.9rem;
}

.playlist-video-icon .video-number {
	align-items: center;
	display: flex;
	justify-content: center;
}

.playlist-video-icon .playing,
.playlist-video-icon .video-number {
	position: absolute;
		left: .2rem;
		top: .2rem;
	transition: opacity .15s linear .1s;
}

.playlist-video-icon .playing,
.video-playlist-item.active .playlist-video-icon .video-number {
	opacity: 0;
}

.video-playlist-item.active .playlist-video-icon .playing {
	opacity: 1;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Structure
/* --------------------------------------------------------------------------------------------- */


#site-header,
#site-content,
#site-footer {
	width: 100%;
}


/* Section Structure --------------------------------- */


section {
	padding: 4rem 0;
	width: 100%;
}

.no-padding,
section.no-padding { padding: 0; }
section.no-top-padding { padding-top: 0; }
section.no-bottom-padding { padding-bottom: 0; }

.small-padding {
	padding: 3rem 0;
}

#site-content > section:last-child:not(.retain-bottom-padding) {
	padding-bottom: 0;
}

.section-inner {
	margin: 0 auto;
	max-width: 144rem;
	width: 90%;
}

.section-inner.max-percentage {
	width: 100%;
}

.section-inner + .section-inner {
	margin-top: 4rem;
}

.section-inner.medium { max-width: 104rem; }
.section-inner.small { max-width: 68rem; }
.section-inner.thin { max-width: 82rem; }
.section-inner.thinnest { max-width: 35rem; }


/* --------------------------------------------------------------------------------------------- */
/*	4. Site Header
/* --------------------------------------------------------------------------------------------- */


#site-header {
	background: #fff;
	border-bottom: .1rem solid #EAEAEF;
	padding: 1rem 0;
	position: relative;
}

.overlay-header #site-header {
	background: linear-gradient(-180deg, rgba(0,0,10,0.50) 0%, rgba(0,0,10,0.00) 97%);
	border-bottom: none;
	color: #fff;
	position: absolute;
		left: 0;
		right: 0;
		top: 0;
}

#site-header .section-inner,
.header-contents {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.header-contents {
	margin-left: 2rem;
	position: relative;
	width: 100%;
}


/* Site Logo ------------------------------- */


.site-logo {
	background: url( ./assets/images/accademia-logo.png ) no-repeat center;
	background-size: 100%;
	border-radius: .3rem;
	display: block;
	flex-shrink: 0;
	height: 5rem;
	width: 5rem;
}


/* Header Menu ------------------------------- */


.main-menu {
	display: flex;
	font-size: 1.5rem;
	list-style: none;
	margin: 0;
	justify-content: flex-start;
}

.main-menu a {
	color: #47525D;
	display: block;
	padding-left: 3rem;
	position: relative;
}

.overlay-header #site-header .main-menu a {
	color: #fff;
}

.main-menu li {
	margin: 0;
}

.main-menu a:before {
	background: no-repeat center;
	background-size: auto 100%;
	content: "";
	display: block;
	height: 2rem;
	position: absolute;
		left: 0;
		top: 50%;
	transform: translateY( -50% );
	width: 2rem;
}

/* LOGGED IN */

.main-menu .courses-link a:before {
	background-image: url( ./assets/images/icons/courses-dark.svg );
}

.main-menu .search-link {
	border-right: .1rem solid #E1E1E4;
	position: absolute;
	right: 5.1rem;
	text-indent: -9999rem;
}

.main-menu .search-link a {
	padding-left: 3.5rem;
}

.main-menu .search-link a:before {
	background-image: url( ./assets/images/icons/search-dark.svg );
}

.overlay-header .main-menu .courses-link a:before { background-image: url( ./assets/images/icons/courses-white.svg ); }
.overlay-header .main-menu .search-link a:before { background-image: url( ./assets/images/icons/search-white.svg ); }

/* NOT LOGGED IN */

.not-logged-in .info-link {
	display: none;
}

.main-menu .info-link a:before {
	background-image: url( ./assets/images/icons/info-circle-dark.svg );
}

.main-menu .register-link a:before {
	background-image: url( ./assets/images/icons/user-dark.svg );
	height: 2.4rem;
}

.overlay-header .main-menu .info-link a:before { background-image: url( ./assets/images/icons/info-circle-white.svg ); }
.overlay-header .main-menu .register-link a:before { background-image: url( ./assets/images/icons/user-white.svg ); }


/* Header Search ------------------------------- */


#site-header .search-overlay {
	background: #fff;
	display: flex;
	opacity: 0;
	position: absolute;
		bottom: 0;
		left: -999999rem;
		top: 0;
	transition: opacity .2s linear, left 0s .2s;
	width: 100vw;
}

#site-header .search-overlay.active {
	left: calc( 50vw - 50% );
	opacity: 1;
	transition: opacity .2s linear;
}

#site-header .search-overlay .section-inner,
#site-header .header-search-form {
	align-items: stretch;
	display: flex;
}

#site-header .header-search-field {
	background: url( ./assets/images/icons/search-dark.svg ) no-repeat center left;
	background-size: 2.4rem auto;
	border: none;
	font-size: 1.8rem;
	font-style: italic;
	margin-right: 1rem;
	padding: 0 0 0 3.4rem;
}

#site-header .header-search-field::-moz-placeholder { /* Firefox specific placeholder fix */
   line-height: 7rem;
}

#site-header .icon-link {
	flex-shrink: 0;
}


/* Header Account Modal ------------------------------- */


.account-toggle .toggle-label {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.account-toggle .account-label {
	color: #47525D;
	margin-right: .8rem;
	text-align: right;
}

.account-toggle .account-label > span {
	display: block;
	line-height: 1.2;
	text-align: inherit;
}

.account-toggle .account-label > span:first-child {
	font-size: 1.3rem;
	font-weight: 700;
}

.account-toggle .account-label > span:nth-child(2) {
	color: #7B8994;
	font-size: 1.4rem;
	margin-top: .2rem;
}

.overlay-header .account-toggle .account-label,
.overlay-header .account-toggle .account-label span:nth-child(2) {
	color: #fff;
}

body:not(.overlay-header) .account-modal:not(.dark) {
	border: .1rem solid #e1e1e4;
}

body:not(.overlay-header) .account-modal:not(.dark):before {
	border-bottom-color: #e1e1e4;
}

body:not(.overlay-header) .account-modal:after {
	margin-top: .1rem;
}

.account-avatar {
	background: #F4F4F6 no-repeat center url( ./assets/images/icons/user-dark.svg );
	background-size: 1.6rem auto;
	border-radius: 50%;
	position: relative;
}

.account-avatar.has-image {
	background-size: cover;
}

.account-toggle .account-avatar {
	flex-shrink: 0;
	height: 3.6rem;
	width: 3.6rem;
}

.account-toggle .form-login .form-row {
	margin: 0 0 1rem;
}

/* LOGGED IN */

.logged-in .account-toggle .account-label {
	display: none;
}

.overlay-header .account-toggle .account-avatar {
	background-color: #fff;
}

.logged-in .account-toggle .account-avatar:before {
	background: #7B8994 url( ./assets/images/icons/chevron-fat-white-down.svg ) no-repeat center;
	border: .2rem solid #fff;
	border-radius: 50%;
	content: "";
	display: block;
	height: 2.2rem;
	position: absolute;
		bottom: -.5rem;
		right: -.4rem;
	transition: transform .2s linear;
	width: 2.2rem;
}

.logged-in .account-toggle.active .account-avatar:before {
	transform: rotateX(180deg);
}

.logged-in .dropdown-modal {
	width: 22rem;
}

.account-menu {
	padding: 1.5rem 0;
}

.account-menu a {
	color: #fff;
	display: block;
	font-size: 1.5rem;
	line-height: 1;
	padding: 1.4rem 2rem 1.5rem 6rem;
	position: relative;
}

.account-menu a:hover {
	background: rgba( 255, 255, 255, .1 );
}

.account-menu a:before {
	background: no-repeat center;
	content: "";
	display: block;
	height: 2rem;
	opacity: 0.35;
	position: absolute;
		left: 2rem;
		top: 50%;
	transform: translateY( -50% );
	width: 2rem;
}

.account-menu a.link-profile:before { background-image: url( ./assets/images/icons/user-white.svg ); }
.account-menu a.link-settings:before { background-image: url( ./assets/images/icons/cog-white.svg ); }
.account-menu a.link-logout:before { background-image: url( ./assets/images/icons/arrow-right-white.svg ); }

/* NOT LOGGED IN */

.not-logged-in .account-modal {
	padding: 2rem;
}

.not-logged-in .account-toggle .account-avatar {
	background-image: none;
	position: relative;
}

.not-logged-in .account-toggle .account-avatar:before,
.not-logged-in .account-toggle .account-avatar:after {
	background: no-repeat center;
	background-size: 1.6rem auto;
	content: "";
	display: block;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
	transition: opacity .25s ease-in, transform .25s ease-in;
}

.not-logged-in .account-toggle .account-avatar:before { background-image: url( ./assets/images/icons/padlock-grayish-blue.svg ); }
.not-logged-in .account-toggle .account-avatar:after { background-image: url( ./assets/images/icons/cross-thin-grayish-blue.svg ); background-size: 1.7rem auto; }

.not-logged-in .account-toggle:not(.active) .account-avatar:after,
.not-logged-in .account-toggle.active .account-avatar:before {
	opacity: 0;
	transform: scale( .5 );
}

.not-logged-in .account-toggle.active .account-avatar:after {
	opacity: 1;
	transform: scale( 1 );
}

.account-modal .form-login input[type="text"],
.account-modal .form-login input[type="password"] {
	font-size: 1.4rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Entry Content
/* --------------------------------------------------------------------------------------------- */


.entry-content {
	position: relative;
}

.entry-content:last-child {
	margin-bottom: 0;
}

.entry-content a {
	color: #0060A0;
	text-decoration: underline;
}

.entry-content a:hover {
	color: #00568F;
}

.entry-content .faux-button,
.entry-content .faux-button:hover {
	color: inherit;
	text-decoration: none;
}

hr {
	border: none;
	border-top: .2rem solid #E0E2E6;
	margin: 3rem 0;
}

.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }

.entry-content p {
	line-height: 1.525;
	margin-bottom: 2rem;
	width: 100%;
}

.entry-content .alert > p {
	margin-bottom: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-weight: 700;
	line-height: 1.2;
	margin: 3rem 0 2rem;
}

.entry-content h1 + h1, .entry-content h1 + h2, .entry-content h1 + h3, .entry-content h1 + h4, .entry-content h1 + h5, .entry-content h1 + h6,
.entry-content h2 + h1, .entry-content h2 + h2, .entry-content h2 + h3, .entry-content h2 + h4, .entry-content h2 + h5, .entry-content h2 + h6,
.entry-content h3 + h1, .entry-content h3 + h2, .entry-content h3 + h3, .entry-content h3 + h4, .entry-content h3 + h5, .entry-content h3 + h6,
.entry-content h4 + h1, .entry-content h4 + h2, .entry-content h4 + h3, .entry-content h4 + h4, .entry-content h4 + h5, .entry-content h4 + h6,
.entry-content h5 + h1, .entry-content h5 + h2, .entry-content h5 + h3, .entry-content h5 + h4, .entry-content h5 + h5, .entry-content h5 + h6,
.entry-content h6 + h1, .entry-content h6 + h2, .entry-content h6 + h3, .entry-content h6 + h4, .entry-content h6 + h5, .entry-content h6 + h6 {
	margin-top: 2rem;
}

.entry-content h1 { font-size: 3.2rem; }
.entry-content h2 { font-size: 2.8rem; }
.entry-content h3 { font-size: 2.6rem; }
.entry-content h4 { font-size: 2.4rem; }
.entry-content h5 { font-size: 2rem; }
.entry-content h6 { font-size: 1.6rem; }

.entry-content > ol,
.entry-content > ul {
	margin-bottom: 2rem;
}

.entry-content ol,
.entry-content ul {
	margin-left: 5%;
}

.entry-content ul { list-style: disc; }
.entry-content ul ul { list-style: circle; }
.entry-content ul ul ul { list-style: square; }

.entry-content ol { list-style: decimal; }
.entry-content ol ol { list-style: lower-alpha; }
.entry-content ol ol ol { list-style: lower-roman; }

.entry-content li {
	line-height: 1.525;
	margin-top: 1.5rem;
}


/* Shortcode: Page Links ------------------------------- */


.entry-content > .page-links:first-child {
	padding-top: 0;
}

.page-links-wrapper {
	margin-bottom: -1.5rem;
}

.page-link {
	align-items: center;
	display: flex;
	margin-bottom: 1.5rem;
	padding: .5rem;
}

a.page-link {
	text-decoration: none;
}

.page-link:hover .page-link-title {
	text-decoration: underline;
}

.page-link .faux-image {
	border-radius: .2rem;
	margin-right: 1.2rem;
	width: 6rem;
}

.page-link .faux-image:after {
	padding-top: 100%;
}

.page-link .page-link-title {
	font-size: 1.4rem;
	line-height: 1.25;
	margin: 0;
}

.page-link .page-link-domain {
	font-size: 1.3rem;
	line-height: 1;
	margin: .4rem 0 0;
}


/* Shortcode: File Attachment ------------------------------- */

.attachment-link {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin: 3rem 0;
	padding: 1.5rem 1.8rem;
}

.attachment-link a,
.attachment-link a:hover {
	color: inherit;
	text-decoration: none;
}

.attachment-link .file-icon {
	display: none;
}

.attachment-link header {
	width: 100%;
}

.attachment-link .file-title {
	font-size: 1.6rem;
	line-height: 1.25;
	margin: 0 0 .7rem;
}

.attachment-link .file-title a:hover {
	text-decoration: underline;
}

.attachment-link .file-meta {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.attachment-link .file-type {
	border-radius: .2rem;
	display: block;
	font-size: 1.4rem;
	line-height: 1;
	padding: .2rem .6rem .4rem;
}

.attachment-link .file-size {
	font-size: 1.1rem;
	margin: 0 0 0 .8rem;
	position: relative;
		top: -.1rem;
}

.attachment-link .faux-button {
	background-image: url( ./assets/images/icons/download-dark.svg );
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50% auto;
	border-radius: 50%;
	flex-shrink: 0;
	margin-left: 1rem;
	min-width: 0;
	padding: 1.1rem 1.9rem 1.2rem;
	text-indent: -9999rem;
	width: 3.8rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Forms
/* --------------------------------------------------------------------------------------------- */


/* Shared Account Form Page Styling ------------------------------- */

.account-page-header.section-inner + .section-inner {
	margin-top: 4rem;
}

.account-page-header .title2 {
	margin-bottom: 1.5rem;
}

.account-page-header .title4 {
	line-height: 1.45;
}


/* Login Form ------------------------------- */

.form-login.size-small p {
	margin-bottom: 1.5rem;
}

.form-login p:last-child {
	margin: 0;
}

.form-login .form-row-submit {
	align-items: center;
	display: flex;
}

.form-login .form-row-submit .lost-password {
	margin-left: 1rem;
}


/* Default Search Form ------------------------------- */

.default-search-form {
	position: relative;
}

.default-search-form input[type="search"] {
	border: .1rem solid #e1e1e5;
	border-radius: 9999rem;
	font-size: 1.4rem;
	padding: 1.1rem 6.4rem 1.2rem 2.2rem;
}

.default-search-form label {
	background: url( ./assets/images/icons/search-dark.svg ) no-repeat center;
	background-size: 2rem auto;
	cursor: text;
	display: block;
	position: absolute;
		bottom: 0;
		right: 0;
		top: 0;
	width: 6.4rem;
}

.default-search-form.fullwidth-mobile input[type="search"] {
	border-left: none;
	border-right: none;
	border-radius: 0;
	padding-left: 5vw;
	padding-right: calc( 10vw + 2rem );
}

.default-search-form.fullwidth-mobile label {
	width: calc( 10vw + 2rem );
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Page Home
/* --------------------------------------------------------------------------------------------- */


.page-home #site-header {
	z-index: 1;
}

.page-home #site-content {
	overflow: hidden;
}

.page-home #site-footer {
	background: #fff;
}


/* Home Hero ------------------------------- */


.home-hero {
	background: no-repeat top center;
	background-size: auto 44rem;
	padding-top: 11.5rem;
	position: relative ;
}

.home-hero:before {
	background-image: linear-gradient( -180deg, #282B35 0%, rgba( 40, 43, 53, 0.01 ) 51%, rgba( 40, 43, 53, 0.00 ) 100% );
	content: "";
	display: block;
	opacity: 0.5;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 0;
}

.hero-cutoff {
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		top: 44rem;
}

.page-home .hero-header {
	color: #fff;
	margin-bottom: 4.5rem;
	max-width: 65rem;
	position: relative;
}

.page-home .hero-header .hero-title,
.page-home .hero-header .hero-excerpt {
	text-shadow: 0 .1rem 0 rgba( 40, 43, 53, 0.4 ), 0 0 1rem rgba( 40, 43, 53, 0.6 );
}

.page-home .hero-header .hero-title {
	line-height: 1.125;
}

.page-home .hero-header .hero-excerpt {
	font-size: 2rem;
	line-height: 1.4;
}


/* Puffar ------------------------------- */


.puff-wrapper {
	max-width: 124rem;
	position: relative;
}

.puff {
	padding: 0 2rem 2rem 2rem;
}

.puff + .puff {
	margin-top: 2rem;
}

.puff header {
	align-items: center;
	display: flex;
	margin-bottom: 1rem;
}

.bookmark {
	background: url( ./assets/images/bookmark.svg ) no-repeat center;
	height: 6.5rem;
	margin-right: 2rem;
	position: relative;
	width: 5rem;
}

.bookmark:before {
	background: no-repeat center;
	content: "";
	display: block;
	position: absolute;
		bottom: .5rem;
		left: 0;
		right: 0;
		top: 0;
}

.bookmark.icon-padlock:before {
	background-image: url( ./assets/images/icons/padlock-dark.svg );
	background-size: auto 2.4rem;
}

.bookmark.icon-info:before {
	background-image: url( ./assets/images/icons/info-dark.svg );
	background-size: auto 2.2rem;
}

.puff .form-login,
.puff .notice {
	max-width: 37rem;
}

.puff .content p {
	line-height: 1.5;
}

.puff .content p a:hover {
	text-decoration: underline;
}

.puff footer {
	align-items: center;
	display: flex;
}

.puff footer .alt-link {
	margin-left: 1rem;
}

.puff input[type="submit"],
.puff .faux-button {
	min-width: 11rem;
	text-align: center;
}


/* Home About ------------------------------- */


.home-about {
	padding-bottom: 0;
}

.home-about .content {
	margin: 0 auto;
	max-width: 52rem;
}

.home-about .collage {
	overflow: hidden;
	margin-top: 4rem;
}

.home-about .collage:before {
	padding-top: 80%;
}

.collage-image {
	border: 2.5vw solid #fff;
	box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, 0.05 );
	width: 50%;
	position: absolute;
}

.collage-image:nth-child(1),
.collage-image:nth-child(4) {
	transform: rotate(-5deg);
}

.collage-image:nth-child(1),
.collage-image:nth-child(3) {
	bottom: 10%;
}

.collage-image:nth-child(2),
.collage-image:nth-child(3) {
	transform: rotate(5deg);
}

.collage-image:nth-child(2),
.collage-image:nth-child(4) {
	top: 10%;
}

.collage-image:nth-child(1) { left: -29.6%; z-index: 4; }
.collage-image:nth-child(2) { left: 5.6%; z-index: 2; }
.collage-image:nth-child(3) { left: 38.4%; z-index: 1; }
.collage-image:nth-child(4) { left: 70.4%; z-index: 3; }


/* Home Features ------------------------------- */


.feature-section + .feature-section {
	padding-top: 0;
}

.feature-section .content {
	margin: 0 auto 4rem auto;
	max-width: 42rem;
}

.feature-section .macbook {
	display: none;
}

.feature-section .iphone-wrapper {
	background-image: linear-gradient(-179deg, rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.08) 100%);
	height: 125vw;
	max-height: 54.8rem;
	overflow: hidden;
	position: relative;
}

.feature-section .iphone {
	margin: 0 auto;
	max-width: 35rem;
	width: 90%;
}

.feature-section .iphone-wrapper .wavy-border {
	height: 1rem;
	position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
}

.feature-section .quiz-items {
	margin: 0 auto -20rem auto;
	width: 90%;
}

ul.feature-list {
	margin: 0;
}

.feature-list li {
	align-items: center;
	color: #3D464D;
	display: flex;
	line-height: 1.47;
	margin: 0 0 1.8rem;
	min-height: 4rem;
	position: relative;
	padding-left: 5.5rem;
}

.feature-list li:before {
	background: #fff url( ./assets/images/icons/checkmark-green.svg ) no-repeat center;
	background-size: auto 1.4rem;
	border: .25rem solid #9FDD63;
	border-radius: 50%;
	content: "";
	display: block;
	height: 4rem;
	position: absolute;
		left: 0;
		top: calc( 50% - 2rem );
	width: 4rem;
}

.feature-list li:last-child {
	margin: 0;
}


/* Home CTA ------------------------------- */


.page-home #site-content .home-cta {
	box-shadow: 0 0 2rem rgba( 0, 0, 0, 0.15 );
	padding: 6rem 0 3rem;
}

.home-cta img {
	display: block;
	margin: 0 auto 2rem auto;
	width: 6.7rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Page Dashboard
/* --------------------------------------------------------------------------------------------- */


/* Big Puff ------------------------------- */

.big-puff {
	border-bottom: .1rem solid #e1e1e5;
}

.big-puff header {
	padding: 3rem 0 3.5rem;
	position: relative;
}

.big-puff header .wavy-border {
	position: absolute;
}

.big-puff header .section-inner {
	position: relative;
}


/* Dashboard Archive ------------------------------- */

header.filter-courses {
	margin-bottom: 1.5rem;
	position: relative;
}

.filter-courses-title {
	padding-right: 5rem;
	position: relative;
}

.filter-courses .filter-toggle .label {
	display: none;
}

.grid .no-results-title {
	display: none;
	margin-bottom: 2rem;
	margin-top: 2rem;
	width: 100%;
}

.no-results .no-results-title {
	display: block;
}

header.filter-courses .icon-link-wrapper {
	margin: 0;
	position: absolute;
		right: 0;
		top: .5rem;
}

.filter-toggle .icon {
	height: 2.8rem;
	margin-right: .8rem;
	width: 2.8rem;
}

.filter-toggle:hover .label {
	text-decoration: none;
}

.filter-toggle.active .label {
	text-decoration: underline;
}

header.filter-courses .default-search-form {
	display: none;
}


/* Internal Courses Section ------------------------------- */


.page-dashboard .courses-section-seperator {
	margin: 0;
}


/* Course Preview ------------------------------- */

.course-preview .faux-image {
	border-radius: .4rem;
	position: relative;
}

.course-preview .course-status-indicator {
	position: absolute;
		left: 1.4rem;
		top: 1.4rem;
	z-index: 1;
}

.course-preview .course-status-indicator .icon-disc {
	margin: 0;
}

.course-preview header {
	padding: 2.5rem 2.5rem 3.4rem;
}

.course-preview header p {
	font-size: 1.6rem;
	line-height: 1.375;
	margin: 0;
}

.course-preview .icon-link-wrapper {
	margin-top: 1.2rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Page Course
/* --------------------------------------------------------------------------------------------- */


/* Course Header ------------------------------- */


.course-header.section-inner {
	max-width: 46rem;
}


/* Video Preview Wrapper ------------------------------- */

.course-video-wrapper {
	position: relative;
}

.course-video-wrapper .video-note {
	font-size: 1.2rem;
	margin: .8rem 0 0 0;
}


/* Course Completed ------------------------------- */


.course-completed > .section-inner {
	max-width: 64rem;
	padding: 8.4rem 2.5rem 3rem;
	position: relative;
}

.course-completed .badge {
	position: absolute;
		left: calc( 50% - 4rem );
		top: -3rem;
	width: 8rem;
}

/* SHARE SHEET */

.share-sheet-subtitle {
	margin-top: .3rem;
}

.share-stats {
	display: flex;
	justify-content: space-between;
	margin: 2.5rem 0 3rem;
}

.share-stats > div {
	display: flex;
	flex-direction: column;
	padding: 1rem 0;
	width: 100%;
}

.share-stats > div + div {
	border-left: .1rem solid #E1E1E4;
}

.share-stats > div:last-child {
	display: none;
}

.share-stats > div .smallcaps {
	margin-bottom: 1rem;
}

.share-stats > div > *:not( h6 ) {
	align-items: flex-end;
	display: flex;
	flex-grow: 1;
	justify-content: center;
}

.share-stats .title1,
.share-stats .fraction-numbers {
	letter-spacing: inherit;
	line-height: .8;
}

.share-stats .title1,
.share-stats .fraction-numbers .part {
	font-size: 4rem;
}

.share-stats .fraction-numbers .whole {
	font-size: 2.4rem;
}

.share-stats .fraction-numbers .whole:before {
	font-size: 1em;
	top: -.3rem;
}

.share-buttons a {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 1.7rem;
	font-weight: 400;
	justify-content: center;
	padding: 1.8rem 0;
	text-align: center;
	width: 100%;
}

.share-buttons a:before {
	background: no-repeat center right;
	background-size: contain;
	content: "";
	display: block;
	height: 2rem;
	margin-right: 1.2rem;
	width: 2rem;
}

.share-buttons a.facebook:before { background-image: url( ./assets/images/icons/facebook-white.svg ); }
.share-buttons a.twitter:before { background-image: url( ./assets/images/icons/twitter-white.svg ); }
.share-buttons a.email:before { background-image: url( ./assets/images/icons/envelope-white.svg ); width: 3rem; }

.share-buttons a + a {
	margin: 1rem 0 0;
}


/* Course Moments ------------------------------- */


.course-moments {
	position: relative;
}

.course-moments.deactivated {
	max-height: 32rem;
	overflow: hidden;
}

.courses-overlay {
	bottom: -4rem;
	top: -4rem;
}

.course-moments.deactivated .courses-overlay .title3 {
	line-height: 1.3;
}


/* Course Moment Preview ------------------------------- */

.course-moment-preview {
	align-items: center;
	border-radius: .8rem;
	display: flex;
	margin-bottom: 3rem;
	min-height: 29.1rem;
	padding: 4.7rem 0 2rem;
	position: relative;
}

.course-moment-preview:last-child {
	margin-bottom: 0;
}

.course-moment-preview .stars {
	border-radius: 0 0 .4rem .4rem;
	position: absolute;
		left: 50%;
		top: 0;
	transform: translateX( -50% );
}

.course-moment-preview header.section-inner {
	max-width: 36rem;
}

.course-moment-preview .icon-link-wrapper {
	margin-top: 0;
}

.course-moment-preview .course-moment-preview-title + .icon-link-wrapper {
	margin-top: 1.5rem;
}

.course-moment-preview .progress-bar {
	border-radius: 0 0 .8rem .8rem;
	z-index: 1;
}


/* Course Description ------------------------------- */


.summary {
	padding: 2.5rem 3rem;
}

.summary-title {
	margin-bottom: 2.5rem;
}


/* Course Diploma ------------------------------- */


#diploma-modal .close-image-lightbox {
	bottom: auto;
	left: auto;
	top: 2.5rem;
	right: 2.5rem;
}

.modal-diploma-inner {
	display: flex;
	margin: 0 auto;
	max-width: 100%;
	opacity: 0;
	transform: translateY( 2rem );
	transition: transform .25s linear, opacity .25s linear;
}

.active .modal-diploma-inner {
	opacity: 1;
	transform: translateY( 0 );
}

.modal-diploma-inner > iframe {
	height: calc( 100vh - 17rem );
	margin: auto;
	width: 90vw;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Page Examination
/* --------------------------------------------------------------------------------------------- */


/* Examination Header ------------------------------- */


.examination-header .button-wrapper {
	margin-bottom: 3rem;
}

.examination-header .title1 {
	margin-bottom: .5rem;
}

.title-status-indicator {
	display: inline-block;
	margin: 0 0 0 .6rem;
	position: relative;
		bottom: -.4rem;
}

.title-status-indicator.icon-link-wrapper .icon-disc {
	margin: 0;
}


/* Examination Results ------------------------------- */


/* RESULTS SUMMARY */

.results-summary {
	margin-bottom: 4rem;
}

.results-summary.desktop-summary {
	display: none;
}

.results-summary .icon-link-wrapper {
	margin-top: 2rem;
}


/* MOMENT CERTIFICATE */

.moment-certificate {
	margin-bottom: 5.5rem;
	padding: 3rem 2rem 4rem;
}

.moment-certificate header {
	margin-bottom: 3rem;
	padding: 1rem 0 1rem 3.8rem;
	position: relative;
}

.moment-certificate header .badge {
	position: absolute;
		left: -3.35rem;
		top: 50%;
	transform: translateY( -50% );
	width: 6.3rem;
}

.moment-certificate header h4 {
	margin-top: .5rem;
}

.moment-certificate .smallcaps {
	font-size: 1.5rem;
	margin-bottom: .6rem;
}

.moment-certificate .handwritten-line {
	margin-bottom: 2rem;
}

.moment-certificate footer {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 2.5rem;
}

.moment-certificate .stars-wrapper .smallcaps {
	margin-bottom: 1rem;
}

.moment-certificate .di-luca-signature {
	max-width: 47.5%;
}


/* RESULTS STATS */

.results-stats .item {
	border-top: .1rem solid #e1e1e4;
	padding-top: 1.8rem;
	margin-top: 2.5rem;
}

.results-stats .column:first-child .item:first-child {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

.fraction-numbers {
	color: #D1D1D4;
	font-weight: 700;
	letter-spacing: -0.05em;
	line-height: 1;
}

.fraction-numbers .part {
	color: #9FDD63;
	font-size: 6.4rem;
}

.fraction-numbers .whole {
	font-size: 3.2rem;
	margin: 0 0 0 .5rem;
}

.fraction-numbers .whole:before {
	content: "/";
	font-size: 4rem;
	position: relative;
		top: -.5rem;
}

.results-stats .item-label {
	margin-bottom: 1.2rem;
}

.star-levels .stars + .stars {
	margin-top: .8rem;
}

.results-stats .pie-chart-wrapper {
	width: 22.9rem;
}


/* RESTART EXAMINATION */

.restart-examination-wrapper .section-inner {
	font-size: 0.75em;
	margin-top: -4rem;
	max-width: 36.5rem;
	position: relative;
		top: 4rem;
	z-index: 1;
}

.restart-examination-wrapper .faux-button.big {
	max-width: 100%;
	padding: 2.6rem 2rem;
	width: 32rem;
}

.restart-examination-wrapper + .quiz-wrapper {
	padding-top: 8rem;
}


/* Quiz Not Started ------------------------------- */

.examination-header-wrapper {
	padding-bottom: 8rem;
}

.quiz-wrapper.not-started,
.start-examination-wrapper {
	padding-top: 0;
}

section.start-examination-wrapper {
	padding-bottom: 4rem;
}

.start-examination-wrapper .section-inner {
	margin-bottom: -4rem;
	position: relative;
		top: -4rem;
	z-index: 1;
}

.start-examination-wrapper p {
	margin-top: 1.8rem;
}

.quiz-wrapper.not-started .quiz-items {
	max-height: 15rem;
	overflow: hidden;
	position: relative;
}

.quiz-wrapper.not-started .quiz-items:before {
	background: linear-gradient( -180deg, rgba( 244, 244, 246, 0 ) 0%, #F4F4F6 100% );
	z-index: 1;
}


/* Quiz Item ------------------------------- */

/* QUIZ HEADER */

.quiz-item {
	max-width: 69.1rem;
}

.quiz-items.do-focus .quiz-item {
	transition: opacity .3s ease-out, transform .3s ease-out;
}

.quiz-item.unfocus {
	opacity: .25;
}

.quiz-item.unfocus.direction-up { transform: scale( 0.95 ) translateY( -3rem ); }
.quiz-item.unfocus.direction-down { transform: scale( 0.95 ) translateY( 3rem ); }

.section-inner.quiz-item + .quiz-item {
	margin-top: 3rem;
}

.important-note {
	font-size: 1.5rem;
	margin-bottom: 1rem;
	padding-left: 2.1rem;
	position: relative;
}

.important-note:before {
	background: #7B8994 url( ./assets/images/icons/asterisk-white.svg ) no-repeat center;
	background-size: .8rem auto;
	border-radius: 50%;
	content: "";
	display: block;
	height: 1.6rem;
	position: absolute;
		left: 0;
		top: calc( 50% - .8rem );
	width: 1.6rem;
}

.quiz-item .quiz-header {
	padding: 2rem 2.5rem 0;
}

/* QUIZ MEDIA */

.quiz-media {
	margin: 2rem 1.5rem 0 1.5rem;
	position: relative;
}

.show-image-fullscreen {
	background: none;
	border-radius: 0;
	display: block;
	padding: 0;
	position: absolute;
		right: 1rem;
		top: 1rem;
}

.show-image-fullscreen:hover {
	background: none;
}

.show-image-fullscreen .icon-disc {
	box-shadow: 0 0 .5rem rgba( 0, 0, 0, 0.25 );
	display: block;
	transition: box-shadow .15s ease-out, transform .15s ease-out;
}

.show-image-fullscreen:hover .icon-disc {
	box-shadow: 0 0 .8rem rgba( 0, 0, 0, 0.25 );
	transform: scale(1.25);
}

.quiz-media img {
	border-radius: .4rem;
	display: block;
}

/* QUIZ QUESTIONS */

.quiz-item ul {
	padding: 2rem 0;
}

.quiz-item li {
	padding: 0 2.5rem;
	position: relative;
}

.quiz-item li + li {
	margin-top: 1.2rem;
}

.quiz-item .correct-indicator {
	margin: 0;
	position: absolute;
		left: 0;
		top: 50%;
	transform: translateX( -50% ) translateY( -50% );
}

.quiz-item .correct-indicator .icon-disc {
	margin: 0;
}

/* QUIZ FOOTER */

.quiz-item footer {
	border-top: .1rem solid #e1e1e5;
	padding: 1.5rem 2.5rem 1.5rem 2.6rem;
}

.quiz-item footer .icon-link-wrapper {
	margin: 0;
}

.quiz-item footer .icon-disc {
	margin-right: 1.3rem;
}

.quiz-item .answer-description {
	font-size: 1.4rem;
	margin: 1rem 0 0;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Search Page
/* --------------------------------------------------------------------------------------------- */


.search-results #site-content .search-form {
	margin: 0 auto;
	max-width: 25.4rem;
	width: 100%;
}

.search-results-container {
	padding: 2.5rem 5%;
}


/* Preview List ------------------------------- */


.list-preview + .list-preview {
	border-top: .1rem solid #E1E1E4;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
}

.list-preview a {
	align-items: center;
	color: inherit;
	display: flex;
}

.list-preview .faux-image {
	border-radius: .4rem;
	margin-right: 1.5rem;
	width: 6rem;
}

.list-preview .preview-subtitle {
	margin-bottom: .5rem;
}


/* Pagination ------------------------------- */


.pagination {
	font-feature-settings: "lnum";
	font-variant-numeric: lining-nums;
	line-height: 1;
	margin-top: 3rem;
}

.pagination .page-numbers {
	color: #66717B;
	display: none;
	font-size: 1.4rem;
}

.pagination a:hover {
	opacity: .5;
}

.pagination .page-numbers.current {
	font-weight: 700;
}

.pagination .prev {
	display: block;
	float: left;
}

.pagination .next {
	display: block;
	float: right;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Account Pages
/* --------------------------------------------------------------------------------------------- */


/* Account Details ------------------------------- */

.account-details {
	border-bottom: .1rem solid #E1E1E4;
	padding: 3rem 0;
}

.account-details header a {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.account-details header a:hover .account-name {
	text-decoration: underline;
}

.account-details .account-avatar {
	flex-shrink: 0;
	height: 5.5rem;
	margin-right: 1.5rem;
	width: 5.5rem;
}

.account-details .account-titles {
	font-size: 1.6rem;
}

.account-details .account-organization {
	margin-top: .6rem;
}

.account-description {
	font-size: 1.6rem;
	margin: 2rem 0 0;
}


/* Account Courses ------------------------------- */

.course-preview-list + .course-preview-list {
	border-top: .1rem solid #e1e1e4;
	margin-top: 2.5rem;
	padding-top: 1.8rem;
}

.course-preview-list .course-title a:hover {
	text-decoration: underline;
}

/* COURSE MOMENTS LIST */

ul.course-moments-list {
	margin-top: 2rem;
}

.course-moments-list li + li {
	border-top: .1rem solid #E1E1E4;
}

.course-moment-mini a {
	align-items: center;
	color: inherit;
	display: flex;
	justify-content: space-between;
	padding: 1.5rem 1.5rem 1.5rem 2.4rem;
	position: relative;
}

.course-moment-mini a:hover .icon-link .label {
	text-decoration: underline;
}

.course-moment-mini .correct-indicator {
	margin: 0;
	position: absolute;
		left: 0;
		top: 50%;
	transform: translateX( -50% ) translateY( -50% );
}

.course-moment-mini .correct-indicator .icon-disc {
	margin: 0;
}

.course-moment-mini .stars {
	border-radius: .4rem;
	padding: .7rem 1rem .8rem;
}

.course-moment-mini .moment-title {
	position: relative;
		top: -.1rem;
}


/* Account Settings ------------------------------- */

.form-group {
	padding: 3rem 1.8rem;
}

.form-group + .form-group {
	border-top: .1rem solid #e1e1e4;
}

.form-group .title6 {
	margin-bottom: 2rem;
}

.form-group label:not(.inline) {
	display: block;
	margin-bottom: .8rem;
}

.form-group > .row:last-child > .item:last-child p:last-child,
.form-group > .item:last-child p:last-child,
.form-group > form > p:last-of-type,
.form-group > p:last-of-type {
	margin-bottom: 0;
}

/* AVATAR FIELDS */

.avatar-field {
	display: flex;
	margin-top: 1.5rem;
}

.avatar-field input {
	position: absolute;
		left: -9999rem;
}

.avatar-field .account-avatar {
	flex-shrink: 0;
	height: 8rem;
	width: 8rem;
}

.avatar-field .icon-link-wrapper {
	margin: 0 0 0 2rem;
}

.avatar-field:not(.has-image) #avatar-remove-image {
	display: none;
}


/* DELETE ACCOUNT */

.delete-account-toggle {
	position: absolute;
		right: 0;
		top: -.5rem;
}

.no-js .delete-account-toggle,
.js #delete-account {
	display: none;
}

.delete-account-details {
	border-radius: .4rem;
	font-size: 1.3rem;
	margin: 0 0 0 0;
	padding: 2rem 2rem 2rem 4rem;
}

.delete-account-details li {
	line-height: 1.3;
	margin: .8rem 0;
}

.delete-account-details li:first-child { margin-top: 0; }
.delete-account-details li:last-child { margin-bottom: 0; }


/* --------------------------------------------------------------------------------------------- */
/*	X. Sub Page
/* --------------------------------------------------------------------------------------------- */


.entry-image img {
	border-radius: .4rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Error 404
/* --------------------------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------------------------- */
/*	X. Element Base Page Template (DEV)
/* --------------------------------------------------------------------------------------------- */


#element-base-toc {
	border-bottom: .1rem solid #e1e1e5;
	border-top: .1rem solid #e1e1e5;
	font-size: 1.8rem;
	margin: 0;
	padding: .8rem 0;
	transition: box-shadow .2s linear;
}

#element-base-toc li {
	display: inline-block;
	list-style: none;
	margin: .5rem;
}

#element-base-toc li a {
	background: #fff;
	border-radius: .3rem;
	color: #7B8994;
	display: block;
	font-weight: 700;
	padding: .6rem 1.6rem 1rem;
}

#element-base-toc li a:hover {
	background: #7B8994;
	color: #fff;
}

.page-temp-element-base code {
	border-top: .1rem solid #e1e1e5;
	display: block;
	font-size: 1.4rem;
	font-variant: normal;
	line-height: 1.4;
	margin: 1rem 0 4rem;
	padding-top: 1rem;
	text-transform: none;
}

.page-temp-element-base fieldset > code:last-child,
.page-temp-element-base fieldset > *:last-child code {
	margin-bottom: 0;
}

.page-temp-element-base hr {
	border-top: .4rem solid #e1e1e5;
	margin: 5% 0;
}

.page-temp-element-base .base-grid {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	margin: 2rem -1rem -4rem;
}

.page-temp-element-base legend + .base-grid {
	margin-top: 0;
}

.page-temp-element-base .base-grid > * {
	padding: 0 1rem 4rem 1rem;
	width: 100%;
}

.page-temp-element-base .base-grid div code {
	margin-bottom: 0;
}

.page-temp-element-base .base-grid.six-cols > * {
	width: 50%;
}

/* ELEMENT SPECIFIC */

.page-temp-element-base .dimensions span {
	position: relative;
}

.page-temp-element-base .base-grid .icon-link {
	margin: 0 !important;
}

.page-temp-element-base .progress-bar {
	position: relative;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Site Footer
/* --------------------------------------------------------------------------------------------- */


#site-footer {
	padding: 4rem 0;
	text-align: center;
}

#site-footer a:hover,
#site-footer .current-menu-item > a {
	text-decoration: underline;
}

#site-footer span {
	display: block;
}

#site-footer .site-name {
	color: #3D464D;
	font-weight: 700;
	font-style: italic;
	letter-spacing: -0.015em;
	text-decoration: none;
}

#site-footer .site-owner {
	color: #7B8994;
	font-size: 1.3rem;
	margin: .2rem 0 0;
}

#site-footer .site-owner a {
	color: inherit;
}

#site-footer ul {
	display: flex;
	list-style: none;
	justify-content: center;
  margin: 0;
}

#site-footer ul li {
	margin: 0;
}

#site-footer ul li + li {
	margin-left: 2.5rem;
}

#site-footer .links a {
	color: #7B8994;
}

#site-footer .links {
	font-size: 1.5rem;
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  margin-top: 2rem;
}


/* --------------------------------------------------------------------------------------------- */
/*	X. Media Queries
/* --------------------------------------------------------------------------------------------- */



/*  Small (480px)
/* ------------------------------------------- */

@media ( min-width: 480px ) {


	/* Element Base ------------------------------- */

	/* FAUX INPUTS */

	.faux-radio-checkbox + label:before {
		height: 4rem;
		margin-right: 1.4rem;
		min-width: 4rem;
	}

	.faux-radio-checkbox + label:after {
		left: .8rem;
		height: 2.4rem;
		top: calc( 50% - 1.2rem );
		width: 2.4rem;
	}

	/* NOTICES */

	.notice:not(.notice-small) {
		font-size: 1.6rem;
		margin-bottom: 2rem;
		padding: 1.8rem 5.6rem 1.8rem 2.2rem;
	}

	.notice:not(.notice-small) .close-notice {
		background-size: 1.6rem;
		width: 5.6rem;
	}


	/* Page Home ------------------------------- */

	.puff footer .alt-link {
		font-size: 1.4rem;
		margin-left: 2rem;
	}


	/* Page Dashboard ------------------------------- */

	.filter-courses .filter-toggle .label {
		display: block;
	}


	/* Page Examination ------------------------------- */

	/* QUIZ ITEM */

	.quiz-item li + li {
		margin-top: 1.5rem;
	}


	/* Forms ------------------------------- */

	/* LOGIN FORM */

	.account-form-page .form-group .form-row-submit input[type="submit"] {
		font-size: 1.4rem;
		min-width: 12.4rem;
		padding: 1.4rem 2.5rem 1.5rem;
	}

	.form-login.size-big .form-row-submit .lost-password {
		font-size: 1.4rem;
		margin-left: 2rem;
  }

  /* SIGNUP FORM */

  #signupform .conditional-fields {
    display: none;
  }

  /* #signupform .register-organization-fields {
    display: none;
  } */

	/* Entry Content ------------------------------- */

	/* SHORTCODE: FILE ATTACHMENT ------------------------------- */

	.attachment-link {
		margin: 4rem 0;
		padding: 1.5rem 2rem 1.5rem 5.2rem;
		position: relative;
	}

	.attachment-link .file-icon {
		display: flex;
		height: 6rem;
		position: absolute;
			left: -2rem;
			top: calc( 50% - 3rem );
		width: 6rem;
	}

	.attachment-link .file-icon .icon-disc {
		border: .4rem solid #fff;
		height: 6rem;
		width: 6rem;
	}

	.attachment-link .file-title {
		margin: 0 0 1rem;
	}

	.attachment-link .faux-button {
		background-image: none;
		border-radius: .4rem;
		padding: 1.1rem 2rem 1.2rem;
		text-indent: 0;
		width: auto;
	}


}



@media ( min-width: 600px ) {


	body {
		font-size: 1.9rem;
	}


	/* Element Base ------------------------------- */

	/* TITLES */

	.title1,
	.title2 {
		margin-bottom: 2.5rem;
	}

	.title1 { font-size: 4rem; }
	.title2 { font-size: 3.2rem; }
	.title3 { font-size: 2.6rem; }
	.title4 { font-size: 2.4rem; }
	.title5 { font-size: 2rem; }

	.section-title {
		margin-bottom: 5rem;
	}


	/* EXCERPT */

	.excerpt {
		font-size: 2.2rem;
		margin-top: 2rem;
	}

	.small-excerpt {
		font-size: 2rem;
	}


	/* LISTS */

	.star-list li:before {
		height: 3rem;
		left: -5.5rem;
		top: -.2rem;
		width: 3rem;
	}

	.star-list li {
		margin: 2rem 0;
	}


	/* MEDIA */

	.wp-caption img {
		border-radius: .8rem;
	}

	.alignnone,
	.aligncenter {
		margin-bottom: 5rem;
		margin-top: 5rem;
	}

	.alignright {
		margin: 0 0 3rem 3rem;
	}

	.alignleft {
		margin: 0 3rem 3rem 0;
	}


	/* FORMS */

	label {
		font-size: 1.6rem;
	}


	/* Helper Classes ------------------------------- */

	/* TYPOGRAPHY */

	.handwritten-line.title1 {
		font-size: 4.8rem;
	}

	/* GRID HELPER */

	.grid {
		margin: 0 0 -3rem -2rem;
	}

	.grid > * {
		margin: 0 0 3rem 2rem;
		width: calc( 50% - 2rem );
	}

	/* BORDERS */

	.jagged-border.top:before,
	.jagged-border.bottom:after {
		height: 4rem;
	}

	.jagged-border.top:before {
		top: -2rem;
	}

	.jagged-border.bottom:after {
		bottom: -2rem;
	}

	/* MASTER BOX */

	.master-box {
		box-shadow: 0 .3rem .5rem rgba( 0, 0, 0, 0.05 );
	}

	.master-box.box-default-padding {
		padding: 4rem 3rem;
	}

	/* DROPDOWN MODAL */

	.dropdown-modal:before,
	.dropdown-modal:after { left: 2.2rem; }
	.dropdown-modal.arrow-right:before,
	.dropdown-modal.arrow-right:after { right: 2.2rem; }

	/* COVER MODAL */

	.cover-modal .modal-inner {
		padding: 4.5rem 6rem;
	}

	.cover-modal .modal-header {
		margin-bottom: 3.2rem;
	}

	/* ICON LINK */

	.icon-link-wrapper.big-desktop {
		margin-top: 3rem;
	}

	.icon-link-wrapper.big-desktop .icon-link .icon-disc {
		height: 4rem;
		margin-right: 1.2rem;
		width: 4rem;
	}

	.icon-link-wrapper.big-desktop .icon-link.icon-position-right .icon-disc {
		margin: 0 0 0 1.2rem;
	}

	.icon-link-wrapper.big-desktop .icon-link .label {
		font-size: 1.6rem;
	}

	/* IMAGE LIGHTBOX */

	@media ( orientation: portrait ) {

		#image-lightbox .modal-inner {
			bottom: 12rem;
			left: 0;
			right: 0;
			top: 12rem;
		}

		.close-image-lightbox {
			bottom: auto;
			left: auto;
			right: 4rem;
			top: 4rem;
		}

	}

	/* VIDEO PREVIEW */

	.video-preview .play-button {
		height: 8rem;
		left: calc( 50% - 4rem );
		top: calc( 50% - 4rem );
		width: 8rem;
	}

	.video-preview header {
		padding: 3rem 2.5rem 2rem 2.5rem;
	}

	.video-preview .title {
		font-size: 1.8rem;
	}

	.video-preview .video-description {
		display: block;
	}

	.video-preview .timestamp {
		margin-top: .3rem;
	}


	/* Structure ------------------------------- */

	section {
		padding: 8rem 0;
	}

	.small-padding {
		padding: 6rem 0;
	}

	.screen-height {
		min-height: calc( 100vh - 10.1rem );
	}

	.section-inner + .section-inner {
		margin-top: 8rem;
	}


	/* Entry Content ------------------------------- */

	.entry-content p,
	blockquote,
	.entry-content > ul,
	.entry-content > ol {
		margin-bottom: 3rem;
	}

	.entry-content h1,
	.entry-content h2,
	.entry-content h3,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6 {
		margin: 5rem 0 2.5rem;
	}

	.entry-content h1 { font-size: 4rem; }
	.entry-content h2 { font-size: 3.2rem; }
	.entry-content h3 { font-size: 2.8rem; }

	hr {
		margin: 4rem 0;
	}


	/* TABLE */

	th,
	td {
		padding: 1.5rem 1.8rem;
	}


	/* Page Home ------------------------------- */

	.page-home .home-hero {
		background-size: cover;
		padding-top: 18rem;
	}

	.page-home .hero-header {
		margin-bottom: 12rem;
	}

	.page-home .hero-header .hero-excerpt {
		font-size: 2.8rem;
	}

	.hero-cutoff {
		background: transparent url( ./assets/images/tilted-bg-overlay.svg ) no-repeat bottom right;
		position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			top: 0;
	}

	.hero-cutoff:before,
	.hero-cutoff:after {
		content: none !important;
	}


	/* PUFFAR */

	.puff {
		margin: 0 auto;
		max-width: 58rem;
		padding: 0 4rem 4rem 10.5rem;
		position: relative;
	}

	.puff + .puff {
		margin-top: 4rem;
	}

	.puff header {
		height: 7.5rem;
		margin: 0;
	}

	.puff .bookmark {
		border-top: 1rem solid #FCD04A;
		height: 7.5rem;
		position: absolute;
			left: 3rem;
			top: 0;
		width: 5rem;
	}

	.puff .bookmark:before {
		bottom: 1.8rem;
	}

	.puff .form-login .form-row:not(:last-child) {
		margin-bottom: 1.8rem;
	}

	/* FEATURE SECTION */

	.feature-list li {
		font-size: 2rem;
		padding-left: 6rem;
	}

	/* HOME CTA */

	.page-home #site-content .home-cta {
		padding: 10rem 0 4rem;
	}


	/* Page Dashboard ------------------------------- */

	header.filter-courses {
		margin-bottom: 4rem;
	}

	.grid .no-results-title {
		margin-bottom: 6rem;
	}

	header.filter-courses .title3 {
		margin-bottom: 0;
	}

	header.filter-courses .filter-toggle {
		display: none;
	}

	header.filter-courses .default-search-form {
		display: block !important; /* = in case it has been toggled */
		position: absolute;
			right: 0;
			top: 50%;
		transform: translateY( -50% );
		width: 25.4rem;
	}


	/* Page Course ------------------------------- */

	/* COURSE HEADER */

	.course-header-wrapper .course-title .title-status-indicator {
		bottom: -.5rem;
		margin-left: .7rem;
	}

	.course-header-wrapper .course-title .title-status-indicator .icon-disc {
		height: 3.6rem;
		width: 3.6rem;
	}

	/* COURSE VIDEO */

	.video-playlist-item header .video-title {
		font-size: 1.8rem;
	}

	.video-playlist-item .timestamp {
		margin-top: .4rem
	}

	/* VIDEO PREVIEW WRAPPER */

	.course-video-wrapper .video-note {
		font-size: 1.4rem;
		margin-top: 1rem;
	}

	/* SHARE SHEET */

	.share-stats {
		margin: 3.2rem 0 4.4rem;
	}

	.share-stats > div:last-child {
		display: flex;
	}

	.share-buttons {
		display: flex;
		justify-content: space-between;
	}

	.share-buttons a {
		font-size: 1.9rem;
		padding: 2.2rem 0;
		width: calc( 50% - 1rem );
	}

	.share-buttons a:before {
		height: 2.4rem;
		margin-right: 1.6rem;
		width: 2.4rem;
	}

	.share-buttons a + a {
		margin: 0;
	}

	#share-sheet .icon-link-wrapper {
		margin-top: 4rem;
	}

	/* COURSE SUMMARY */

	.summary {
		margin: 0 -4rem;
		padding: 3.5rem 4rem;
	}

	.summary-title {
		margin-bottom: 3rem;
	}

	/* COURSE RESULTS */

	.modal-diploma-inner > iframe {
		max-width: 90vw;
		width: 61rem;
	}


	/* Page Examination ------------------------------- */

	.examination-header .button-wrapper {
		margin-bottom: 6rem;
	}

	.title-status-indicator {
		bottom: -.3rem;
	}

	/* EXAMINATION RESULTS */

	.results-summary {
		position: relative;
	}

	.results-summary p {
		font-size: 1.8rem;
		max-width: calc( 100% - 18rem );
		width: 47.4rem;
	}

	.results-summary .icon-link-wrapper {
		position: absolute;
			bottom: 0;
			right: 0;
	}

	.moment-certificate {
		padding: 2.5rem 3rem 7rem;
	}

	.moment-certificate header {
		margin-bottom: 4rem;
		padding: 2rem 0 2rem 4.4rem;
	}

	.moment-certificate header .badge {
		left: -6rem;
		width: 8.4rem;
	}

	.moment-certificate footer {
		margin-top: 7rem;
	}

	.results-stats {
		display: flex;
		justify-content: space-between;
	}

	.results-stats .column {
		border-left: .1rem solid #e1e1e4;
		padding-left: 2rem;
		width: calc( 50% - 2rem );
	}

	.results-stats .column .item:first-child {
		border-top: none;
		margin-top: 0;
		padding-top: 0;
	}

	.results-stats .item-label {
		font-size: 1.6rem;
	}

	.restart-examination-wrapper + .quiz-wrapper {
		padding-top: 10rem;
	}

	/* QUIZ ITEM */

	.quiz-item .quiz-header {
		padding: 4rem 4rem 0;
	}

	.quiz-media {
		margin: 4rem 4rem 1rem 4rem;
	}

	.show-image-fullscreen {
		right: 2rem;
		top: 2rem;
	}

	.quiz-item ul {
		padding: 3rem 0 4rem;
	}

	.quiz-item li {
		padding: 0 4rem;
	}

	.quiz-item footer {
		padding: 2rem 4rem 2rem 4.4rem;
	}

	.quiz-item footer .icon-link-wrapper .icon-disc {
		margin-right: 1.3rem;
	}

	.quiz-item footer .icon-link.icon-cross-white .icon-disc {
		height: 3.2rem;
		margin-right: 1.9rem;
		width: 3.2rem;
	}

	.quiz-item footer .label {
		font-size: 1.6rem;
	}

	.quiz-item footer .answer-description {
		font-size: 1.6rem;
		margin: 0 0 0 4.2rem;
	}


	/* Forms ------------------------------- */

	/* SEARCH FORM */

	.default-search-form.fullwidth-mobile { /* Fullwidth no more */
		left: auto;
		width: 100%;
	}

	.default-search-form.fullwidth-mobile input[type="search"] {
		border: .1rem solid #e1e1e5;
		border-radius: 9999rem;
		padding: 1.1rem 6.4rem 1.2rem 2.2rem;
	}

	.default-search-form.fullwidth-mobile label {
		width: 6.4rem;
	}


	/* Search Page ------------------------------- */

	.search-results-container {
		padding: 5rem 5%;
	}

	.list-preview + .list-preview {
		margin-top: 2rem;
		padding-top: 2rem;
	}

	.list-preview .faux-image {
		width: 8rem;
	}

	/* PAGINATION */

	.pagination {
		margin: 4rem 0 -2rem 0;
	}

	.pagination .nav-links {
		display: flex;
		justify-content: center;
		position: relative;
	}

	.pagination .page-numbers {
		display: block;
		font-size: 1.6rem;
		padding: 2rem;
		margin: 0 .5rem;
	}

	.pagination .prev,
	.pagination .next {
		margin: 0;
		padding-left: 0;
		padding-right: 0;
		position: absolute;
	}

	.pagination .prev { left: 0; }
	.pagination .next { right: 0; }


	/* Account Pages ------------------------------- */

	/* ACCOUNT DETAILS */

	.account-details {
		border: none;
		border-radius: .8rem;
		box-shadow: 0 .3rem 1rem rgba( 0, 0, 0, 0.05 );
		margin: 4rem auto 0 auto;
		width: 90%;
	}

	.account-details .section-inner {
		padding-left: 14rem;
		position: relative;
	}

	.account-details .account-avatar {
		height: 10rem;
		position: absolute;
			left: 0;
			top: 0;
		width: 10rem;
	}

	.account-details .account-avatar:not( .has-image ) {
		background-size: 2.4rem auto;
	}

	.account-details .account-name {
		font-size: 1.8rem;
	}

	.account-details .account-organization {
		font-size: 1.7rem;
		margin-top: .7rem;
	}

	.account-details .account-description {
		font-size: 1.5rem;
		max-width: 41.2rem;
	}


	/* ACCOUNT SETTINGS */

	.form-group {
		padding: 4rem;
	}

	.form-group .title6 {
		font-size: 1.8rem;
		margin-bottom: 4rem;
	}

	/* Delete Account */

	#delete-account ul {
		font-size: 1.5rem;
	}


	/* 404 Page ------------------------------- */

	.error404 .main-footer-wrapper {
		align-items: center;
		display: flex;
		justify-content: center;
		padding: 2rem 0;
		position: relative;
	}

	.error404 .main-footer-wrapper #site-footer {
		position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
	}


	/* Sub Page ------------------------------- */

	.entry-image img {
		border-radius: .8rem;
	}


	/* Site Footer ------------------------------- */

	#site-footer span {
		display: inline;
	}

	#site-footer .site-owner,
	#site-footer ul {
		margin: 0 0 0 1rem;
	}


}


@media ( min-width: 680px ) {


	/* Site Header ------------------------------- */

	.site-logo {
		height: 8rem;
		width: 8rem;
	}

	/* HEADER MENU */

	.header-contents,
	.main-menu li + li {
		margin-left: 5rem;
	}

	.main-menu {
		font-size: 1.8rem;
	}

	.main-menu a {
		padding-left: 3.6rem;
	}

	.main-menu a:before {
		height: 2.4rem;
		width: 2.4rem;
	}

	.main-menu .register-link:before {
		height: 2.88rem;
	}

	.main-menu .search-link {
		border: none;
		position: static;
		text-indent: 0;
	}

	.main-menu .search-link a {
		padding-left: 3.6rem;
	}

	.not-logged-in .info-link {
		display: block;
	}

	.account-toggle .account-label {
		margin-right: 1.5rem;
	}

	.account-toggle .account-label > span:first-child {
		font-size: 1.5rem;
	}

	.logged-in .account-toggle .account-label {
		display: block;
	}

	/* HEADER SEARCH */

	#site-header .header-search-field {
		background-size: 4rem auto;
		font-size: 3.2rem;
		padding: 0 0 0 6rem;
	}

	#site-header .header-search-field::-moz-placeholder { /* Firefox specific placeholder fix */
		line-height: 10rem;
	}

	/* HEADER ACCOUNT MODAL */

	.account-toggle .account-avatar {
		height: 4.4rem;
		width: 4.4rem;
	}


	/* Single Course ------------------------------- */

	/* COURSE VIDEO */

	.video-playlist-wrapper {
		margin-top: 2rem;
	}

	.video-playlist-wrapper > .title {
		margin-bottom: 1.2rem;
	}

	.video-playlist,
	.video-playlist-item.active {
		background: none;
	}

	.video-playlist {
		display: flex;
		justify-content: space-between;
		margin-left: -1rem;
		width: calc( 100% + 1rem );
	}

	.video-playlist-item {
		display: block;
		margin-left: 1rem;
		padding: 0;
		width: 100%;
	}

	.video-playlist-item + .video-playlist-item:before {
		content: none;
	}

	.video-playlist-item .faux-image {
		border-radius: .4rem;
		margin: 0;
	}

	.video-playlist-item header,
	.video-playlist-item header:before {
		position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			top: 0;
	}

	.video-playlist-item header {
		align-items: center;
		background-color: transparent;
		border-radius: .4rem;
		color: #fff;
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		transition: background-color .2s ease-out;
	}

	.video-playlist-item header:before {
		background-color: rgba( 0, 0, 0, .15 );
		background-image: radial-gradient( 50% 178%, rgba( 0, 0, 0, .4 ) 50%, rgba( 0, 0, 0, 0 ) 100% );
		content: "";
		display: block;
		transition: opacity .2s ease-out;
	}

	.video-playlist-item.active header {
		background-color: #282B35;
	}

	.video-playlist-item.active header:before {
		opacity: 0;
	}

	.video-playlist-item header .video-title,
	.video-playlist-item .timestamp {
		position: relative;
		text-shadow: 0 .1rem 0 rgba( 0, 0, 0, 0.25 );
	}

	.video-playlist-item header .video-title {
		text-align: center;
		width: 100%;
	}

	.video-playlist-item .timestamp:before {
		background-image: url( ./assets/images/icons/clock-white.svg );
	}

	.playlist-video-icon {
		left: calc( 50% - 1.95rem );
		top: calc( 100% - 1.95rem );
	}

	.playlist-video-icon .video-number {
		font-size: 1.8rem;
	}

	/* Site Footer ------------------------------- */

	#site-footer .section-inner {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}

  #site-footer .links {
    margin-top: 0;
  }
}



@media ( min-width: 750px ) {


	/* Entry Content ------------------------------- */

	/* SHORTCODE: PAGE LINKS */

	.page-links-wrapper {
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 -2rem -2rem;
		width: calc( 100% + 2rem );
	}

	.page-link {
		display: block;
		margin: 0 0 2rem 2rem;
		padding: 1rem;
		width: calc( 33.3% - 2rem );
	}

	.page-link .faux-image {
		margin: 0 0 1rem 0;
		width: 100%;
	}

	.page-link .faux-image:after {
		padding-top: 62.5%;
	}


	/* Account Pages ------------------------------- */

	/* ACCOUNT COURSES */

	.course-preview-list {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.course-preview-list .course-title {
		width: 100%;
	}

	.course-preview-list .diploma,
	.course-preview-list .course-moments-list {
		margin-top: 0;
		width: calc( 50% - 1.5rem );
	}

	.course-preview-list .diploma {
		max-width: 31.1rem;
	}

	.course-preview-list .course-moments-list {
		flex-grow: 1;
		margin-left: 3rem;
	}


	/* ACCOUNT SETTINGS */

	.form-group .row {
		display: flex;
		justify-content: space-between;
	}

	.form-group .row .item {
		width: calc( 50% - 1rem );
	}

	.settings textarea#user-description {
		height: 14.4rem;
	}

	.avatar-field .account-avatar {
		height: 10rem;
		width: 10rem;
	}

	.avatar-field .icon-link-wrapper {
		margin-left: 3.3rem;
	}


}



/*  Medium (769px)
/* ------------------------------------------- */

@media ( min-width: 769px ) {


	/* XXX ------------------------------- */


}



@media ( min-width: 900px ) {


	/* Helper Classes ------------------------------- */

	/* GRID HELPER */

	.grid > * {
		width: calc( 33.33% - 2rem );
	}


	/* Page Course ------------------------------- */

	/* COURSE COMPLETED */

	.course-completed .title2 {
		margin-bottom: 1.2rem;
	}

	.course-completed .badge {
		width: 11.3rem;
	}

	.course-completed .icon-link-wrapper {
		justify-content: flex-start;
		margin-top: 2rem;
	}

	.course-completed:not(.shared) > .section-inner {
		padding: 4rem 4rem 4rem 8rem;
	}

	.course-completed.shared > .section-inner {
		padding: 10rem 4rem 4rem 4rem;
	}

	.course-completed:not(.shared) .badge {
		left: -5.2rem;
		top: 2.5rem;
		transform: rotate(10deg);
	}

	.course-completed.shared .badge {
		left: calc( 50% - 5.65rem );
		top: -6rem;
	}

	.course-completed:not(.shared) .title2,
	.course-completed:not(.shared) p {
		text-align: inherit;
	}


}



@media ( min-width: 1000px ) {



	/* Helper Classes ------------------------------- */

	/* MASTER BOX */

	.master-box.big-desktop {
		border-radius: .8rem;
		box-shadow: 0 .3rem 1rem rgba( 0, 0, 0, 0.05 );
	}


	/* Site Header ------------------------------- */

	.header-contents {
		margin-left: 8rem;
	}

	.main-menu li + li {
		margin-left: 6rem;
	}


	/* Page Dashboard ------------------------------- */

	.big-puff {
		background: #fff;
		border: none;
		border-radius: 1rem;
		box-shadow: 0 .3rem 1rem rgba( 0, 0, 0, 0.05 );
		display: flex;
		flex-direction: row-reverse;
		overflow: hidden;
		margin: 6rem auto 0 auto;
		max-width: 144rem;
		position: static;
		width: 90%;
	}

	.big-puff .wavy-border {
		right: -55%;
		transform: rotate( 54deg );
		top: 10.5%;
	}

	.big-puff .text-align-center {
		text-align: left;
	}

	.big-puff .title2 {
		font-size: 3.6rem;
	}

	.big-puff .icon-link-wrapper.center {
		justify-content: flex-start;
	}

	.big-puff header {
		padding: 6.5rem 0 6.5rem 5rem;
		min-width: 55.6rem;
	}

	.big-puff .section-inner {
		width: 100%;
	}

	.big-puff .icon-link-wrapper {
		margin-top: 3rem;
	}

	.big-puff .image-wrapper {
		margin-left: -20rem;
	}

	.big-puff .image-wrapper,
	.big-puff .image-wrapper .faux-image {
		display: flex;
		width: 100%;
	}

	.big-puff .image-wrapper .faux-image:after {
		content: none;
	}


	/* Page Home ------------------------------- */

	.page-home .home-hero {
		padding-top: 20rem;
	}

	.hero-cutoff {
		bottom: -.1rem;
		background-size: 105% auto;
	}

	.page-home .hero-header {
		margin-bottom: 15.6rem;
	}

	/* PUFFAR */

	.puff-wrapper {
		display: flex;
		justify-content: space-between;
	}

	.puff {
		margin: 0;
		padding-left: 3rem;
		width: calc( 50% - 2rem );
	}

	.puff + .puff {
		margin: 0;
	}

	.puff header {
		margin-bottom: 1rem;
		padding-left: 7.5rem;
	}

	/* HOME ABOUT */

	.home-about .section-inner {
		display: flex;
		max-width: 124rem;
		position: relative;
	}

	.home-about .content {
		flex-shrink: 0;
		margin: 0;
	}

	.home-about .icon-link-wrapper {
		margin-top: 4rem;
	}

	.home-about .icon-link-wrapper .icon-link + .icon-link {
		margin-left: 2.5rem;
	}

	.home-about .collage {
		height: 49.6rem;
		margin: 0;
		overflow: visible;
		position: absolute;
			left: auto;
			right: 0;
			top: 0;
		width: 38.3rem;
	}

	.home-about .collage:before {
		content: none;
	}

	.collage-image {
		border-width: 2rem;
		width: 26rem;
	}

	.home-about .collage-image:nth-child(1),
	.home-about .collage-image:nth-child(2),
	.home-about .collage-image:nth-child(3),
	.home-about .collage-image:nth-child(4) {
		bottom: auto;
		left: auto;
		right: auto;
		top: auto;
		transition: transform .25s ease-out, box-shadow .25s ease-out;
	}

	.home-about .collage-image:nth-child(1):hover,
	.home-about .collage-image:nth-child(2):hover,
	.home-about .collage-image:nth-child(3):hover,
	.home-about .collage-image:nth-child(4):hover {
		z-index: 10;
		box-shadow: 0 .3rem 2rem rgba( 0, 0, 0, 0.075 );
	}

	.home-about .collage-image:nth-child(1) {
		right: -30%;
		top: -25%;
		z-index: 3;
	}
	.home-about .collage-image:nth-child(1):hover { transform: rotate(-6deg) scale( 1.05 ); }

	.home-about .collage-image:nth-child(2) {
		right: 20%;
		transform: rotate(7deg);
		top: 0%;
		z-index: 2;
	}
	.home-about .collage-image:nth-child(2):hover { transform: rotate(10deg) scale( 1.05 ); }

	.home-about .collage-image:nth-child(3) {
		right: 0%;
		top: 45%;
		z-index: 1;
	}
	.home-about .collage-image:nth-child(3):hover { transform: rotate(6deg) scale( 1.05 ); }

	.home-about .collage-image:nth-child(4) {
		right: 35%;
		transform: rotate(-10deg);
		top: 70%;
		z-index: 4;
	}
	.home-about .collage-image:nth-child(4):hover { transform: rotate(-11deg) scale( 1.05 ); }


	/* FEATURE SECTION */

	.feature-section {
		position: relative;
	}

	.feature-section > .section-inner {
		align-items: center;
		justify-content: center;
		display: flex;
		min-height: 52.4rem;
		position: relative;
	}

	.feature-section.features-right > .section-inner {
		padding-left: 45%;
	}

	.feature-section.features-left > .section-inner {
		padding-right: 45%;
	}

	.feature-section .content {
		width: 42rem;
	}

	.feature-section .iphone-wrapper {
		display: none;
	}

	.feature-section .macbook {
		display: block;
		position: absolute;
			right: 50%;
			top: calc( 50% - 26.2rem );
		width: 89rem;
	}

	.feature-section .quiz-items {
		margin: 0;
		position: absolute;
			left: calc( 45% + 12rem );
			top: 0;
		width: 69.2rem;
	}


	/* Page Course ------------------------------- */

	/* COURSE RESULTS */

	.modal-diploma-inner > iframe {
		height: 100%;
	}


	/* Page Examination ------------------------------- */

	.examination-results-inner {
		display: flex;
		justify-content: space-between;
	}

	.examination-results .moment-certificate {
		flex-shrink: 0;
		margin: 0 4rem 0 0;
		max-width: none;
		width: 38%;
	}

	.examination-results .moment-certificate footer {
		position: absolute;
			bottom: 7rem;
			left: 3rem;
			right: 3rem;
	}

	.examination-results .summary-stats-wrapper {
		width: 100%;
	}

	.results-summary {
		margin-bottom: 6rem;
	}

	.results-summary.mobile-summary { display: none; }
	.results-summary.desktop-summary { display: block; }

	.examination-header-wrapper {
		padding-bottom: 12rem;
	}


	/* Entry Content ------------------------------- */

	/* SHORTCODE: PAGE LINKS */

	.page-link {
		padding: 2rem 2rem 2rem;
	}

	.page-link .faux-image {
		margin: 0 0 1.8rem;
	}

	.page-link .page-link-title,
	.page-link .page-link-domain {
		font-size: 1.6rem;
	}


	/* Element Base Page Template (DEV) ------------------------------- */

	.page-temp-element-base .base-grid.two-cols > * { width: 50%; }
	.page-temp-element-base .base-grid.three-cols > * { width: 33.3%; }
	.page-temp-element-base .base-grid.four-cols > * { width: 25%; }
	.page-temp-element-base .base-grid.six-cols > * { width: 16.6%; }


}



/*  Large (1025px)
/* ------------------------------------------- */

@media ( min-width: 1025px ) {


	/* XXX ------------------------------- */


}


@media ( min-width: 1100px ) {


	/* Helper Classes ------------------------------- */

	/* PROGRESS BAR */

	.progress-bar .icon-link {
		height: 5.6rem;
		left: calc( 50% - 2.8rem );
		top: calc( 50% - 2.8rem );
		width: 5.6rem;
	}

	/* IMAGE LIGHTBOX */

	#image-lightbox .modal-inner {
		bottom: 12rem;
		left: 0;
		right: 0;
		top: 12rem;
	}

	#image-lightbox .close-image-lightbox {
		bottom: auto;
		left: auto;
		right: 4rem;
		top: 4rem;
	}


	/* Page Home ------------------------------- */

	/* PUFFAR */

	.puff {
		padding-left: 10.5rem;
		width: calc( 50% - 4rem );
	}

	.puff header {
		margin: 0;
		padding: 0;
	}

	/* HOME ABOUT */

	.home-about .content {
		margin-left: 8rem;
	}


	/* Page Course ------------------------------- */

	.course-header-wrapper {
		align-items: center;
		display: flex;
		justify-content: space-between;
	}

	.course-header-wrapper > .section-inner {
		margin-top: 0;
		width: 50%;
	}

	.course-header-wrapper .course-video-wrapper {
		margin-right: 0;
	}

	.course-header-wrapper .course-video-wrapper .video-note {
		position: absolute;
			left: 0;
			top: 100%;
			right: 0;
	}

	/* COURSE MOMENT PREVIEW */

	.course-moments {
		display: flex;
		margin-left: -4rem;
		width: calc( 100% + 4rem );
	}

	.course-moments.deactivated {
		max-height: none;
		overflow: visible;
	}

	.course-moments .course-moment-preview {
		margin: 0 0 0 4rem;
		min-height: 40rem;
		width: 100%;
	}

	.course-moments .course-moment-preview-excerpt {
		font-size: 1.8rem;
	}

	.course-moments .course-moment-preview .section-inner {
		width: calc( 100% - 6rem );
	}


	/* Account Pages ------------------------------- */

	.account-content {
		align-items: stretch;
		display: flex;
		margin: 0 auto;
		max-width: 144rem;
		padding: 6rem 0 0;
		width: 90%;
	}

	/* ACCOUNT DETAILS */

	.account-details {
		flex-shrink: 0;
		margin: 6.5rem 4rem 0 0;
		padding: 6.5rem 0 4rem;
		position: relative;
		width: 27.5rem;
	}

	.account-details .section-inner {
		padding: 0 2rem;
		position: static;
		width: 100%;
	}

	.account-details .account-avatar {
		left: 2rem;
		top: -5rem;
	}

	.account-details .account-avatar:not(.has-image) {
		border: .4rem solid #fff;
	}

	.account-details .icon-link-wrapper {
		display: block;
		margin: 6rem -2rem 0 -2rem;
	}

	.account-details .icon-link {
		border-bottom: .1rem solid #E1E1E4;
		padding: 1.7rem 2rem;
	}

	.account-details .icon-link:first-child {
		border-top: .1rem solid #E1E1E4;
	}

	.account-details .icon-link + .icon-link {
		margin: 0;
	}

	.account-details .icon-link .icon-disc {
		background: none;
		height: 1.9rem;
		margin-right: 2rem;
		width: 1.9rem;
	}

	.account-details .icon-link.active {
		background: #7B8994;
		border: none !important;
	}

	.account-details .icon-link.active .label {
		color: #fff;
	}

	.account-details .settings-link .icon-disc:after,
	.account-details .logout-link .icon-disc:after {
		background-size: 100% auto;
	}

	.account-details .settings-link:not(.active) .icon-disc:after { background-image: url( ./assets/images/icons/cog-light-grayish-blue.svg ); }
	.account-details .logout-link:not(.active) .icon-disc:after { background-image: url( ./assets/images/icons/arrow-right-light-grayish-blue.svg ); }

	.account-details .icon-link .label {
		font-size: 1.5rem;
		font-weight: 400;
	}

	/* ACCOUNT PRIMARY */

	.account-primary {
		padding: 0;
	}

	.account-primary > .section-inner {
		width: 100%;
	}

	/* ACCOUNT COURSES */

	.course-preview-list + .course-preview-list {
		margin-top: 3.5rem;
		padding-top: 2.8rem;
	}

	.course-preview-list .course-title {
		margin-bottom: 1.5rem;
	}

	.course-moment-mini a {
		padding: 1.7rem 2rem 1.7rem 3.6rem;
	}

	.course-moment-mini .correct-indicator .icon-disc {
		height: 3.4rem;
		width: 3.4rem;
	}


	/* Element Base Page ------------------------------- */

	#element-base-toc.make-sticky {
		box-shadow: 0 .2rem 1rem rgba( 0, 0, 0, 0.075 );
		padding: .5rem 0;
		position: fixed;
			left: 0;
			right: 0;
			top: 0;
		z-index: 999;
	}


}


@media ( min-width: 1155px ) {


	/* Element Base ------------------------------- */

	/* MEDIA */

	.alignnone {
		left: calc( 50% - 52rem );
		max-width: 104rem;
		width: 104rem;
	}


	/* Entry Content ------------------------------- */

	/* SHORTCODE: PAGE LINKS */

	.page-links-wrapper {
		margin: 0 0 -4rem -4rem;
		width: calc( 100% + 4rem );
	}

	.page-link {
		margin: 0 0 4rem 4rem;
		width: calc( 33.3% - 4rem );
	}




}



/*  HD (1281px)
/* ------------------------------------------- */

 @media ( min-width: 1281px ) {


	/* Helper Classes ------------------------------- */

	/* GRID HELPER */

	.grid > * {
		width: calc( 25% - 2rem );
	}

	/* IMAGE LIGHTBOX */

	#image-lightbox .modal-inner {
		bottom: 0;
		left: 16.3rem;
		right: 16.3rem;
		top: 0;
	}


	/* Site Header ------------------------------- */

	.logged-in .account-toggle .account-avatar:before {
		background: transparent url( ./assets/images/icons/chevron-dark-down.svg ) no-repeat center right;
		border: none;
		height: 1.4rem;
		position: absolute;
			bottom: calc( 50% - .7rem );
			left: 100%;
			right: auto;
		width: 2.6rem;
	}

	.overlay-header.logged-in .account-toggle .account-avatar:before {
		background-image: url( ./assets/images/icons/chevron-white-down.svg );
	}


	/* Page Home ------------------------------- */

	/* HOME ABOUT */

	.home-about {
		padding-bottom: 20rem;
	}

	.home-about .collage {
		height: 55rem;
	}

	.home-about .collage-image {
		width: 35rem;
	}

	.home-about .collage-image:nth-child(1) {
		right: -30%;
		top: -25%;
	}

	.home-about .collage-image:nth-child(2) {
		right: 20%;
		top: 0%;
	}

	.home-about .collage-image:nth-child(3) {
		right: 0%;
		top: 45%;
	}

	.home-about .collage-image:nth-child(4) {
		right: 55%;
		top: 75%;
	}

	/* FEATURE SECTION */

	.feature-section .quiz-items {
		left: calc( 45% + 12rem );
	}


	/* Page Examination ------------------------------- */

	.examination-results .moment-certificate {
		margin-right: 8rem;
	}

	.results-summary {
		margin-bottom: 8rem;
	}

	.restart-examination-wrapper {
		padding-top: 3rem;
	}

	.restart-examination-wrapper + section {
		padding-top: 13rem;
	}


	/* Account Pages ------------------------------- */

	/* ACCOUNT DETAILS */

	.account-details {
		margin: 6.5rem 6rem 0 0;
		width: 30.5rem;
	}

	/* ACCOUNT SETTINGS */

	.form-group p {
		margin-bottom: 2.5rem;
	}

	.form-group .row .item {
		width: calc( 50% - 2rem );
	}


}


@media ( min-width: 1440px ) {


	/* Page Home ------------------------------- */

	.feature-section.features-right > .section-inner {
		padding-left: 64.8rem;
	}

	.feature-section .macbook {
		right: 64.8rem;
	}

	.feature-section.features-left > .section-inner {
		padding-right: 64.8rem;
	}


}


@media ( min-width: 1700px ) {


	/* Page Home ------------------------------- */

	.hero-cutoff {
		background-size: 180rem auto;
	}

	/* FEATURE SECTION */

	.feature-section .quiz-items {
		left: calc( 45% + 18rem );
	}


}

/* --------------------------------------------------------------------------------------------- */
/*	8. Cookie Script
/* --------------------------------------------------------------------------------------------- */

#cookiescript_injected,
#cookiescript_injected_fsd {
	font-family: 'ff-tisa-sans-web-pro', 'Tisa Sans Pro', Helvetica, sans-serif;
}

#cookiescript_injected *,
#cookiescript_injected_fsd * {
  color: #282B35 !important;
}

#cookiescript_injected_fsd #cookiescript_fsd_wrapper {
  background-color: #fff !important;
}

#cookiescript_header,
.cookiescript_fsd_title {
	font-family: 'ff-tisa-sans-web-pro', 'Tisa Sans Pro', Helvetica, sans-serif;
  font-size: 2.4rem;
}

#cookiescript_accept,
#cookiescript_reject,
#cookiescript_save {
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: bold !important;
  letter-spacing: 0.35px !important;
  text-align: center !important;
  color: #000000 !important;
  cursor: pointer !important;
}

.mdc-switch:enabled .mdc-switch__track::after,
.mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,
.mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after,
.mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after,
.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after,
.mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,
.mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after,
.mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after {
    background-color: #FFCB16 !important;
}

#cookiescript_injected_fsd #cookiescript_accept {
    width: calc(50% - 5px);
}

#cookiescript_injected_fsd #cookiescript_reject {
    width: calc(50% - 5px);
    order: -1 !important;
}

#cookiescript_accept,
#cookiescript_save {
  background-color: #FFCB16 !important;
  border: none !important;
}

#cookiescript_accept {
  min-width: 150px;
}

#cookiescript_reject {
  border: solid 1px #282B35 !important;
  background-color: #ffffff !important;
  padding: 0 17px;
}

#cookiescript_readmore {
  display: block;
  text-decoration: underline;
}

#cookiescript_injected_fsd a,
#cookiescript_injected a {
  text-decoration: underline !important;
}

.cookiescript_fsd_tabs {
    border-top: 1px solid #9E9E9E;
    border-bottom: 1px solid #9E9E9E;
}

.cookiescript_fsd_tabs > div {
    font-size: 14px !important;
    border-color: transparent;
    border-top: none !important;
    text-transform: capitalize !important;
}

.cookiescript_fsd_tabs > div:first-child {
    border-right: 1px solid #9E9E9E;
}

.cookiescript_fsd_tabs_content {
  background-color: #f4f4f6 !important;
  mask-image: none !important;
}

.cookiescript_fsd_tabs > .cookiescript_active {
  border-top: 2px solid rgba(0, 0, 0, 0.7);
  color: #000 !important;
  background-color: #f4f4f6 !important;
}

.cookiescript_fsd_category {
  border-bottom: 1px solid #9E9E9E !important;
}

.cookiescript_fsd_category:last-child {
  border-bottom: none !important;
}

#cookiescript_buttons {
  display: flex;
  gap: 10px;
  padding: 10px;
}

#cookiescript_injected_fsd #cookiescript_buttons {
  padding: 10px !important;
}

#cookiescript_buttons div {
  height: 55px !important;
  font-size: 18px !important;
  text-transform: capitalize !important;
  margin: 0 !important;
  width: 100%;
  min-width: 165px;
}

#cookiescript_injected #cookiescript_buttons {
  margin: 0 0 20px 0;
}

#cookiescript_manage {
  display: inline-block;
  margin-top: 24px;
  text-decoration: underline;
}

#cookiescript_manageicon {
  display: none !important;
}

#cookiescript_checkboxs {
  width: 100%;
  display: block;
}

.cookiescript_fsd_footer {
  border-top: 1px solid #9E9E9E !important;
}

#cookiescript_injected .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background {
  background-color: #fff !important;
}

#cookiescript_injected .mdc-checkbox {
  padding: 12px !important;
}

#cookiescript_injected .mdc-checkbox,
#cookiescript_injected .mdc-checkbox__background {
  width: 24px !important;
  height: 24px !important;
}

#cookiescript_injected .mdc-checkbox__background {
  border-radius: 5px !important;
}


#cookiescript_injected .mdc-checkbox__background::before {
  top: -11px !important;
  left: -11px !important;
}

#cookiescript_injected .mdc-checkbox__checkmark {
  position: static !important;
  width: 75% !important;
}

#cookiescript_injected_fsd .cookiescript_fsd_title,
#cookiescript_injected #cookiescript_header {
  font-size: 20px;
}

#cookiescript_injected #cookiescript_description {
  font-size: 16px;
}

#cookiescript_injected_fsd .cookiescript_fsd_description {
  font-size: 16px;
  margin-top: 16px;
}

#cookiescript_injected_fsd .cookiescript_category_description {
  font-size: 14px;
}

#cookiescript_injected span.cookiescript_checkbox_text {
  font-size: 14px;
  text-transform: capitalize;
}

#cookiescript_injected_fsd #cookiescript_fsd_wrapper #cookiescript_aboutwrap {
  font-size: 14px;
}

#cookiescript_injected #cookiescript_reject {
  border-color: #282B35 !important;
}

#cookiescript_badge {
  display: none !important;
}

@media (min-width: 768px) {
  #cookiescript_buttons div {
    width: auto;
  }

  #cookiescript_checkboxs {
    width: auto;
    display: flex;
  }

  #cookiescript_injected_fsd #cookiescript_accept {
    width: auto;
  }

  #cookiescript_injected_fsd #cookiescript_reject {
    width: auto;
    order: 3 !important;
  }

  #cookiescript_buttons {
    padding: 0;
  }

  #cookiescript_injected_fsd #cookiescript_buttons {
    padding: 20px !important;
  }

  #cookiescript_injected_fsd #cookiescript_save {
    margin-left: auto !important;
  }
}
