@media only screen and (max-width: 2100px) {

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

}

@media only screen and (max-width: 1599px) {

	#main { 
		margin: 140px auto 0;
	}
	
	#main .main-carousel, #main .main-carousel .carousel-cell {
	  	height: calc(100vh - 140px);
	}
	
	#main .info-box {
		left: 70px;
		bottom: 70px;
 		width: 42%;
	}

	#footer { 
		grid-template-columns: 35% 32% 33%;
	}

}
@media only screen and (max-width: 1449px) {

	#main { 
		margin: 120px auto 0;
	}
	
	#main .main-carousel, #main .main-carousel .carousel-cell {
	  	height: calc(100vh - 120px);
	}
	
	#main .grid.equipe { 
		grid-template-columns: repeat(2, 1fr);
	}

	#main .info-box p {
		font-size: 2.4rem;
	}
	
	#main .container.gallery {
		margin-top: 160px;
	}

	#main .grid-logos {
		grid-template-columns: repeat(4, 1fr);
		column-gap: 90px;
		row-gap: 90px;
	}

	#footer div {
		padding: 0 75px;
	}
	
	#main .main-carousel .carousel-cell {
	  	height: calc(100vh - 120px);
	}
	
}

@media only screen and (max-width: 1299px) {

	#main .info-box {
		left: 40px;
		bottom: 40px;
 		width: 45%;
	}
	
	#main .info-box p {
		font-size: 2.3rem;
	}

	#footer { 
		grid-template-columns: 32% 33% 35%;
	}
	
	#footer div {
		padding: 0 70px;
	}
	
}

@media only screen and (max-width: 1149px) {

	#main {
		margin: 100px auto 0;
	}
	
	#main .main-carousel, #main .main-carousel .carousel-cell {
	  	height: calc(100vh - 100px);
	}

	#main .info-box p {
		font-size: 2.2rem;
	}

	#main .container {
		margin: 80px 40px;
		width: calc(100% - 80px);
	}
		
	#main .container.gallery {
		margin-top: 140px;
	}

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

	#footer div {
		padding: 0 40px;
	}

	#footer h1 {
		font-size: 4.2rem;
	}
	
	#footer h2, #footer a {
		font-size: 2rem;
	}

}

@media only screen and (max-width: 999px) {

	#main .info-box {
		left: 20px;
		bottom: 20px;
 		width: 50%;
	}

	#main .info-box p {
		font-size: 1.9rem;
	}

	#main .title-box {
		left: 30px;
		max-width: calc(100% - 60px);
	}
	
	#main .title-box p {
		font-size: 4rem;
	}

	#main .equipe .equipe-box h2 {
		margin: 0 0 12px;
		font-size: 1.8rem;
	}
	
	#main .equipe .equipe-box p {
		font-size: 1rem;
	}

	#main .partners	{
		grid-template-columns: repeat(1, 1fr);
		gap: 0;	
	}

	#main .albums {
		/*height: inherit;*/
		/*height: fit-content;*/
		width: 100%;
		
		/*grid-area: content;*/
		display: block;
		max-width: inherit;
	}
	
	#main .albums .block {
		transition: none;
	}
	
	#main .albums .carousel-cell {
	  	padding: 0;
	  	margin: 0;
		width: 80%;
	  	/*height: calc(100vh - 160px);*/
	  	/*height: fit-content;*/
	}
	
	#main .albums .carousel-cell img {
		padding: 0;
	  	margin: 0;
		width: 90%;
		/*height: fit-content;*/
		object-fit: cover;
	}

	#main .grid-logos {
		grid-template-columns: repeat(3, 1fr);
		column-gap: 90px;
		row-gap: 90px;
	}

	div.revoshop-grid.link div.revoshop-medium-6 {
		width: 100%;
	}

	#footer div {
		padding: 0 20px;
	}
	
	#footer h2, #footer a {
		font-size: 1.8rem;
	}
	
	
}

@media only screen and (max-width: 849px) {
	
	#main .grid, #main .grid.equipe {
	  	grid-template-columns: repeat(1, 1fr);
	}
	
	#main .equipe .equipe-box h2 {
		margin: 0 0 20px;
		font-size: 2.2rem;
	}
	
	#main .equipe .equipe-box p {
		font-size: 1.1rem;
	}

}

