/* Fonts
---------------------------------------------------------------------- */
@font-face {
  font-family: 'NeoSansStdLight';
  src: url('../fonts/NeoSansStdLight.otf') format('truetype');
}

@font-face {
  font-family: 'NeoSansStdRegular';
  src: url('../fonts/NeoSansStdRegular.otf') format('truetype');
}

@font-face {
  font-family: 'NeoSansStdBold';
  src: url('../fonts/NeoSansStdBold.otf') format('truetype');
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/b683e3/00000000000000003b9b306c/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff2"),url("https://use.typekit.net/af/b683e3/00000000000000003b9b306c/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("woff"),url("https://use.typekit.net/af/b683e3/00000000000000003b9b306c/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n9&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:900;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/d32834/00000000000000003b9b306d/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("woff2"),url("https://use.typekit.net/af/d32834/00000000000000003b9b306d/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("woff"),url("https://use.typekit.net/af/d32834/00000000000000003b9b306d/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i9&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:900;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/949f99/00000000000000003b9b3068/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/949f99/00000000000000003b9b3068/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/949f99/00000000000000003b9b3068/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:700;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/4c4052/00000000000000003b9b3069/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/4c4052/00000000000000003b9b3069/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/4c4052/00000000000000003b9b3069/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:700;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/d82519/00000000000000003b9b306a/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff2"),url("https://use.typekit.net/af/d82519/00000000000000003b9b306a/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff"),url("https://use.typekit.net/af/d82519/00000000000000003b9b306a/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:800;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/3e6df8/00000000000000003b9b306b/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff2"),url("https://use.typekit.net/af/3e6df8/00000000000000003b9b306b/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff"),url("https://use.typekit.net/af/3e6df8/00000000000000003b9b306b/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:800;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/576d53/00000000000000003b9b3066/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("woff2"),url("https://use.typekit.net/af/576d53/00000000000000003b9b3066/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("woff"),url("https://use.typekit.net/af/576d53/00000000000000003b9b3066/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n6&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:600;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/f7d492/00000000000000003b9b3067/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("woff2"),url("https://use.typekit.net/af/f7d492/00000000000000003b9b3067/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("woff"),url("https://use.typekit.net/af/f7d492/00000000000000003b9b3067/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i6&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:600;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/705e94/00000000000000003b9b3062/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:400;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/5c70f2/00000000000000003b9b3063/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:400;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/cebe0e/00000000000000003b9b3060/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/cebe0e/00000000000000003b9b3060/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/cebe0e/00000000000000003b9b3060/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:300;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/40ff7f/00000000000000003b9b3061/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff2"),url("https://use.typekit.net/af/40ff7f/00000000000000003b9b3061/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff"),url("https://use.typekit.net/af/40ff7f/00000000000000003b9b3061/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:300;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/6e816b/00000000000000003b9b3064/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
font-display:auto;font-style:normal;font-weight:500;
}

@font-face {
font-family:"proxima";
src:url("https://use.typekit.net/af/5b5251/00000000000000003b9b3065/27/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff2"),url("https://use.typekit.net/af/5b5251/00000000000000003b9b3065/27/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff"),url("https://use.typekit.net/af/5b5251/00000000000000003b9b3065/27/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("opentype");
font-display:auto;font-style:italic;font-weight:500;
}

/* Colors
---------------------------------------------------------------------- */
:root {
	--white: #fff;
	--black: #000;
	--black-shadow: rgba(0, 0, 0, 0.6);
	--black-soft-shadow: rgba(0, 0, 0, 0.1);
	--black-medium-shadow: rgba(0, 0, 0, 0.2);
	--red: #e2001a;
	--red-shadow: rgba(226, 0, 26, 0.1);
	--dark-grey: #5a5a5c;
	--grey: #a9a9a9;
	--light-grey: #e9e9e9;
	--light-grey-shadow: rgba(233, 233, 233, 0.5);
	--grey-shadow: rgba(89, 88, 87, 0.1);
	--green: #338a3e;
	--info: #0077c2;
	--gold: rgba(255, 207, 64, 1);
	--bkg-grey: #f5f5f5;
	--bkg-grey-dark: #E6E6E6;
}

/* Keyframes
---------------------------------------------------------------------- */
@keyframes move_arrow { from { left: 0; } to { left: 32px; }  }

/* CSS3 Reset
---------------------------------------------------------------------- */
* {
	box-sizing: border-box;
	font-family: 'Proxima', 'Arial', sans-serif;
}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,var,b,i,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,table,caption,article,aside,canvas,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,
mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	text-align: left;
}

body { line-height: 1; }
article,aside,canvas,figcaption,figure,footer,header,hgroup,menu,nav,section,summary { display: block; }
a {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	cursor: pointer;
}
ins {
	background-color: #f1f191;
	color: #010201;
	text-decoration: none;
}
mark {
	background-color: #f1f191;
	color: #010201;
	font-style: italic;
	font-weight: bold;
}
del { text-decoration:line-through; }
abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid var(--light-grey);
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align:middle;
}
textarea {
	resize: none;
}
ul {
	list-style: none;
}
p {
	font-family: 'Proxima', 'Arial', sans-serif;
	line-height: 1.3;
	margin: 14px 0;
}
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;
}

/* WA
---------------------------------------------------------------------- */
html, body { width: 100%; height: 100%; min-height: 100%; padding: 0; margin: 0; background-color: var(--bkg-grey); }
html { font-size: 16px; scroll-behavior: smooth; }
body { font-size: 1rem; color: var(--black); }
.hide { display: none !important; }

.wrap { width: 100%; height: 100%; max-width: 1800px; margin: auto; }
.wrap-col { display: flex; flex-direction: row; align-items: flex-start; justify-content: center; }
.wrap-col > .col { flex: 1; padding: 0 12px 0 12px; }

