/*** HELPERS & GENERAL ***/

* {font-family: 'Montserrat', sans-serif;}

body {background-color: #ffffff; overflow-x: hidden !important; position: relative;}

main {overflow-x: hidden;}

section {padding: 80px 0; position: relative;}
section#content {padding-top: 0;}
section#content .container > .card:first-child {margin-top: -120px; margin-bottom: 80px;}

.parallax-container {height: auto; background-color: transparent; padding-bottom: 200px;}
.parallax-container .parallax-gradient {position: absolute; width: 100%; height: 100%; top: 0; z-index: 0; background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 50%); background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 50%); background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 50%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );}
.parallax-container .parallax-content {z-index: 99; position: relative; animation: 2s animParaContent;}
.parallax-container .parallax-content h1 {font-size: 8rem; text-align: center; color: #a54944;}
.parallax-container .parallax-content p {font-size: 1.2rem; text-align: center;}
.parallax-container .parallax img {opacity: .25; animation: animParaImg 1s;}
.parallax-container .ripped {position: absolute; width: 100%; bottom: 0;}

@keyframes animParaImg {0% {opacity: 0;} 100% {opacity: .2;}}
@keyframes animParaContent {0% {opacity: 0; transform: translateX(-100px);} 50% {opacity: 0; transform: translateX(-100px);} 100% {opacity: 1; transform: translateX(0);}}

.ripped {pointer-events: none;}
.ripped.white {width: calc(100% + 20px); margin-left: -5px;}
.ripped img {width: calc(100% + 10px); vertical-align: middle; margin-left: -10px; margin-bottom: -2px;}
.ripped.brick img {transform: scaleX(-1);}

.divider-lg {margin: 80px; text-align: center; pointer-events: none;}
.divider-lg img {vertical-align: middle; height: 15px;}

.row {margin-bottom: 0;}

.card {margin: 0 0 20px 0; border-radius: 20px; box-shadow: 0 5px 20px rgba(0,0,0,.1); width: 100%; z-index: 51;}
.card .card-content {padding: 20px;}

.margin-t-40 {margin-top: 40px;}
.no-margin {margin: 0;}

hr {margin: 20px 0; background-color: #e9e9e9; border: none; height: 1px;}

@media (max-width: 1400px) and (min-width: 992px) {
	.container {width: 90%;}
}

@media (max-width: 992px) {
	.divider-lg.no-margin {margin: 0 40px;}
	.divider-lg img {width: 100%;}
}

@media (max-width: 600px) {
	.parallax-container .parallax-content h1 {font-size: 5rem;}
	main {padding-top: 81px;}
	.ripped {width: 100% !important; overflow: hidden; margin: 0 !important;}
	.ripped img {margin-bottom: -6px; width: 120%; margin-left: -15px;}
}

/*** COLOR & TYPOGRAPHY ***/

@font-face {
	font-family: 'HelloStockholm';
	src: url('../fonts/hello stockholm/HelloStockholm-Regular.eot');
	src: url('../fonts/hello stockholm/HelloStockholm-Regular.otf') format('truetype'),
		url('../fonts/hello stockholm/HelloStockholm-Regular.woff') format('woff'),
		url('../fonts/hello stockholm/HelloStockholm-Regular.eot?#iefix') format('embedded-opentype'),
		url('../fonts/hello stockholm/HelloStockholm-Regular.svg#HelloStockholm-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
}

.brick {background-color: #a54944;}
.gold {background-color: #f3cf9d;}

h1, h2, h3, h4, h5, h6 {margin: 0;}

h1, h2 {font-family: 'HelloStockholm', serif;}

h1 {font-size: 8rem;}
h2 {font-size: 6rem; margin-bottom: 40px; color: #a54944}
h3 {font-size: 2rem;}
h4 {font-size: 1.5rem;}
h5 {font-size: 1.25rem;}

.nbr {font-family: 'HelloStockholm', serif; display: inline-block;}
h2 .nbr {transform: translateY(-5px);}

p, blockquote, ul {margin: 20px 0;}
p:first-child, blockquote:first-child, ul:first-child {margin-top: 0;}
p:last-child, blockquote:last-child, ul:last-child {margin-bottom: 0;}

blockquote {border-left: 5px solid #a54944;}

.btn {padding: 10px; border-radius: 10px; line-height: initial; height: 39px; font-weight: 600; text-transform: none; background-color: #a54944; box-shadow: none;}
.btn:hover, .btn:active, .btn:focus {box-shadow: 0 5px 20px rgba(0,0,0,.1); background-color: #f3cf9d; color: #a54944;}

.btn.btn-reset {background-color: #e9e9e9; color: #777777;}
.btn.btn-reset:hover, .btn.btn-reset:active, .btn.btn-reset:focus {background-color: #d6d6d6;}

.btn.btn-large {padding: 14px; font-size: 1.2rem; height: 50px; display: inline-block;}

a {color: #a54944;}
blockquote a:hover, p a:hover {text-decoration: underline;}

/*** HEADER ***/

#dust {
	z-index: 50;
	position: absolute;
	background-image: url(../img/dust.svg);
	background-size: 40%;
	height: 100%;
	width: 100%;
	bottom: 0;
	pointer-events: none;
}

header {
	position: relative;
	z-index: 49;
}

header #background-mobile {display: none;}

header nav {
	background-color: #ffffff;
	box-shadow: none;
	height: 110px;
}

header nav a {color: #a54944;}

header nav #header-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
}

header nav #header-content #header-logo h1 {
	margin: 0;
	font-size: 4rem;
}

header nav #header-content ul li a {
	background-color: transparent;
	position: relative;
}

header nav #header-content ul li a.active::after {
	content: '';
	display: block;
	height: 12px;
	width: 100%;
	background-image: url(../img/divider_sm.svg);
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	left: 0;
	bottom: 0;
}

header nav #header-content ul li a:not(.active)::after {
	content: '';
	display: block;
	height: 12px;
	width: 100%;
	background-image: url(../img/divider_sm.svg);
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	left: 0;
	bottom: 10px;
	opacity: 0;
	transition: .3s;
}

header nav #header-content ul li a:not(.active):hover::after {
	opacity: .5;
	bottom: 0;
}

#btn-rsvp {
	position: fixed;
	bottom: 20px;
	right: 20px;
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	z-index: 99;
}

#btn-rsvp.animate {animation: .5s shakeItOff;}

@keyframes shakeItOff {
	0% {transform: translateX(-5px);}
	10% {transform: translateX(5px);}
	20% {transform: translateX(-5px);}
	30% {transform: translateX(5px);}
	40% {transform: translateX(-5px);}
	50% {transform: translateX(5px);}
	60% {transform: translateX(-5px);}
	70% {transform: translateX(5px);}
	80% {transform: translateX(-5px);}
	90% {transform: translateX(5px);}
	100% {transform: translateX(-5px);}
}

.button-collapse {margin-right: 0 !important;}

.button-collapse i {font-size: 3rem;}

#side-nav {
	background-color: transparent;
	padding-left: 31px;
	width: 250px;
	box-shadow: none;
}

#side-nav li#side-nav-background {
	position: absolute;
	background-color: #a54944;
	width: 100%;
	height: 100%;
	z-index: -1;
}

#side-nav li#side-nav-ripped {
	position: absolute;
	height: 100%;
	overflow: hidden;
	width: 31px;
	margin-left: -31px;
	transition: .3s;
}

#side-nav li#side-nav-ripped img {
	height: 900px;
}

#side-nav li a {
	padding: 10px 20px;
	color: #ffffff;
	height: auto;
	border-radius: 20px 0 0 20px;
}

