@import url("font-awesome.min.css");
@import url("//fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800");
@import url('https://fonts.googleapis.com/css2?family=Mea+Culpa&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shantell+Sans&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pompiere&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Parisienne&display=swap');

@font-face {
	font-family: StephenType;
	src: url(../fonts/StephenType.otf);
}
@font-face {
	font-family: Nunito;
	src: url(../fonts/Nunito-VariableFont_wght.ttf);
}
@font-face {
	font-family: NunitoSansCondensed;
	src: url(../fonts/NunitoSans_10pt_Condensed-Regular.ttf);
}

/*
	Yâm by Caroline Y. Monin
	Released for free under the MIT License
*/

html {
    scroll-behavior: smooth;
}

body {
	overflow-x: hidden;
}

/* for jquery.shining.js  */
.shine {
    text-shadow: 0px 0px 24px #fff;
	color: #fff;
}

p:empty {
	display:none;
}

pre, code {
	font-family: monospace;
	font-size: 0.7em;
	background-color: #333333;
	color: #dddddd;
	text-shadow: none;
	padding: 4px;
	border: solid 1px #808080;
	word-spacing: -0.2em;
    letter-spacing: -0.05em;
}
pre > code {
	border: none;
}

/* Basic */

img {
	max-width: 100%;
}


.flat, .flat p {/* flat part contains the text in raw wrapper, is a good place to put text for metadata (SEO plugin) but putting css is a wrong good idea (same reason)  */
	height: 0;
	max-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	opacity: 0;
}

body {
	background: #222222;
}

body.loading {
	cursor: wait;
}

body.loading * {
	-moz-transition: none !important;
	-webkit-transition: none !important;
	-o-transition: none !important;
	-ms-transition: none !important;
	transition: none !important;
	-moz-animation: none !important;
	-webkit-animation: none !important;
	-o-animation: none !important;
	-ms-animation: none !important;
	animation: none !important;
}

body, input, select, textarea, button, ul:not(.fa) li, ol:not(.fa) li, .yam-content {
	font-family: 'NunitoSansCondensed','Open Sans', sans-serif;
	font-size: 16pt;
	font-weight: 300;
	line-height: 1.6em;
	letter-spacing: -0.3pt;
}



a:not(.button):not(.fa) {
	text-decoration: none;
	font-weight: bold;
}

.justified-gallery > a {
	opacity: 1 !important;
}

.frieze-gallery {
	display:flex;
	flex-direction:row;
	overflow-x: auto;
}

.frieze-gallery img {
	max-width: none;
}


#nav .yam-not-navigable, .yam-side-panel .yam-not-navigable span {
	opacity: 0.85 !important;
}

a:not(.button):hover {
	opacity: 1;
}


strong, b {
	font-weight: 700;
}

em, i {
	font-style: italic;
}

p, ul, ol, dl, table, blockquote {
	margin: 0 0 1em 0;
	line-height: 1.5em;
}

ul, ol, dl {
	padding-left: 1em;
}


	p.medium {
		font-size: 1.6em;
	}

h1, h2, h3, h4, h5, h6 {
	color: inherit;
	font-weight: 700;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	text-decoration: none;
}

h1 {
	font-size: 2.4em;
	line-height: 1.8em;
}

h2 {
	font-size: 1.4em;
	line-height: 1.6em;
	margin-bottom: 0.4em;
}

h3 {
	font-size: 1.2em;
	line-height: 1.4em;
	margin-bottom: 0.2em;
}

sub {
	font-size: 0.8em;
	position: relative;
	top: 0.5em;
}

sup {
	font-size: 0.8em;
	position: relative;
	top: -0.5em;
}

hr {
	border-top: solid 1px #302040;
	border: 0;
	margin-bottom: 1.5em;
}

blockquote {
	border-left-style: solid;
	border-left-width: 0.5em;
	border-left-color:  #808080;
	font-style: italic;
	padding: 0.2em 0 0.2em 1em;
}

blockquote p {
	margin: 0;
	opacity:  0.85;
}



input[type="text"],
input[type="password"],
input[type="email"],
textarea,
select {
	border: solid 1px #302040;
	color: inherit;
	display: block;
	outline: 0;
	padding: 0.75em;
	text-decoration: none;
	width: 100%;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
	border-color: #302040;
}

input[type="text"],
input[type="password"],
input[type="email"] {
	line-height: 1em;
}

input[type="text"]::before,
input[type="password"]::before,
input[type="email"]::before,
textarea::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	opacity: 0.5;
}

#g-recaptcha-contact_form {
	margin-left: calc(50% - 152px);
}

::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.5;
	position: relative;
	top: 3px;
}

:-moz-placeholder {
	color: inherit;
	opacity: 0.5;
}

::-moz-placeholder {
	color: inherit;
	opacity: 0.5;
}

:-ms-input-placeholder {
	color: inherit;
	opacity: 0.5;
}