body > main {
	position: relative;
	max-width: 100%;
	min-height: 100%;

	display: flex;
	flex-direction: column;
}
body > main > .sub-nav {
	background-color: var(--white);
}
body > main > .sub-nav * {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
}
body > main > section,
body > main > article.banner-fullwidth > section {
	margin: 8px 10%;
}
body > main .back-link {
	color: var(--red);
	text-decoration: none;
	margin: 12px 10% 4px 10%;
}
body > main img { max-width: 100%; height: auto; }
.search-suggs { width: 100%; background-color: #fff; border: 1px solid #e8561a; border-top: none; box-shadow: 2px 2px 3px 0px rgba(232, 86, 26, 0.3); box-sizing: border-box; padding: 3px 6px; }
.search-suggs:empty { display: none; }
.search-suggs li { padding: 12px 24px; cursor: pointer; }
.search-suggs li:not(:first-child){ border-top: 1px solid #e8561a; }

body > main h1 {
	width: 100%;

	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 28px;
	color: var(--red);
	text-align: center;

	margin: 12px auto;
}
body > main h2 {
	width: 100%;
	margin: 24px 0 12px 0;

	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 22px;
	text-transform: uppercase;
	padding: 6px 8px;

	display: flex;
	flex-direction: row;
	align-items: center;

	border-left: 7px solid var(--red);
}
body > main h3 {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	text-transform: uppercase;
}
body > main h2 img { height: 42px; width: auto; margin-right: 12px; }
body iframe { max-width: 100%; }
table { width: 100%; }
table thead tr th { text-align: center; }
table td { padding: 6px; }
table.stats tbody tr td:not(:first-child), table.stats tfoot tr td:not(:first-child){ text-align: center; }
table.stats tbody tr:nth-child(2n) { background-color: var(--light-grey-shadow); }
.fa-trophy { color: var(--gold); }

article.banner-fullwidth {
	width: 100%;
}

article.banner-fullwidth img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media screen and (max-width: 1200px){
	body > main > section, body > main > article.banner-fullwidth > section { margin: 8px 2%; }
	body > main .back-link { margin: 12px 2% 4px 2%; }
}

/* WA - Content
---------------------------------------------------------------------- */
.content-image {
	width: 100%;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.content-image img {
	width: auto;
	height: auto;

	max-width: 100%;
	max-height: 100%;

	object-fit: cover;
}

/* WA - Forms
---------------------------------------------------------------------- */
form {
	display: flex;
	flex-direction: column;
}
form label {
	width: 100%;
	padding: 2px;

	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
}
form p {
	align-self: self-start;
	margin: 6px 0;
}
form .help { margin-top: 4px; }
.help a {
	align-self: self-start;

	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-size: 14px;
	color: var(--grey);
	text-decoration: none;

	margin: 6px 0;
}
.help a:hover { text-decoration: underline; }

.form-row-center,
.form-row { display: flex; flex-direction: row; align-items: center; justify-content: flex-end; flex-wrap: wrap; margin: 16px 0; }
.form-row-center { justify-content: center; }
.form-row.hide,
.form-row-center.hide { display: none; }
.form-row label { width: 30%; cursor: pointer; }
.form-row input,
.form-row textarea,
.form-row button,
.form-row select { width: 70%; background: transparent; border: 1px solid transparent; border-bottom: 1px solid #007fc5; padding: 4px 16px; outline: none; transition: 0.3s; font-size: 16px; margin: 8px; outline: none; }
.form-row input:not([type="checkbox"]):not([type="radio"]):focus,
.form-row textarea:focus,
.form-row select:focus { border-bottom-color: #e8561a; box-shadow: 2px 2px 3px 0px rgba(232, 86, 26, 0.3); transition: 0.3s; }

.form-col-center,
.form-col { display: flex; flex-direction: column; align-items: center; justify-content: center; flex-wrap: wrap; margin: 16px 0; }
.form-col.hide,
.form-col-center.hide { display: none; }
.form-col input,
.form-col textarea,
.form-col button,
.form-col select {
	width: 98%;
	margin: auto;
	background: transparent;

	border: 1px solid transparent;
	border-bottom: 1px solid var(--grey-shadow);
	border-radius: 2px;

	font-family: 'Proxima', 'Arial', sans-serif;
	font-size: 16px;
	color: var(--black);
	padding: 4px 16px;

	outline: none;
	transition: 0.3s;
}
.form-col input:not([type="checkbox"]):not([type="radio"]):focus,
.form-col textarea:focus,
.form-col select:focus { border-bottom-color: var(--grey); box-shadow: 2px 2px 3px 0px var(--grey-shadow); transition: 0.3s; outline: none; }

a.btn { text-decoration: none; }
button[type='button']:focus, button[type='submit']:focus { outline: none; }
button[type='button'], button[type='submit'], .btn { cursor: pointer; position: relative; width: auto; border: none; border-radius: 8px; padding: 8px 32px; background-color: var(--black); color: var(--white); font-weight: bold; text-transform: uppercase; font-size: 18px; letter-spacing: 1px; overflow: hidden; margin: 4px 16px; transition: 0.4s; }
button[type='button'] > span, button[type='submit'] > span, .btn > span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	text-align: center;
}
button[type='button'] i, button[type='submit'] i { font-size: 32px; }
button[type='button'] > span, button[type='submit'] > span, .btn > span { z-index: 20; position: relative; top:0; left: 0; bottom: 0; right: 0; }
button[type='button']:before, button[type='submit']:before, .btn:before { z-index: 10; position: absolute; top:0; left: -100%; bottom: 0; right: 0; width: 0; content: ''; background-color: var(--grey); transition: 0.4s; }
button[type='button']:hover:before, button[type='submit']:hover:before, .btn:hover:before { width: 300%; }
button[type='button']:hover > span, button[type='submit']:hover > span, .btn:hover > span { color: #fff; }
button[type='button']:hover, button[type='submit']:hover, .btn:hover { background-color: var(--grey); }

button[type='button'].filled, button[type='submit'].filled {
	border-color: var(--grey);
	background-color: var(--grey);
	color: #fff;
}
button[type='button'].filled:before, button[type='submit'].filled:before { background-color: var(--light-grey); }
button[type='button'].filled:hover > span, button[type='submit'].filled:hover > span { color: var(--black); }

button[type='button'].btn-small, button[type='submit'].btn-small { padding: 4px 16px; margin: 2px 8px; font-size: 14px; }
button[type='button'].btn-ico, button[type='submit'].btn-ico { font-size: 12px; font-weight: bold; }
button[type='button'].btn-ico i, button[type='submit'].btn-ico i { font-size: 22px; }
button[type='button'].rounded, button[type='submit'].rounded { width: 64px; height: 64px; padding: 6px; }

button[type='button'].btn-black, button[type='submit'].btn-black { border-color: var(--black); color: var(--black); }
button[type='button'].btn-black:before, button[type='submit'].btn-black:before { background-color: var(--black); }
button[type='button'].btn-black:hover, button[type='submit'].btn-black:hover { background-color: var(--white); }

button[type='button'].btn-black.filled, button[type='submit'].btn-black.filled { border: 1px solid var(--black); background-color: var(--black); color: var(--white); }
button[type='button'].btn-black.filled:before, button[type='submit'].btn-black.filled:before { background-color: var(--white); }
button[type='button'].btn-black.filled:hover > span, button[type='submit'].btn-black.filled:hover > span { color: var(--black); }
button[type='button'].btn-black.filled:hover, button[type='submit'].btn-black.filled:hover { }

button[type='button'].btn-red, button[type='submit'].btn-red { border: 1px solid var(--red); background-color: transparent; color: var(--red); }
button[type='button'].btn-red:before, button[type='submit'].btn-red:before { background-color: var(--red); }
button[type='button'].btn-red:hover, button[type='submit'].btn-red:hover { color: var(--white); }

button[type='button'].btn-red.filled, button[type='submit'].btn-red.filled { border-color: #f44336; background-color: #f44336; color: #fff; }
button[type='button'].btn-red.filled:before, button[type='submit'].btn-red.filled:before { background-color: #fff; }
button[type='button'].btn-red.filled:hover > span, button[type='submit'].btn-red.filled:hover > span { color: #f44336; }
button[type='button'].btn-red.filled:hover, button[type='submit'].btn-red.filled:hover { }

button[type='button']:disabled, button[type='submit']:disabled { cursor: not-allowed; background: #fafafa !important; border-color: #eee !important; }
button[type='button']:disabled:hover, button[type='submit']:disabled:hover { background: #eee !important; box-shadow: 2px 2px 3px 0px rgba(238, 238, 238, 0.3) !important; }
button[type='button']:disabled > span, button[type='submit']:disabled > span { color: rgba(0, 0, 0, 0.2) !important; }
button[type='button']:disabled:before, button[type='submit']:disabled:before { background: #fafafa !important; }

/* WA - Search
---------------------------------------------------------------------- */
.search {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 8px 0;
}
.search .fa-search {
	font-size: 14px;
	color: var(--red);
}
.search > .autocomplete {
	position: relative;
	min-width: 350px;
}
.search > .autocomplete > .autocomplete-items {
    position: absolute;
    border: 1px solid #d4d4d4;
    border-top: none;
    z-index: 99;

    top: 100%;
    left: 0;
    right: 0;

    max-height: 250px;
    overflow-y: auto;
}
.search > .autocomplete > .autocomplete-items div {
	cursor: pointer;
	padding: 10px;

	background-color: var(--white);
	border-bottom: 1px solid var(--light-grey);
	transition: 0.2s;
}
.search > .autocomplete > .autocomplete-items div:last-child {
    border-bottom: unset;
}
.search > .autocomplete > .autocomplete-items div:hover {
	background-color: var(--light-grey);
	transition: 0.2s;
}
.search > .autocomplete > .autocomplete-items div.autocomplete-active {
	background-color: var(--red);
  	color: var(--white);
  	transition: 0.2s;
}
.search > .autocomplete > .autocomplete-items div .fa {
    margin-right: 12px;
    color: var(--dark-grey);
}
.search input {
	width: 100%;
	background: transparent;
	outline: none;

	padding: 8px;
	border: unset;
	border-bottom: 1px solid var(--light-grey);
}

@media screen and (max-width: 500px){
	.search > .autocomplete { min-width: 200px; }
}


/* WA - List
---------------------------------------------------------------------- */
.list {
	width: 100%;
	margin: 16px 0 32px 0;

	display: flex;
	flex-direction: column;
}

.list > .list-item {
	position: relative;

	width: 100%;
	padding: 20px 8px;
	min-height: 150px;

	transition: 0.2s;
}

.list > .list-item:hover {
	background-color: var(--white);

	transition: 0.2s;
}

.list > .list-item:not(:last-child):before {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;

	border-bottom: 1px solid var(--light-grey);
}

/* WA - Motifications
---------------------------------------------------------------------- */
body > main #notifications {
	z-index: 100;
	position: fixed;
	bottom: 0;
	right: 0;

	width: 50%;
	margin: auto;

	font-size: 14px;
	font-weight: bold;
}
body > main #notifications > div {
	position: relative;

	display: flex;
	flex-direction: row;
	align-items: stretch;

	width: 98%;
	margin: 6px;
	padding: 24px 12px;

	border: 2px solid transparent;
	border-left: none;
	border-right: none;

	color: var(--black);
	background-color: var(--white);
	box-shadow: 2px 2px 8px 1px var(--black-shadow);
}
body > main #notifications div.type,
body > main #notifications div.content,
body > main #notifications div.close { display: flex; justify-content: flex-start; align-items: center; }
body > main #notifications div.type { font-size: 26px; }
body > main #notifications div.content { flex: 1; padding: 0 8px; }

body > main #notifications .error { border-color: var(--red); }
body > main #notifications .error div.type i.fa:before { content: "\f06a"; color: var(--red); }

body > main #notifications .success { border-color: var(--green); }
body > main #notifications .success div.type i.fa:before { content: "\f058"; color: var(--green); }

body > main #notifications .info { border-color: var(--info); }
body > main #notifications .info div.type i.fa:before { content: "\f05a"; color: var(--info); }

/* WA - Header
---------------------------------------------------------------------- */
body > header { height: 100px; background-color: var(--white); border-bottom: 1px solid var(--light-grey); box-shadow: 0px 2px 3px 0px var(--light-grey); }
body > header > section { display: flex; align-items: stretch; justify-content: space-between; flex-direction: row; }
body > header .logo { margin-left: 16px; display: flex; align-items: center; justify-content: center; }
body > header .logo img { max-height: 75px; width: auto; }
body > header .nav { z-index: 50; width: 100px; display: flex; align-items: center; justify-content: center; background-color: var(--red); }
body > header .nav a { text-decoration: none; }
body > header .nav .fa-bars, body > header .nav .fa-times { position:relative; color: var(--white); font-size: 32px; cursor: pointer; }
body > header .menu { z-index: 42; display: none; opacity: 0; position: fixed; left: 0; top: 0; bottom: 0; width: 100%; }
body > header .menu .blur { position: absolute; left: 0; top: 0; bottom: 0; right: 0; background-color: #333; opacity: 0.3; }
body > header .menu a { text-decoration: none; }
body > header .menu ul li:first-child { text-align: center; }
body > header .menu img { max-width: 100%; width: auto; max-height: 75px; }
body > header .menu ul { position: absolute; top: 0; background-color: #fff; width: 60%; height: 100%; border-right: 1px solid #eee; display: flex; flex-direction: column; justify-content: flex-start; align-content: flex-start; }
body > header .menu ul li { font-family: 'NeoSansStdRegular', 'Arial', sans-serif; position: relative; padding: 20px 8px; color: var(--black); font-size: 18px; text-decoration: none; cursor: pointer; }
body > header .menu ul li > span { font-family: 'NeoSansStdRegular', 'Arial', sans-serif; font-size: 16px; }
body > header .menu ul li:not(:first-child) { overflow: hidden; border-bottom: 1px solid var(--grey-shadow); }
body > header .menu ul li:nth-child(2) {border-top: 1px solid var(--grey-shadow); }
body > header .menu ul li[data-type="wa-myaccount"] { border-top: 1px solid #eee; margin-top: auto; }
body > header .menu ul li:not(:first-child):before { z-index: 10; position: absolute; top:0; left: -400%; bottom: 0; right: 0; width: 300%; content: ''; background-color: var(--red); transition: 0.4s; transform: skew(-45deg); }
body > header .menu ul li:not(:first-child):hover:before { left: -100%; }
body > header .menu ul li:not(:first-child):hover > span { color: var(--white); }
body > header .menu ul li:not(:first-child) > span { z-index: 20; position: relative; top:0; left: 0; bottom: 0; right: 0; transition: 0.3s; }
@media screen and (max-width: 500px){
	body > header .logo img { max-height: 50px; }
}

/* WA - Footer
---------------------------------------------------------------------- */
body > footer { width: 100%; height: 100px; padding: 12px 6px; color: var(--white); background-color: var(--black); box-shadow: 0px -2px 3px 0px var(--black-soft-shadow); }
body > footer * { font-family: 'NeoSansStdRegular', 'Arial', sans-serif; }
body > footer > section { display: flex; align-items: stretch; justify-content: space-between; flex-direction: row; }
body > footer .logo { margin-left: 16px; display: flex; align-items: center; justify-content: center; }
body > footer .logo img { max-height: 75px; width: auto; }
body > footer .copyright { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
body > footer .copyright a { color: var(--white); }
body > footer .copyright a:hover { text-decoration: unset; }
body > footer .socials { display: flex; flex-direction: column; align-items: center; justify-content: center; }
body > footer .socials h1 { font-size: 22px; color: var(--white); margin: 0 0 8px; }
body > footer .socials ul { display: flex; flex-direction: row; align-items: stretch; justify-content: center; text-align: center; }
body > footer .socials ul li a { margin: 0 8px; font-size: 18px; background-color: var(--white); width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--grey); text-decoration: none; }
body > footer .socials ul li a:hover { color: var(--red); }

@media screen and (max-width: 500px){
	body > footer { height: auto; }
	body > footer > section { flex-direction: column; }
	body > footer .logo { width: 100%; margin: 0 0 16px 0; }
	body > footer .copyright { margin: 0 0 16px 0; }
}

/* WA - Login / Register
---------------------------------------------------------------------- */
#loginRegisterForms {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

@media screen and (max-width: 900px){
	#loginRegisterForms { flex-direction: column; }
	body > main #register-form, body > main #login-form { width: 100%; margin: 0 auto 32px auto; }
}

/* WA - Login form
---------------------------------------------------------------------- */
body > main #register-form,
body > main #login-form {
	flex: 1;

	display: flex;
	justify-content: center;
	align-items: center;
}

body > main #register-form > section,
body > main #login-form > section {
	position: relative;

	width: 100%;
	max-width: 400px;
	border: 1px solid var(--light-grey);
	padding: 32px 12px;
	overflow: hidden;

	background-color: var(--white);
}

body > main #register-form .subTitle,
body > main #login-form .subTitle {
	width: 100%;
	text-align: center;

	font-size: 14px;
	color: var(--grey);
}

/* WA - More infos
---------------------------------------------------------------------- */
#more-infos {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-size: 14px;

	text-align: center;
}

#more-infos a {
	color: var(--black);
}

#more-infos a:hover {
	text-decoration: none;
}

/* WA - Exhibitor list
---------------------------------------------------------------------- */
#exhibitor-list > .list-item {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	cursor: pointer;
}
#exhibitor-list > .list-item:hover {
	box-shadow: 0 0 8px 1px var(--black-soft-shadow);
}

#exhibitor-list > .list-item > .logo {
	width: 25%;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
#exhibitor-list > .list-item > .logo h1 {
	margin-left: unset;
	max-width: 200px;
	text-align: left;
	font-size: 20px;
	color: var(--black);
}
#exhibitor-list > .list-item > .logo img {
	width: auto;
	height: 100%;
	max-width: 200px;
	max-height: 75px;

	object-fit: contain;
}
#exhibitor-list > .list-item > .desc {
	width: 50%;

	padding: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#exhibitor-list > .list-item > .desc h2 {
	margin: unset;
	padding: unset;
	border: unset;
}
#exhibitor-list > .list-item > .more {
	width: 25%;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
}