#side-nav li i.mdi {
	font-size: 1.5rem;
	margin-right: 20px;
	color: rgba(255,255,255,.5);
}

@media (max-width: 992px) {
	header nav #header-content ul {display: none;}
}

@media (max-width: 600px) {
	header {position: fixed; width: 100%; z-index: 101;}
	header nav {height: 81px;}
	header nav #header-content {padding: 10px 0;}
	header #background-mobile {position: absolute; display: block; transform: rotate(180deg); height: 20px; bottom: -10px;}
}

/*** CONTENT ***/

#bloc-intro {
	color: #a54944;
	padding-top: 40px;
}

#bloc-intro #intro-illustration {position: relative;}

#bloc-intro #intro-illustration img:first-child {
	position: absolute;
	bottom: 0;
	animation: animCar 6s;
}

@keyframes animCar {
	0% {transform: scale(0); bottom: -16%;}
	50% {transform: scale(0); bottom: -16%;}
	100% {transform: scale(1); bottom: 0;}
}

#bloc-intro #intro-illustration img:last-child {animation: animBg 3s;}

@keyframes animBg {
	0% {opacity: 0;}
	33% {opacity: 0;}
	100% {opacity: 1;}
}

#bloc-intro h1 {
	font-size: 12rem;
	margin: 0;
	margin-bottom: -20px;
}