@media only screen and (max-width: 699px) {
	
	#main .container {
		margin: 60px 20px;
		width: calc(100% - 40px);
	}

	#main .links a {
		font-size: 2rem;
	}
	
	div.revoshop-medium-1, div.revoshop-medium-2, div.revoshop-medium-3, div.revoshop-medium-4, div.revoshop-medium-5, div.revoshop-medium-6, div.revoshop-medium-7, div.revoshop-medium-8, div.revoshop-medium-9, div.revoshop-medium-10, div.revoshop-medium-11, div.revoshop-medium-12 {
	    margin-bottom: 0;
	}

	#main .info-box {
		left: 20px;
		right: 20px;
		bottom: 20px;
		width: calc(100% - 46px); /* 46 because border */
	}

	#main .info-box p {
		padding: 30px;
		font-size: 1.7rem;
	}

	#main .title-box {
		left: 20px;
		right: 20px;
		bottom: 20px;
		max-width: calc(100% - 40px);
	}

	#main .title-box p {
		font-size: 3.5rem;
	}

	div.event.page h1 {
		font-size: 2.5rem !important;
	}

	div.event.page section {
		grid-template-columns: repeat(1, 1fr);
	}

	#main .equipe .equipe-box {
		padding: 20px;
		right: 20px;
		width: calc(100% - 86px);
	}

	#main .equipe .equipe-box {
		cursor: pointer;
	}

	#main .equipe .equipe-box:hover p.description {
		display: block;
	}

	#main .equipe .equipe-box:hover p.content {
		display: none;
	}
	
	#main .equipe .equipe-box.hover {
		position: fixed;
		top: 10px;
		bottom: 10px;
		left: 10px;
		right: 10px;
		width: calc(100% - 66px);
		max-height: inherit;
		z-index: 1000;
		cursor: auto;
	}
	
	#main .equipe .equipe-box.hover h2 {
		display: block;
		width: 100%;
	}
	
	#main .equipe .equipe-box.hover h2 span {
		width: 16px;
		height: 16px;
		color: #fff;
		background-color: #fff;
		cursor: pointer;
		
		&::before {
			content: '';
			position: absolute;
			display: block;
			top: 25px;
			right: 25px;
			width: 6px;
			height: 28px;
			background: #fff;
			rotate: 45deg;
		}

	    &::after {
		    content: '';
		    position: absolute;
		    display: block;
		    top: 36px;
		    right: 14px;
		    width: 28px;
		    height: 6px;
			background: #fff;
			rotate: 45deg;
		}

	}
	
	#main .equipe .equipe-box.hover p.description {
		display: none;
	}

	#main .equipe .equipe-box.hover p.content {
		display: block;
	}

	#main .grid-logos {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 60px;
		row-gap: 60px;
	}

	#footer {
	  	grid-template-columns: repeat(1, 1fr);
	  	grid-template-areas: 'footer-mentions'
	  						 'footer-social'
	  	 					 'footer-menu'
                         	 'footer-dev';
	  	padding: 0;
	}
	
	#footer div {
		padding: 50px 0;
		margin: 0 30px;
		border-right: none;
		border-top: 2px solid #fff;
	}

	#footer div:first-child, #footer div:last-child {
		border: none;
	}
	
	#footer div:last-child {
		padding: 30px 0 10px;
	}
	
	#footer h2, #footer a {
		font-size: 1.9rem;
	}

	#footer h2.footer-subsection{
		margin-top: 30px;
	}

}


@media only screen and (max-width: 499px) {

	#main h1 {
		font-size: 3.8rem;
	}
	
	#main .intro {
		margin: 0;
	}
	
	#main .links a {
		font-size: 1.8rem;
	}
	
	#main .equipe img {
		min-height: 450px;
	}

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

}

/*
	QUERIES CONTAINERS
*/

#main .events {
	container-type: inline-size;
	container-name: events;
}

@container events (width <= 374px) {
	#main .events .text {
		padding: 20px 25px;
	}
}