#exhibitor-list > .list-item > .more .btn-more {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;

	text-decoration: none;
	color: var(--red);
	background-color: var(--white);

	border: 1px solid var(--grey);
	border-radius: 50%;
	overflow: hidden;

	transition: 0.3s;
}
#exhibitor-list > .list-item:hover > .more .btn-more {
	border: 1px solid var(--red);
	box-shadow: inset 0 0 3px 1px var(--red), 0 0 1px 1px var(--red);
	background-color: var(--red);
	color: var(--white);
}
#exhibitor-list > .list-item > .more .btn-more i {
	position: relative;
	font-size: 22px;
}
#exhibitor-list > .list-item:hover > .more .btn-more i {
	animation: 0.2s linear 0s 1 running move_arrow;
}

#exhibitor-list > .list-item > .more .quizAvailable {
	margin: 4px 0;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	font-family: 'NeoSansStdBold';
	font-size: 12px;
}

#exhibitor-list > .list-item > .more .quizAvailable .fa {
	font-size: 16px;
	color: var(--red);

	margin: 2px 0;
}

@media screen and (max-width: 768px){
	#exhibitor-list > .list-item {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#exhibitor-list > .list-item > .logo { width: 100%; align-items: center; }
	#exhibitor-list > .list-item > .desc { width: 100%; align-items: center; }
	#exhibitor-list > .list-item > .more { width: 100%; align-items: center; }
}