#bloc-intro h4 {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 600;
}

#bloc-infos {color: #ffffff;}

#bloc-infos .col {
	text-align: center;
	position: relative;
}

#bloc-infos h2 {
	color: #ffffff;
	font-family: 'HelloStockholm', serif;
}

#bloc-infos h3 {font-weight: 600;}

#bloc-infos img {
	position: absolute;
	width: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	opacity: .2;
}

.bloc-infos .container {
	display: flex;
	align-items: center;
	justify-content: center;
}

.bloc-infos.bi-right {text-align: right;}

.bloc-infos.bi-right .container div {
	padding-right: 40px;
	padding-left: 0;
}

.bloc-infos i {
	font-size: 10rem;
	color: #a54944;
}

.bloc-infos .container div {
	width: 66%;
	padding-left: 40px;
}

.bloc-infos h2 {margin-bottom: 0;}

.bloc-infos a {margin-top: 40px;}

section#bloc-liste {
	height: auto;
	padding: 120px 0;
}

section#bloc-liste .bl-ripped:first-child {
	position: absolute;
	top: -2px;
	transform: rotate(180deg);
}

section#bloc-liste .bl-ripped:last-child {
	position: absolute;
	bottom: -2px;
}

section#bloc-liste .container {
	text-align: center;
}

.list-item {
	display: flex;
	align-items: center;
}

.card.list-item.li-done {
	background-color: #fafafa;
	box-shadow: none;
	border: 1px solid #f2f2f2;
	z-index: 49;
}

.list-item .li-img {
	min-width: 25%;
	max-width: 25%;
	padding: 20px;
}

.card.list-item.li-done img {
	mix-blend-mode: multiply;
	filter: grayscale(1);
	margin: -1px 0;
}


.list-item .li-img img {
	width: 100%;
	border-radius: 20px;
	vertical-align: middle;
}

.list-item .li-content {
	width: 75%;
	padding: 20px;
	padding-left: 0;
}

.list-item.li-done .li-content {
	margin: -1px 0;
}

.list-item .li-content h5 {font-weight: 300;}

.list-item .li-status {
	background-color: #fafafa;
	margin: 10px 0;
	padding: 5px 8px;
	border-radius: 10px;
	position: relative;
	overflow: hidden;
}

.list-item .li-status .status {
	height: 100%;
	display: block;
	background-color: #e9e9e9;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.list-item:not(.li-done) .li-status .status::after {
	content: '';
	display: block;
	height: 30px;
	width: 10px;
	float: right;
	margin-top: -2px;
	margin-right: -15px;
	border-left: 30px solid #e9e9e9;
	border-bottom: 30px solid #fafafa;
}

.list-item .li-status p {
	margin: 0;
	position: relative;
	font-size: .75rem;
}

.list-item .li-status span {font-weight: 600;}

.card.card-link {
	box-shadow: none;
	background-color: #fafafa;
	border: 1px solid #f2f2f2;
	text-align: center;
	z-index: 49;
	transition: .3s;
}

.card.card-link i, .card.card-link img {
	display: block;
	font-size: 4rem;
	height: 60px;
	margin: 0 auto 10px auto;
	mix-blend-mode: multiply;
}

#airbnb-link .card.card-link {color: #ff5a5f;}
#abritel-link .card.card-link {color: #0f6cb6;}
#trivago-link .card.card-link {color: #e37a1f;}
#tripadvisor-link .card.card-link {color: #4B7E37;}
#booking-link .card.card-link {color: #003580;}