.formerize-placeholder {
	color: rgba(85, 85, 85, 0.5) !important;
}

.form-label {
	padding: 0.75em 0 0.25em 0;
}


ol.default {
	list-style: decimal;
	padding-left: 1.25em;
}

ol.default li {
	padding-left: 0.25em;
}

ul.default {
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.default li {
	padding: 0.40em 0em;
}

ul.socials {
	cursor: default;
	padding-left: 0;
}

ul.socials li {
	display: inline-block;
	line-height: 1em;
	padding: 0 0 0 8px;
	font-size:inherit;
}

ul.socials li:first-child {
	padding-left: 0;
}

ul.socials li span {
	display: none;
}

ul.socials li a {
	text-decoration: none;
	font-size: 2em;
	color: inherit;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

ul.socials li a:hover {
	color: inherit;
	opacity: 1;
}

ul.actions {
	cursor: default;
}

ul.actions:last-child {
	margin-bottom: 0;
}

ul.actions li {
	display: inline-block;
	padding: 0 0 0 1.5em;
}

	ul.actions li:first-child {
		padding: 0;
	}

ul.actions.vertical li {
	display: block;
	padding: 1.5em 0 0 0;
}

ul.actions.vertical li:first-child {
	padding: 0;
}

ul.special-icons {
	margin: 0em;
	padding: 0em;
}

ul.special-icons > li {
	position: relative;
	padding: 0.50em 0em 0.50em 0em;
}

ul.special-icons > li:before {
	position: absolute;
	left: 0;
	top: 2em;
	display: block;
	background: none;
	font-size: 2em;
	border-radius: 5px;
}

ul.special-icons > li:first-child {
	border-top: none;
}

ul.special-icons h3 {
	margin-bottom: 0.80em;
	line-height: 2em;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 1.2em;
}

ul.special-icons span {
	line-height: 190%;
}

ul.special-icons .fa {
	float: left;
	display: inline-block;
	padding-right: 1em;
	font-size: 1.4em;
	color: #302040;
}

ul.special-icons p {
	padding-left: 2.7em;
}

ul.icon-list li span {
	display:block;
	margin-left: 0.5em;
}



table {
	width: 100%;
}

thead {
	font-weight: bold;
}

table.default {
	width: 100%;
}

table.default tbody tr {
	border-bottom: solid 1px #302040;
}

table.default td {
	padding: 0.5em 1em 0.5em 1em;
}

table.default th {
	font-weight: 700;
	padding: 0.5em 1em 0.5em 1em;
	text-align: left;
}

table.default thead {
	background: #555555;
	color: #fff;
}



input[type="submit"],
input[type="envoyer"],
input[type="reset"],
input[type="button"],
.button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: none;
	border-radius: 4px;
	border: 2px solid;
	border-color: #302040;
	color: #302040;
	cursor: pointer;
	display: inline-block;
	padding: 0.6em 0.8em 0.5em 0.8em;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 1.1em;
	font-weight: 500;
	margin-top: 0.7em;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}



input[type="submit"].alt,
input[type="reset"].alt,
input[type="button"].alt,
.button.alt {
	border-color: inherit;
	color: inherit;
}



input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
.button.fit {
	width: 100%;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
.button.small {
	font-size: 0.8em;
}





.yam-wrapper {
	padding: 2em 0em 2em 0em;
}

.yam-wrapper.yam-header-wrapper {
	padding: 0em;	
	position: relative;
}

.yam-module-title, .yam-module-buttons, .yam-wrapper .buttons {
	text-align: center;
}





#yam-header {
	color: white;
	height: 72px;
	line-height: 72px; 
	background: rgba(0, 0, 0, 0.15);
	position: relative;
}

	#yam-header .container {
		position: relative;
	}

.yam-body--home #logo,.yam-body--home #titleBar .title {
	display: none;
}


#logo a {
	font-weight: 400;
}

#yam-lang-switch {		
	font-size: 28px;
}

#yam-lang-switch a {
	color: white;
	font-weight:normal;
	margin-right:8px;
}

#yam-lang-switch .yam-lang-active {
	text-decoration: underline;
	cursor: default;
	opacity: 1;
}

.goto-next {
	border: 0;
    bottom: 1.5em;
    display: block;
    height: 5em;
    left: 50%;
    margin: 0 0 0 -5em;
    overflow: hidden;
    position: absolute;
    text-indent: 10em;
    white-space: nowrap;
    width: 10em;
    z-index: 1;
}

.goto-next:before {
    background-image: url(../images/arrow.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    display: block;
    height: 1.5em;
    left: 50%;
    margin: -0.75em 0 0 -1em;
    position: absolute;
    bottom:0.5em;
    width: 2em;
    z-index: 1;
}

#logo, .yam-body--home #logo {
	font-size: 56px;
	line-height: 56px;
	font-family: 'StephenType', cursive;
	margin-right:24px;
}