/* WA - Exhibitor page
---------------------------------------------------------------------- */
#exhibitor {
	display: flex;
	flex-direction: row;
	align-items: stretch;

	background-color: var(--white);
	border: 1px solid var(--light-grey);
}
#exhibitor .infos {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 25%;
	padding: 0 12px;
	border-right: 1px solid var(--light-grey);
	background-color: var(--bkg-grey-dark);
}
#exhibitor .infos .logo {
	width: 100%;
	max-height: 150px;
	margin: 8px auto;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#exhibitor .infos .logo img {
	height: 100%;
	max-height: 150px;
	object-fit: contain;

	margin: auto;
}
#exhibitor .infos .address {
	text-align: center;

	width: 100%;
	margin: 24px 0 42px;
    align-self: flex-start;
}
#exhibitor .infos .btn-quiz {
	padding: 12px 24px;

	text-decoration: none;
	color: var(--black);
	border: 1px solid var(--grey);
	background-color: var(--white);

	transition: 0.3s;
}
#exhibitor .infos .btn-quiz:hover {
	background-color: var(--light-grey);
	border: 1px solid var(--grey);

	transition: 0.3s;
}
#exhibitor .desc {
	width: 75%;
	padding: 0 12px;

	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
#exhibitor .desc h2 {
	margin: 6px 0;
}
#exhibitor .desc p {
	margin: 4px 0;
	text-align: justify;
}
#exhibitor .desc img {
	max-width: 100%;
	height: auto;
}
#exhibitor-quiz {
	border-top: 1px solid var(--light-grey);
}
#exhibitor-quiz h1 {
	text-align: left;
}