#airbnb-link .card.card-link:hover {border-color: #ff5a5f;}
#abritel-link .card.card-link:hover {border-color: #0f6cb6;}
#trivago-link .card.card-link:hover {border-color: #e37a1f;}
#tripadvisor-link .card.card-link:hover {border-color: #4B7E37;}
#booking-link .card.card-link:hover {border-color: #003580;}

#photos-empty {
	padding: 200px 0;
	margin-top: 40px;
	border: 1px dashed #e9e9e9;
	border-radius: 20px;
	text-align: center;
	color: #bdbdbd;
}

.place-title {position: relative;}

.place-title img {
	position: absolute;
	left: 50%;
	bottom: -100px;
	width: 50%;
	max-width: 480px;
	transform: translateX(-50%);
	opacity: 0.2;
}

.place-title h2 {
	z-index: 9;
	position: relative;
}

.card.place-item .card-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.card.place-item .card-content div:not(.pi-divider) {
	width: 33%;
	text-align: center;
}

.card.place-item .card-content .pi-divider {
	position: relative;
	width: 5px;
	height: 5px;
}

.card.place-item .card-content .pi-divider img {
	width: 50px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(90deg);
}

.card.place-item .card-content .pi-location h4 {font-weight: 600;}

.card.place-item .card-content .pi-time h2 {margin: 0;}

.card.place-item .card-content .pi-address p {
	margin: 0;
	font-size: 1.25rem;
}

#gift-list-disclaimer {
	font-weight: 600;
}

#gift-list-disclaimer blockquote p:last-child {
	font-weight: 500;
}

#gift-list-disclaimer blockquote p span {
	font-size: 1.5rem;
	color: #f3cf9d !important;
}

#plant-header {
	margin-top: 40px;
}

#plant-header ul span {
	height: 12px;
	width: 12px;
	border-radius: 50%;
	display: inline-block;
	margin-right: 5px;
}

.plant h2 {
	margin-bottom: 0;
	text-align: center;
}

.plant h3 {
	margin: 0;
	margin-top: -10px;
	font-style: italic;
	text-align: center;
}

.plant div {
	margin-top: 50px;
	display: flex;
	align-items: center;
}

.plant div blockquote:first-child {
	border-left: 0;
	border-right: 5px solid #a54944;
	padding-left: 0;
	padding-right: 1.5rem;
	margin-bottom: 0 !important;
}

.plant div img {
	width: 20%;
	margin-right: 20px;
	border-radius: 20px;
	vertical-align: middle;
}

.plant div img:last-child {
	margin-right: 0;
	margin-left: 20px;
}

.plant div blockquote {margin-top: 0;}

#plant-content #jardiniers {
	vertical-align: middle;
	border-radius: 20px;
	width: 100%;
}

#list-folders {
	margin-top: -120px;
}

#list-folders .card i {
	font-size: 5rem;
	line-height: 5rem;
	color: #f3cf9d;
}

#list-folders .card h3 {
	margin-top: 10px;
}

#list-folders .card img {
	width: 50px;
	vertical-align: middle;
	margin-bottom: -5px;
}

#list-folders .card a {
	margin-top: 20px;
}

#list-portal {
	margin-top: -120px;
}

#list-portal .card {
	text-align: center;
	overflow: hidden;
	background-color: transparent;
}

#list-portal .card .card-image {
	padding: 20px 0;
	background: #fafafa;
	display: flex;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #f2f2f2;
}

#list-portal .card .card-image img {
	vertical-align: middle;
	border-radius: 5px;
	width: 50%;
	margin: 0 auto;
	border: 20px solid #ffffff;
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	transition: .3s;
}

#list-portal .card .card-image img:first-child, #list-portal .card .card-image img:nth-child(3) {
	width: 25%;
	position: absolute;
	border: 10px solid #ffffff;
	top: 50%;
	left: 12%;
	right: initial;
	transform: translateY(-50%) scale(.9,.9) rotate(-4deg);
	opacity: .75;
	transition: .3s;
}

#list-portal .card .card-image img:nth-child(2) {
	z-index: 99;
	transform: scale(.95,.95);
}

#list-portal .card .card-image img:nth-child(3) {
	transform: translateY(-50%) scale(.9,.9) rotate(4deg);
	right: 12%;
	left: initial;
}