body:not(.yam-body--home) #logo {
	display:inline-block;
}

#logo a {
	color: inherit;
}

#nav {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 28px;
}

#nav ul, #yam-side-panel ul {
	margin: 0;
	padding-left:0;
}

#nav > ul > li {
	border-radius: 4px;
	display: inline-block;
	margin-left: 0.5em;
	padding: 0 0.1em;
	line-height: 72px; /* nav height */
	letter-spacing: 2px;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 400;
}

#nav > ul > li a {
	color: inherit;
	font-weight: inherit;
}

#nav > ul > li:first-child {
	margin-left: 0;
}

#nav > ul > li > ul {
	display: none;
}

.dropotron li a, #yam-side-panel a {
	color: inherit;
}
#yam-header-actions {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 24px;
	height:72px;
	line-height:72px;
	display:none;
}
#yam-header-actions .yam-header-action {
	display:inline-block;
	font-weight: normal;
	cursor: pointer;
}

#yam-side-panel {
	display:none;
	position: fixed;
	font-size: 24px;
	top: 0;
	right: -100%;
	bottom: 0;
	width: 100%;
	padding: 24px;
	transition: right 0.3s;
    z-index: 999;
}

#yam-side-panel .yam-header-action {
	margin-top: 4px;
	margin-right:24px;
	font-size:28px;
}

#yam-side-panel.displayed {
	right: 0;
	transition: right 0.3s;
}

#yam-side-panel .current-page-item > a {
	text-decoration: underline;
}

#yam-side-panel .current-page-item a {
	opacity:1;
}

.yam-indent-0 {
	margin-left: 0;
}

.yam-indent-1 {
	margin-left: 24px;
}

.yam-indent-2 {
	margin-left: 48px;
}

.navigation-menu .has-children {
	margin-bottom: 0.3em;
}

#yam-side-panel li, #yam-side-panel ul {
	list-style: none;
}

/* Dropotron: submenu for navigation */

.dropotron:not(:has(> li)) {
	display: none !important;
}

.dropotron {
	top: 2em;
	background: rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	color: inherit;
	min-width: 12em;
	padding: 18px 0;
	color: white;
	margin-top: 2px;
	list-style: none;
}

.dropotron > li {

	padding: 0 1em;
}


.dropotron > li > a {
	letter-spacing: 2px;
	text-decoration: none;
	font-weight: normal !important;
	text-transform: uppercase;
	font-size: 16pt;
}

.dropotron > li.active > a, .dropotron > li:hover > a {
	color: inherit;
}


.dropotron.level-0 {
	border-radius: 0 0 4px 4px;
	font-size: 1em;
	margin-left: -0.5em;
}




#yam-banner {
	text-align: left;
	color: white;
    cursor: default;
    user-select: none;
    height:calc(100vh - 72px);
}




#yam-banner .yam-banner-headline {
    display: inline-block;
    padding-right: 4.5em;
    padding-bottom: 0.4em;
    padding-left: 0.6em;
    border-radius: 0.7em / 0 0.7em;
    font-size: 120px;
    font-weight: 400;
    font-family: 'StephenType', cursive;
    white-space: nowrap;
    background-color: pink;
    color: #fffefe;
    -webkit-background-clip: text;
    margin-bottom: -1em;
	position: absolute;
	bottom: calc(50% - 1em);
}



#yam-banner .yam-banner-follower,
#yam-banner .yam-banner-blurb {
	display: block;
	letter-spacing: 1px;
	font-size: 36px;
	font-weight: 300;
	color: white;
}

#yam-banner .yam-banner-follower {
	text-transform: uppercase;
	padding-top: 0.8em;
	padding-bottom: 0.3em;
}

#yam-banner .yam-banner-blurb {
	background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 30%, rgba(0,0,0,0.1) 70%, rgba(0,0,0,0) 100%);
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	width:630px;
	left:calc(50% - 315px);
	opacity:0.9;
	position: absolute;
	bottom: 2.4em;
	text-align: center;
}


#yam-footer {
	padding: 2em 0 1em 0;
	text-align: center;
	color: white;
	font-size: 0.8em;
}

#yam-footer hr {
	border-bottom: 1px solid;
	border-color: inherit;
	opacity: .05;
}


#yam-footer .copyright {
	margin-top: 3em;
	text-align: center;
}
.yam-footer-title {
	text-transform: uppercase;
	line-height: 1.2em;
	margin-top: 0.8em;
}

#yam-footer--contact {
	height:112px;
	vertical-align:middle;
	display:flex;
	flex-direction: row;
	background-color: rgba(255,255,255,0.1);
}


#yam-copyright {
	position: relative;
	text-transform: uppercase;
	text-align: center;
	padding: 1em 0em 1em 0em;
	color: inherit;
	opacity: .40;
}

#yam-copyright a {
	text-decoration: none;
	color: inherit;
}