@media screen and (max-width: 768px){
	#exhibitor {
		flex-direction: column;
	}
	#exhibitor .infos {
		border: none;
	}
	#exhibitor .infos,
	#exhibitor .desc {
		width: 100%;
	}
}

/* WA - Teams list
---------------------------------------------------------------------- */
#team-list.list {
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
}
#team-list > .list-item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;

	cursor: pointer;
}
#team-list > .list-item.search-result,
#team-list > .list-item:hover {
	background-color: var(--white);
	box-shadow: 0 0 8px 1px var(--black-soft-shadow);

	transition: 0.2s;
}
#team-list > .list-item > .preview {
	flex: 1;

	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
#team-list > .list-item > .preview > .section {
	display: flex;
	flex-direction: column;
}
#team-list > .list-item > .preview > .section > img {
	width: 75px;
	height: auto;
	object-fit: contains;
}
#team-list > .list-item > .preview > .section .stats ul {
	margin: 8px 0;
	display: flex;
	flex-direction: row;
	align-items: center;
}
#team-list > .list-item > .preview > .section .stats ul li {
	font-family: 'NeoSansStdRegular', 'Arial', sans-serif;
	margin: 0 8px;
}
#team-list > .list-item > .preview > .section .stats ul li .fa {
	color: var(--red);
}
#team-list > .list-item > .preview .details {
	flex: 1;

	display: flex;
	flex-direction: column;
}
#team-list > .list-item > .preview .details .teamname {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#team-list > .list-item > .preview .details .teamname h2,
#team-list > .list-item > .preview .details .teamname h3 {
	width: auto;

	text-align: center;
	border-left: unset;
	padding: unset;
}
#team-list > .list-item > .preview .details .teamname h2 {
	margin: 0 0 8px;
	color: var(--red);
}
#team-list > .list-item > .preview .details .teamname h3 {
	margin: 0 0 4px;
}
#team-list > .list-item > .preview .details .teamname b {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	color: var(--red);
}
#team-list > .list-item > .more {
	margin: 12px;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	z-index: 1;
}
#team-list > .list-item > .more > .btn-more {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;

	text-decoration: none;
	color: var(--red);
	background-color: var(--white);

	border: 1px solid var(--grey);
	border-radius: 50%;
	overflow: hidden;

	transition: 0.3s;
}
#team-list > .list-item:hover > .more > .btn-more {
	border: 1px solid var(--red);
	box-shadow: inset 0 0 3px 1px var(--red), 0 0 1px 1px var(--red);
	background-color: var(--red);
	color: var(--white);
}
#team-list > .list-item > .more > .btn-more i {
	position: relative;
	font-size: 22px;
}
#team-list > .list-item:hover > .more > .btn-more i {
	animation: 0.2s linear 0s 1 running move_arrow;
}

@media screen and (max-width: 768px){
	#team-list > .list-item > .preview .details {
		align-items: center;
	}
	#team-list > .list-item > .preview .details .teamname {
		flex-direction: column;
	}
}

@media screen and (max-width: 500px) {
	#team-list > .list-item {
		flex-direction: column;
	}
	#team-list > .list-item > .preview {
		width: 100%;
		flex-direction: column;
	}
	#team-list > .list-item > .preview .section {
		align-items: center;
	}
}

/* WA - Team page
---------------------------------------------------------------------- */
#team {
	display: flex;
	flex-direction: row;
	align-items: stretch;

	background-color: var(--white);
	border: 1px solid var(--light-grey);
}
#team .infos {
	display: flex;
	flex-direction: column;
	align-items: center;

	width: 33%;
	padding: 0 12px;
	border-right: 1px solid var(--light-grey);
}
#team .infos .logo {
	width: 100%;
	max-height: 100px;
	margin: 8px auto;

	display: flex;
	align-items: center;
	justify-content: center;
}
#team .infos .logo img {
	height: 100%;
	max-height: 100px;
	object-fit: contain;

	margin: auto;
}
#team .infos .dossard {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	color: var(--red);
}
#team .infos .address {
	margin: 12px 0;
	align-self: flex-start;
}
#team .infos .stats li {
	font-family: 'NeoSansStdRegular', 'Arial', sans-serif;
}
#team .infos .stats {
	align-self: flex-start;
}
#team .infos .stats .fa {
	color: var(--red);
}
#team .desc {
	width: 66%;
	padding: 0 12px;

	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
#team .desc img {
	max-width: 100%;
	height: auto;
}
#team-members {
	width: 100%;

	display: flex;
	flex-direction: row;
	flex-wrap: wrap;

	margin: 8px 0 16px 0
}
#team-members .list-item {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
#team-members .list-item:last-child {
	margin-bottom: 8px;
}
#team-members .list-item .preview {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
#team-members .list-item .preview img {
	height: 64px;
	max-height: 64px;
	width: 64px;
	max-width: 64px;
	object-fit: cover;

	border: 1px solid var(--grey-shadow);
	border-radius: 50%;

	margin: 16px;
}
#team-members .list-item .preview b {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
}
#team-members .list-item .stats ul {
	display: flex;
	flex-direction: row;
	align-items: center;
}
#team-members .list-item .stats ul li {
	font-family: 'NeoSansStdRegular', 'Arial', sans-serif;
	margin: 0 8px;
}
#team-members .list-item .stats ul li .fa {
	color: var(--red);
}

div.highlight {
	display: none;

	position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background-color: var(--black-shadow);
    opacity: 0;

    flex-direction: column;
    align-items: center;
    justify-content: center;

    z-index: 5;
}

div.highlight div.content {
	z-index: 10;
}

div.highlight div.content .preview {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

div.highlight div.content .preview .pp {
	width: 300px;
	height: 300px;
	object-fit: cover;

	border-radius: 50%;
	border: 4px solid var(--white);
}

div.highlight div.content .preview b {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 22px;

	margin: 8px 0;
	color: var(--white);
}

div.highlight div.content .stats ul {
	width: 100%;

	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;

	color: var(--white);
}

div.highlight div.content .stats .fa {
	font-size: 18px;
	color: var(--red);
}

@media screen and (max-width: 768px){
	#team {
		flex-direction: column;
	}
	#team .infos {
		border: none;
	}
	#team .infos,
	#team .desc {
		width: 100%;
	}
	#team .infos .address {
		margin: 12px 0;
		align-self: unset;
	}
	#team .infos .stats {
		align-self: unset;
	}
}