#list-portal .card:hover .card-image img:first-child {
	transform: translateY(-50%) scale(1,1) rotate(-6deg);
	left: 8%;
}

#list-portal .card:hover .card-image img:nth-child(2) {
	transform: scale(1,1);
}

#list-portal .card:hover .card-image img:nth-child(3) {
	transform: translateY(-50%) scale(1,1) rotate(6deg);
	right: 8%;
}

#list-portal .card .card-image a {
	position: absolute;
	/* height: 100%;
	top: 0;
	transform: scale(2,2);
	width: 100%; */
	height: 50px;
	width: 50px;
	bottom: -100px;
	background-color: #a54944;
	z-index: 100;
	transition: .3s;
	opacity: 0;
	border-radius: 10px;
	transform: translateX(-50%);
	left: 50%;
}

#list-portal .card .card-image:hover a {
	opacity: 1;
	bottom: 5px;
	/*transform: scale(1,1);*/
}

#list-portal .card .card-image a:hover {
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	transform: translateX(-50%) scale(1.1,1.1);
}

#list-portal .card .card-image a i {
	/*font-size: 4rem;*/
	font-size: 1rem;
	color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(2,2);
	transition: .3s;
}

#list-portal .card .card-content .divider-lg {
	margin-top: 10px;
	margin-bottom: 0;
}

#list-portal .card .card-content .divider-lg img {
	height: 10px;
}

#list-portal .card .card-content .btn {
	margin-top: 20px;
}

#grid-officielles {
	display: flex;
	flex-wrap: wrap;
	margin-top: -120px;
	z-index: 52;
	position: relative;
}

#grid-officielles a {
	width: 20%;
	display: flex;
	background-color: #ffffff;
	align-items: center;
	transition: .3s;
}

#grid-officielles a:hover {
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	transform: scale(1.1,1.1);
}

#grid-officielles a img {
	width: 100%;
	vertical-align: middle;
	margin-bottom: -1px;
	margin-top: -1px;
}

#photobooth-grid {
	margin: -10px;
	display: flex;
	flex-wrap: wrap;
	margin-top: 50px;
}

#photobooth-grid a {
	width: 25%;
	padding: 10px;
}

#photobooth-grid a:hover {z-index: 52;}

#photobooth-grid a img {
	width: 100%;
	vertical-align: middle;
	border-radius: 5px;
	transition: .3s;
}

#photobooth-grid a:hover img {
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	transform: scale(1.1,1.1);
}

