:root {
	--custom-max-width: 100%;
}

body {
	padding: 0;
	margin: 0;
}

#layout { 
    display: grid; 
    grid-template-columns:  1fr;
    grid-template-rows: 1fr;
    gap: 0;
    grid-template-areas: 'header header header'
    					 'main main main'
                         'footer footer footer'
                         'copyright copyright copyright'; 
}

#header {
	grid-area: header;
}

#main { 
	grid-area: main;
	margin: 160px auto 0;
	width: 100%;
	min-height: 600px;
}

#main .main-carousel {
	height: calc(100vh - 160px);
	
}

#main .main-carousel .carousel-cell {
  	width: 100%;
  	margin-right: 0;
  	height: calc(100vh - 160px);
}

#main .main-carousel .carousel-cell img {
	width: 100%;
	height: 100%;
	/*margin-top: -160px;*/
	object-fit: cover;
}

#main .content-photo {
	position: relative;
}
	
#main .content-photo img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}

#main .info-box {
	position: absolute;
	left: 83px;
	bottom: 85px;
	width: 40%;
}

#main .title-box {
	position: absolute;
	left: 83px;
	bottom: 40px;
	width: fit-content;
}

#main .container {
	margin: 80px;
	width: calc(100% - 160px);
}

#main .container.gallery {
	margin-top: 220px;
}

#main .grid { 
	/*grid-area: content;*/
	display: grid;
	grid-template-columns: repeat(3, 1fr);
  	grid-template-rows: auto; 
	column-gap: 10px;
	row-gap: 55px;
	justify-items: stretch;
	justify-content: space-around;
	max-width: inherit;
}

#main .grid.equipe { 
	grid-template-columns: repeat(4, 1fr);
}

#main .grid-logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
  	grid-template-rows: auto; 
	column-gap: 120px;
	row-gap: 120px;
	justify-items: stretch;
	justify-content: space-around;
	max-width: inherit;
}

#main .grid-logos img {
	width: 100%;
}
	
#main .events {
	position: relative;
}

div.event.page section {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: start;
	gap: 20px;
	display: grid;
	grid-template-columns: repeat(2, 50%);
}

#main .equipe {
	position: relative;
}

#main .equipe .equipe-box {
	position: absolute;
	left: 20px;
	bottom: 20px;
	width: 70%;
}

#main .albums { 
	/*grid-area: content;*/
	display: grid;
	grid-template-columns: repeat(4, 1fr);
  	grid-template-rows: auto; 
	gap: 10px;
	justify-items: stretch;
	justify-content: space-around;
	max-width: inherit;
}

#main .albums .block {
	position: relative;
}

#main .albums img {
	display: block;
}

#main .links {
	position: relative;
	width: 100%;
}

#main .links a { 
	display: block;
	width: 100%;
}


#main .partners { 
	/*grid-area: content;*/
	display: grid;
	grid-template-columns: repeat(2, 1fr);
  	grid-template-rows: auto; 
	gap: 5%;
	justify-items: stretch;
	justify-content: space-around;
	max-width: inherit;
}

#main .accordions {
	position: relative;
	width: 100%;
	height: 78px;
	overflow: hidden;
}

#main .accordions a { 
	display: block;
	width: 100%;
}

#footer { 
	grid-area: footer;
	display: grid;
	grid-template-columns: 35% 36% 29%;
	grid-template-rows: auto;
	grid-template-areas: 'footer-mentions footer-social footer-menu'
                         'footer-dev footer-dev footer-dev';
	justify-items: stretch;
	justify-content: space-around;
	padding: 50px 0 0 0;
	max-width: 100%;
}

#footer div {
	margin: 0;
	padding: 0 100px;
}

#footer div.footer-mentions {
	grid-area: footer-mentions;
}

#footer div.footer-social {
	grid-area: footer-social;
}

#footer div.footer-menu {
	grid-area: footer-menu;
}

#footer div.footer-dev {
	grid-area: footer-dev;
	margin: 60px 0 10px 0;
}