/* WA - Card
---------------------------------------------------------------------- */
body > main .card {
	width: 100%;

	color: var(--black);
	margin: 16px 0 32px 0;
	padding: 6px 8px;
	border: 1px solid var(--light-grey-shadow);
	background-color: var(--white);

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	transition: 0.2s;
}
body > main .card:hover {
	box-shadow: 0px 0px 8px 1px var(--black-medium-shadow);
	transition: 0.2s;
}
body > main .card .header { width: 100%; display: flex; flex-direction: row; justify-content: space-between; align-items: center; font-size: 0.875rem; text-shadow: #e8561a; margin-bottom: 12px; }
body > main .card .header > span:last-child span {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 16px;
	color: var(--red);
}
body > main .card .header > span.cancel { font-size: 12px; font-weight: normal; }
body > main .card .header > span .fa-times {
	cursor: pointer;
	font-size: 12px;
	color: var(--red);
	font-weight: normal;
}
body > main .card .content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
body > main .card .content .points-details span { color: #e8561a; font-weight: bold; }
body > main .card .footer { margin-top: 12px; width: 100%; text-align: right; font-size: 0.75rem; color: var(--grey); }
body > main .card[data-href] { cursor: pointer; }
body > main .card.israre { box-shadow: 3px 3px 8px 1px var(--red-shadow); }
body > main .card.selected { background-color: rgba(232, 86, 26, 0.3); }

/* WA - Quiz Card
---------------------------------------------------------------------- */
.card.quiz .header span:first-child,
.card.quiz .footer {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-weight: bold;
}

.card.quiz .header span:last-child,
.card.quiz .header span:last-child .fa {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 12px;
	color: var(--red);
}

.card.quiz .content .quizName {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 14px;
}

.card.quiz .content .quizSubmit {
	margin: 12px 0 0 0;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.card.quiz .content .quizSubmit .fa-trophy {
	font-size: 26px;
}

.card.quiz .content .quizSubmit p {
	font-family: 'NeoSansStdRegular', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 16px;
	color: var(--red);
}

.card.quiz.hasBeenSubmit {
	box-shadow: 3px 3px 8px 1px var(--red-shadow);
}

/* WA - Transaction card
---------------------------------------------------------------------- */
.card.transaction-in {
	cursor: pointer;
}
.card.transaction-in .header span:first-child,
.card.transaction-out .header span:first-child,
.card.transaction-out .footer,
.card.transaction-in .footer {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-weight: bold;
}

.card.transaction-out .header span:last-child,
.card.transaction-in .header span:last-child {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 12px;
	color: var(--red);
}

.card.transaction-out .content,
.card.transaction-in .content {
	width: 100%;
	margin: 12px 0 0 0;

	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	position: relative;
}

.card.transaction-out .content .logo,
.card.transaction-in .content .logo {
	position: absolute;
	left: 32px;
}

.card.transaction-out .content .logo {
	width: 50px;
	height: 50px;

	border: 1px solid var(--light-grey);
	border-radius: 50%;

	display: flex;
	justify-content: center;
	align-items: center;

	overflow: hidden;
}

.card.transaction-out .content .logo img,
.card.transaction-in .content .logo img {
	max-height: 50px;
	max-width: 200px;
	width: auto;
	object-fit: contain;

	transition: 0.2s;
}

.card.transaction-out:hover .content .logo img,
.card.transaction-in:hover .content .logo img {
	transform: scale(1.1);
	transition: 0.2s;
}

.card.transaction-out .content .contactName,
.card.transaction-out .content .companyName,
.card.transaction-in .content .providerName {
	margin: 0 0 8px;

	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 14px;
}

.card.transaction-out .content .transactionName,
.card.transaction-in .content .transactionName {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 14px;

	color: var(--dark-grey);
}

@media screen and (max-width: 1000px){
	.card.transaction-out .content .logo,
	.card.transaction-in .content .logo {
		position: initial;
		margin: 0 0 12px 0;
	}
}

/* WA - My points
---------------------------------------------------------------------- */
#whoami {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
    align-items: center;
}
#whoami .pp {
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
#whoami .pp img {
	height: 100px;
    max-height: 100px;
    width: 100px;
    max-width: 100px;
    object-fit: contain;
    border-radius: 50%;
    margin: 0 16px 0 0;
}
#whoami .details {
	display: flex;
	flex-direction: column;
}
#whoami .details .fullname {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 24px;
    color: var(--red);

    margin-bottom: 8px;
}
#whoami .details .section {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 20px;

    margin-bottom: 4px;
}
#whoami .details .rank {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 18px;
    color: var(--red);
}


#mypoints > h2 {
	justify-content: flex-start;
}

#mypoints > h2 .myRank {
	margin-left: auto;

	justify-self: end;
	align-self: flex-end;

	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 12px;
	color: var(--red);
}

@media screen and (max-width: 500px){
	#whoami { flex-direction: column; }
	#whoami .details { margin: 8px 0; }
}

/* WA - Leaderboards
---------------------------------------------------------------------- */
#leaderboard .inline-selectors {
	width: 100%;

	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
}

#leaderboard .inline-selectors .form-col:first-child {
	flex: 1;
}

#leaderboard .inline-selectors .form-col:not(:first-child) {
	flex: 0.5;
}

#leaderboard select optgroup {
	font-family: 'Proxima', 'Arial', sans-serif;
	color: var(--red);
}

#leaderboard select optgroup option {
	font-family: 'Proxima', 'Arial', sans-serif;
	color: var(--black);
}

#leaderboard button[name="displayLeaderboard"] {
	max-width: 300px;
	margin: auto;

	border: 1px solid var(--red);
	color: var(--red);
	background: transparent;
}

#leaderboard button[name="displayLeaderboard"]:hover:before {
	background: var(--red);
}

#leaderboard button[name="displayLeaderboard"]:hover span {
	color: var(--white);
}

#leaderboard .board-title {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
}

#leaderboard .board-title h2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

#leaderboard .board-title h2 span {
	margin: 4px 0;

	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
	font-size: 16px;
}

#leaderboard ul.board {
	display: flex;
	flex-direction: column;
}

#leaderboard ul.board li.card {
	position: relative;
	left: 0;
	bottom: 0;

	margin: 0;
	padding: 12px;
	box-shadow: unset;
	border: unset;

	transition: 0.2s;
}