@media (max-width: 992px) {
	#bloc-infos .col:last-child {margin-top: 40px;}
	.plant div {flex-direction: column;}
	.plant div img {width: 50%; max-width: 400px;}
	.plant div img:first-child {margin: 0 0 20px 0 !important;}
	.plant div img:last-child {margin: 20px 0 0 0 !important;}
	.plant div blockquote:first-child {border-right: none; border-left: 5px solid #a54944; padding-left: 1.5rem; padding-right: 0;}
	#photobooth-grid a {width: 33%;}
	#grid-officielles a {width: 33.33%;}
	#list-portal .card .card-image {display: block;}
}

@media (max-width: 800px) {
	#bloc-intro h1 {font-size: 9rem;}
	#bloc-intro h4 {font-size: 2rem;}
	.bloc-infos {padding: 40px 0;}
	.bloc-infos .container {flex-direction: column;}
	.bloc-infos.bi-right .container div {padding-right: 0;}
	.bloc-infos .container div {text-align: center; padding-left: 0;}
	.card.place-item .card-content {flex-direction: column;}
	.card.place-item .card-content .pi-divider {transform: rotate(90deg); margin: 20px 0;}
	.card.place-item .card-content div:not(.pi-divider) {width: 100%;}
	.place-title img {bottom: -50px;}
}

@media (max-width: 600px) {
	#bloc-infos .col:not(:first-child) {margin-top: 80px;}
	#intro-sentence {height: 46px; font-size: 1.5rem;}
	#bloc-intro h1 {font-size: 7rem;}
	#bloc-intro h3 {font-size: 1.5rem;}
	.card.card-comparator .card-content {padding-bottom: 24px;}
	#gift-list-content {padding-top: 40px;}
	#gift-list-content h2 {text-align: center;}
	.list-item .li-content .truncate {white-space: unset;}
	.list-item .li-img {min-width: 30%; max-width: 30%;}
	.list-item .li-img img {border-radius: 10px;}
	.list-item .li-content {width: 70%;}
	#photobooth-grid a {width: 50%;}
	#grid-officielles a {width: 50%;}
	#list-portal .card .card-image img:nth-child(1), #list-portal .card .card-image img:nth-child(3) {border-width: 6px;}
	#list-portal .card .card-image img:nth-child(2) {border-width: 10px;}
}

@media (max-width: 400px) {
	#bloc-intro h1 {font-size: 5rem; margin-top: 20px; margin-bottom: 0px;}
	#bloc-intro h3 {font-size: 1.25rem;}
	#intro-sentence {height: 40px; font-size: 1.25rem !important;}
	#photobooth-grid a {width: 100%;}
}

/*** FORMS ***/

form {margin-bottom: 0;}

.input-field {margin: 0;}

.input-field:not(:last-child) {margin-bottom: 20px;}

.input-radio {margin-bottom: 10px;}

.input-field label, .input-radio label {
	position: relative;
	top: initial !important;
	left: initial !important;
	margin-bottom: 10px;
	display: inline-block;
	transform: none !important;
	color: #777777;
	height: auto;
}

.input-radio > label {font-size: 1rem;}

[type="radio"]:checked+label:after, [type="radio"].with-gap:checked+label:after {background: #a54944;}

[type="radio"]:checked+label:after, [type="radio"].with-gap:checked+label:after {border-color: #a54944;}

.input-field input[type=text], .input-field input[type=number], .input-field input[type=password], .input-field textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #f2f2f2 !important;
	border-radius: 10px;
	padding: 0 10px;
	width: calc(100% - 22px);
	margin-bottom: 0;
	box-shadow: none !important;
	background-color: #fafafa;
}

.input-field textarea {
	min-height: 100px;
	padding: 10px;
}

.input-field .select-wrapper span.caret {
	margin-right: 10px;
	z-index: 2;
	color: #bdbdbd;
}

.input-field .select-dropdown {
	border-radius: 10px;
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
}

.input-field .select-dropdown li>span {color: #a54944;}

/*** FOOTER ***/

footer {
	padding: 40px 0;
	background-color: #a54944;
	color: #ffffff;
}

footer ul {
	display: flex;
	justify-content: flex-end;
}

footer ul li:not(:last-child) {margin-right: 20px;}

footer ul li a {color: #ffffff;}

footer ul li a:hover {text-decoration: underline;}

footer #copyright {
	margin-top: 80px;
	text-align: center;
}

footer #copyright a {
	color: #ffffff;
	opacity: .5;
}

footer #copyright a:hover {
	text-decoration: underline;
	opacity: 1;
}

@media (max-width: 992px) {
	footer ul {flex-direction: column; align-items: center;}
	footer ul li {margin-right: 0 !important; margin-bottom: 10px;}
	footer #copyright {margin-bottom: 40px;}
}

/*** JS ***/

.modal {
	border-radius: 20px;
	box-shadow: 0 5px 20px rgba(0,0,0,.1);
	background-color: #ffffff;
}

.modal.modal-liste, #modal-merci, #modal-erreur {
	max-width: 500px;
	cursor: pointer;
}

.modal .modal-content {padding: 20px;}

#modal-merci .modal-content, #modal-erreur .modal-content {
	text-align: center;
	color: #a54944;
}

#modal-merci .modal-content h1:nth-child(2), #modal-erreur .modal-content h1:nth-child(2) {
	margin-top: 40px;
	margin-bottom: 0;
}

#modal-merci .modal-content p, #modal-erreur .modal-content p {
	margin-bottom: 20px;
	margin-top: 0;
}

.toast {
	border-radius: 20px;
	background-color: #a54944;
}

@media only screen and (min-width: 993px) {
	#toast-container {top: 20px; right: 20px;}
}

/*** ADMIN ***/

#loader {
	position: fixed;
	width: 100%;
	height: 100vh;
	background: #ffffff;
	top: 0;
	z-index: 99;
}

#loader img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

#admin-login .card h3, #admin-content .card h3 {
	border-bottom: 1px solid #e9e9e9;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

#admin-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin: 20px 0;
}

#admin-header h1 {
	font-size: 4rem;
	margin-bottom: -10px;
	color: #a54944;
}

#admin-header h5 {
	font-weight: 600;
	color: #bdbdbd;
}

#admin-content {padding-bottom: 20px;}

#admin-content .tabs {text-align: center;}

#admin-content .tabs li a {
	text-transform: none;
	font-weight: 600;
	color: #a54944;
}

#admin-content .tabs li a:not(.active) {color: #f3cf9d;}

#admin-content .tabs li a:not(.active):hover {color: #a54944;}

#admin-content .tabs .indicator {background-color: #a54944;}

#admin-content table {
	border: 1px solid #e9e9e9;
	margin-top: 20px;
}

#admin-content table tr:not(:last-child) {border-bottom: 1px solid #e9e9e9;}

#admin-content table tr.names:not(:last-child) {border-bottom: 1px dashed #f2f2f2;}

#admin-content table tr.comment {background-color: #fafafa;}

#admin-content table tr.comment blockquote {
	margin-top: -10px;
	padding-left: 10px;
	padding-bottom: 10px;
	border-left: 1px solid #bdbdbd;
	border-bottom: 1px solid #bdbdbd;
	padding-top: 10px;
	position: relative;
}

#admin-content table tr.comment blockquote::before {
	content: '';
	display: block;
	background-color: #bdbdbd;
	height: 5px;
	width: 10px;
	position: absolute;
	border-radius: 0 0 10px 10px;
	left: -5px;
	top: 0;
}

#admin-content table tr td, #admin-content table tr th {padding: 10px;}

#admin-content table tr td:not(:last-child), #admin-content table tr th:not(:last-child) {border-right: 1px solid #e9e9e9;}

#admin-content table img {
	width: 80px;
	vertical-align: middle;
}

#admin-content table .small {
	text-align: center;
	width: 20px;
	white-space: nowrap;
}

#admin-content table .table-edit {
	display: flex;
	align-items: center;
}

#admin-content table .hidden {display: none;}

#admin-content table tr td input[type=text], #admin-content table tr td input[type=number] {
	border: 1px solid #f2f2f2 !important;
	border-radius: 10px;
	padding: 0 10px;
	width: calc(100% - 22px);
	min-width: 50px;
	margin-bottom: 0;
	box-shadow: none !important;
	background-color: #fafafa;
}

#admin-content table tr td select {
	min-width: 200px;
	border-radius: 10px;
	background-color: #fafafa;
	border: 1px solid #e9e9e9;
	outline: none;
}

#admin-content table tr.divider td {padding: 2px;}

.modal-admin .modal-title {
	border-bottom: 1px solid #e9e9e9;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.modal-admin .modal-title h5 {
	font-weight: 600;
	color: #a54944;
}

.modal-admin .row {margin: 0 -.75rem 20px -.75rem;}

.modal-admin table {border: 1px solid #e9e9e9;}

.modal-admin table tr {border: 1px solid #e9e9e9;}

.modal-admin table tr td {padding: 10px;}

.modal-admin table tr td:not(:last-child) {border-right: 1px solid #e9e9e9;}

.modal-admin table tr td.small {
	text-align: center;
	width: 100px;
	white-space: nowrap;
}

#gm-search-reset {
	position: absolute;
	cursor: pointer;
	right: 10px;
	top: 7px;
	font-size: 1.5rem;
	color: #bdbdbd;
}

#gm-search-reset:hover {
	color: #f44336;
}

.modal-admin input[type=text] {
	border: 1px solid #f2f2f2 !important;
	border-radius: 10px;
	padding: 0 10px;
	width: calc(100% - 22px);
	margin-bottom: 0;
	box-shadow: none !important;
	background-color: #fafafa;
}

#modal-photo #modal-photo-image {
	border: 1px solid #e9e9e9;
	margin: 0 auto;
	padding: 10px;
	max-width: 256px;
	border-radius: 10px;
}

#modal-photo input[type=file] {
	border: 1px solid #e9e9e9;
	margin: 20px 0;
	border-radius: 10px;
	padding: 10px;
	background-color: #fafafa;
}