#leaderboard ul.board li.card.search-result {
	z-index: 10;
	left: 16px;
	bottom: 16px;

	box-shadow: 0 0 8px 2px var(--black-soft-shadow);

	transition: 0.2s;
}

#leaderboard ul.board li.card:not(:last-child) {
	border-bottom: 1px solid var(--light-grey);
}

#leaderboard ul.board li.card .header {
	margin: unset;
}

#leaderboard ul.board li.card .header .rank span {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 14px;
	font-weight: bold;

	color: var(--red);
}

#leaderboard ul.board li.card .header .score {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#leaderboard ul.board li.card .header .score .fa-trophy {
	font-size: 22px;
	margin: 0 0 4px;
}

#leaderboard ul.board li.card.type-team .content,
#leaderboard ul.board li.card.type-contact .content {
	position: relative;
	width: 80%;
}
#leaderboard ul.board li.card.type-contact .content .contactName,
#leaderboard ul.board li.card.type-company .content .companyName,
#leaderboard ul.board li.card.type-address .content .stateName,
#leaderboard ul.board li.card.type-team .content .teamName {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 14px;

    padding: 0 0 8px;
}

#leaderboard ul.board li.card.type-team .content .teamLogo {
	position: absolute;
	left: 0;
}
#leaderboard ul.board li.card.type-contact .content .contactLogo {
	position: absolute;
	left: 0;

	width: 50px;
	height: 50px;

	border: 1px solid var(--light-grey);
	border-radius: 50%;
	overflow: hidden;
}

#leaderboard ul.board li.card.type-team .content .teamLogo img,
#leaderboard ul.board li.card.type-contact .content .contactLogo img {
	max-height: 75px;
	width: auto;

	object-fit: contain;
	transition: 0.2s;
}
#leaderboard ul.board li.card.type-team .content .teamLogo img {
	max-height: 50px;
}

#leaderboard ul.board li.card.type-team:hover .content .teamLogo img,
#leaderboard ul.board li.card.type-contact:hover .content .contactLogo img {
	transform: scale(1.2);
	transition: 0.2s;
}

#leaderboard ul.board li.card.type-team .content .companyName,
#leaderboard ul.board li.card.type-contact .content .companyName {
	font-family: 'NeoSansStdLight', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 14px;

    color: var(--dark-grey);
}

@media screen and (max-width: 500px) {
	#leaderboard ul.board li.card.type-contact .content .contactLogo { position: initial; margin-bottom: 12px; }
}

@media screen and (max-width: 800px){
	#leaderboard .board-title { flex-direction: column; align-items: flex-start; }
	#leaderboard .inline-selectors { flex-direction: column; justify-content: center;}
	#leaderboard .inline-selectors .form-col { width: 100%; }
}

/* WA - Points
---------------------------------------------------------------------- */
#points {
    background-color: var(--white);
}
#points .search {
    justify-content: center;
    padding: 8px;
}
#points .search .fa-search {
    font-size: 22px;
}
#points .search input {
    font-size: 16px;
}
#points > section {
    display: flex;
    flex-direction: row;
    align-items: stretch;

    min-height: 350px;
}
#points #roadmap-teams.list {
    width: 90%;
    margin: auto;

    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}
#points #roadmap-teams.list > .list-item {
    cursor: pointer;

    min-width: 250px;
    width: 250px;
    max-width: 250px;
    min-height: unset;

    margin: 8px 16px;

    border: 1px solid var(--light-grey);
    text-align: center;

    display: flex;
    flex-direction: row;
    align-items: center;
}
#points #roadmap-teams.list > .list-item:hover {
    border-color: var(--red);
}
#points #roadmap-teams.list> .list-item:before {
    content: unset;
}
#points #roadmap-teams.list > .list-item > .ico {
    min-width: 65px;
    width: 65px;
    max-width: 65px;

    display: flex;
    justify-content: center;
    align-items: center;
}
#points #roadmap-teams.list > .list-item > .ico img {
    height: 50px;
    width: auto;

    object-fit: cover;
}
#points .side-panel, #points .main-panel {
    border-top: 1px solid var(--grey);
}
#points .side-panel {
    width: 30%;
    border-right: 1px solid var(--grey);

    display: flex;
    flex-direction: column;
    justify-content: stretch;
}
#points .side-panel h2 {
    margin-left: 8px;
}
#points .side-panel .history {
    width: 100%;
    flex: 1;

    display: flex;
    flex-direction: column;
}
#points .side-panel .empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    font-weight: bold;
    font-size: 14px;

    text-align: center;
    padding: 8px;
}
#points .main-panel {
    width: auto;
    flex: 1;

    display: flex;
    flex-direction: column;
}
#points .main-panel > .empty {
    flex: 1;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    font-weight: bold;
    font-size: 14px;

    text-align: center;
    padding: 8px;

    background-color: var(--light-grey);
}
#points .main-panel > .empty.hide,
#points .main-panel > .competitor.hide {
    display: none;
}
#points .main-panel .competitor {
    flex: 1;

    display: flex;
    flex-direction: column;

    font-weight: bold;
    font-size: 14px;

    text-align: center;
    padding: 8px 12px;
}
#points .main-panel .competitor .infos h1 {
    text-align: left;
}
#points .main-panel .competitor .infos h2 {
    border-left: unset;
    margin: 4px 0 12px 0;
    padding: unset;
}
#points .main-panel .competitor .points {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
}
#points .main-panel .competitor .points .point {
    width: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 8px;

    border: 1px solid var(--light-grey);
    box-shadow: 0 0 8px 1px var(--black-soft-shadow);
}
#points .main-panel .competitor .points .point:not(.attributed):not([data-mode='range']) {
    cursor: pointer;
}
#points .main-panel .competitor .points .point:not([data-mode='range']):hover,
#points .main-panel .competitor .points .point.attributed {
    background-color: var(--black);
}
#points .main-panel .competitor .points .point .amountSelector {
    display: flex;
    align-items: center;
}
#points .main-panel .competitor .points .point .amountSelector .fas {
    color: var(--red);
    cursor: pointer;
}
#points .main-panel .competitor .points .point header,
#points .main-panel .competitor .points .point footer {
    width: 100%;

    display: flex;
    justify-content: flex-end;
    padding: 6px 12px;

    color: var(--red);
}
#points .main-panel .competitor .points .point header i {
    cursor: pointer;
}
#points .main-panel .competitor .points .point footer {
    font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-size: 12px;
}
#points .main-panel .competitor .points .point h1 {
    font-family: 'NeoSansStdBold', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 18px;
}

/* WA - Chatbot
---------------------------------------------------------------------- */
.chatbot-container {
	position: fixed;
	bottom: 32px;
	right: 32px;

	width: 42px;
	height: 42px;
	border: 1px solid var(--red);
	box-shadow: inset 0 0 1px 1px var(--red), 0 0 8px 2px var(--red-shadow);
	border-radius: 50%;
	color: var(--white);
	background-color: var(--red);

	z-index: 99;
	cursor: pointer;
}
.chatbot-container:before {
	content: "";
    position: absolute;
    right: -4px;
    bottom: 0px;
    border-left: 8px solid transparent;
    border-bottom: 12px solid var(--red);
    border-right: 8px solid transparent;
    transform: rotate(8deg);
}
.chatbot-container .fas {
	width: 100%;
	height: 100%;

	display: flex;
	justify-content: center;
	align-items: center;
}
.chatbot-container .fas.hide {
	display: none;
}
.chatbot {
	position: absolute;
	right: 32px;
	bottom: 42px;

	width: 350px;
	max-width: 350px;

	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	background: var(--white);
	box-shadow: 0 0 8px 2px var(--light-grey-shadow);
}
.chatbot > header {
	width: 100%;

	padding: 8px;
	text-align: center;
	color: var(--red);
	background-color: var(--white);
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;

	border-bottom: 1px solid var(--light-grey);
}
.chatbot > header > h2 {
	font-family: 'NeoSansStdBold', 'Arial', sans-serif;
	font-size: 22px;

	text-transform: uppercase;
	text-align: center;
}
.chatbot > .chat-bot {
	width: 100%;

	max-height: 350px;

	scroll-behavior: smooth;
	overflow-x: hidden;
	overflow-y: scroll;

	padding: 8px;
}
.chatbot > .chat-bot::-webkit-scrollbar {
  width: 10px;
}
.chatbot > .chat-bot::-webkit-scrollbar-track {
  background: var(--light-grey);
}
.chatbot > .chat-bot::-webkit-scrollbar-thumb {
  background: var(--grey);
}
.chatbot > .chat-bot::-webkit-scrollbar-thumb:hover {
  background: var(--dark-grey);;
}
.chat-bot ul.chat {
    display: flex;
    flex-direction: column;

	padding: 8px;
}
.chat-bot ul.chat > li.bot {
	align-self: start;
    border-radius: 0px 5px 5px 5px;
}
.chat-bot ul.chat > li {
	display: inline-block;
    position: relative;
    padding: 8px 14px;
    margin-bottom: 8px;
    background-color: var(--red);
    color: var(--white);
    font-size: 14px;
    line-height: 1.4;
    width: 90%;
    max-width: 90%;
}
.chat-bot ul.chat > li.waiter::before,
.chat-bot ul.chat > li.bot:before,
.chat-bot ul.chat > li.human::before  {
	content: "";
    position: absolute;
    left: -8px;
    top: 0px;
    border-left: 8px solid transparent;
    border-top: 12px solid var(--red);
    border-right: 8px solid transparent;
}
.chat-bot ul.chat > li.answer {
	color: var(--black);
    background-color: var(--light-grey);
}
.chat-bot ul.chat > li.answer::before  {
	content: "";
    position: absolute;
    right: -8px;
    top: 0px;
    border-left: 8px solid transparent;
    border-top: 12px solid var(--light-grey);
    border-right: 8px solid transparent;
}
.chat-bot > div.answers > button {
    border-radius: 5px 5px 0px 5px;
	display: inline-block;
    position: relative;
    padding: 8px 14px;
    margin-bottom: 8px;
    background-color: var(--black);
    color: var(--white);
    font-size: 14px;
    line-height: 1.4;
    width: 90%;
    max-width: 90%;
    text-transform: none;
    text-align: left;
}
.chat-bot > div.answers > button:hover {
	background-color: var(--light-grey);
	color: var(--black);
}
.chat-bot > div.answers > button::before {
    content: "";
    position: absolute;
    right: -8px;
    top: 0px;
    border-left: 8px solid transparent;
    border-top: 12px solid var(--light-grey);
    border-right: 8px solid transparent;
}
.chat-bot > div.answers > button:hover::before {
	content: unset;
}

/* WA - Mot du président
---------------------------------------------------------------------- */
.smlh-custom-txt {
	width: 100%;
}

.smlh-custom-txt tr td:first-child {
	width: 50%;
}

.smlh-custom-txt tr td:last-child {
	padding-left: 32px;
}

@media screen and (max-width: 720px) {
	.smlh-custom-txt tr td {
		width: 100% !important;
		display: block;
	}

	.smlh-custom-txt tr td:last-child {
		padding: unset;
	}
}

/* Modal : Attribution de points */
.modal { display: none; position: fixed; top:0; left: 0; max-width: 300px; border: 1px solid #ff5722; z-index: 42; background-color: #fff; border-radius: 3px; box-shadow: 0 0 6px 1px #e8561a; }
.modal .close { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; position: absolute; right: -14px; top: -14px; font-size: 22px; font-weight: bold; background-color: #fff; border: 1px solid #ff5722; border-radius: 50%; z-index: 43; box-shadow: 0 0 6px 1px #e8561a; }

@media screen and (max-width: 650px){
	.wrap-col { flex-direction: column; flex-grow: 1; }
	.wrap-col > .col { width: 100%; }
	body > main > section > article > div { flex-direction: column; }
    body > main #notifications { width: 100%; }
    body > main #notifications > div { width: 90%; float: right; }
}

@media screen and (max-width: 420px){
	.form-row { flex-direction: column; }
	.form-row label { width: 100%; text-align: left; margin: 3px 0; }
	.form-row input, select, textarea { width: 100%; text-align: left; margin: 3px 0; }
}

/* WA - Roadmap
---------------------------------------------------------------------- */
#roadmap {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#roadmap > article {
    width: 30%;
}

#roadmap > article #exhibitor-list > .list-item > .logo {
    width: 100%;
    align-items: center;
}

#roadmap > article #exhibitor-list > .list-item > .logo h1 {
    max-width: unset;
    text-align: center;
}

#roadmap-summary tr:nth-child(even) {
    background-color: var(--grey-shadow);
}

#roadmap-summary td {
    height: 32px;
    vertical-align: middle;
}

#roadmap-summary td.date {
    font-weight: bold;
    text-align: center;
}

#roadmap-summary td .slot {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#roadmap-summary td .slot img {
    width: auto;
    max-height: 50px;
    object-fit: cover;

    margin-bottom: 12px;
}

#roadmap-summary td.slot-off {

}

@media screen and (max-width: 1370px){
    #roadmap {
        flex-direction: column;
    }

    #roadmap > article {
        width: 100%;
    }
}
