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

	.block-1 {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

}

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

	.block-2 {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	#sr .wp-block-columns > div {
		padding-left: var(--space-40);
		padding-right: var(--space-40);
	}

	.home #sr section h2 {
		max-width: 50%;
	}

	#contact .close {
		top: 30px;
		right: 30px;
	}

	#contact {
		align-items: flex-start;
	}

	.project #content .wp-block-spacer {
		display: none;
	}

}

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

	:root {
		--size-900:72px;
		--size-800:50px;
		--size-600:32px;
		--size-500:20px;
		--size-400:18px;
		--size-300:16px;
		--size-100:14px;
		--space-200:60px;
		--space-150:60px;
		--space-120:60px;
		--space-100:60px;
		--space-90:60px;
		--space-80:50px;
		--space-70:50px;
		--space-60:40px;
		--space-50:40px;
		--space-40:30px;
		--space-30:20px;
		--space-25:20px;
		--space-20:20px;
		--space-15:15px;
		--space-10:10px;
		--space-5:5px;
	}

	#header_gp {
		min-width: 100%;
		height: fit-content;
		background-color: white;
		position: sticky;
	}

	#header_gp > div {
		width: 100%;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		padding: 0;
	}

	#header_gp > div > .w-full {
		width: fit-content;
	}

	#header_gp #logo {
		margin-top: 0;
	}

	main#gp {
		padding-left: 0;
	}

	.pt-150 {
		padding-top: 0px;
	}

	#projects article {
		width: 100%;
		flex-direction: column;
		gap: 20px;
	}

	#header_gp #menu {
		width: fit-content;
		min-width: 200px;
		position: fixed;
		top: 50%;
		left: 50%;
		opacity: 0;
		pointer-events: none;
		transition: all 520ms ease;
		transform: translate(-50%, -50%);
		opacity: 0;
		background-color: white;
		padding: var(--space-40) var(--space-30);
	}

	#header_gp #menu.active {
		opacity: 1;
		pointer-events: all;
	}

	#header_gp #menu a {
		opacity: 1;
	}

	#header_gp #menu a {
		transform: translate(0);
	}

	#projects article .info {
		opacity: 1;
		position: static;
	}

	.menu {
		width: 30px;
		justify-content: flex-end;
		margin-right: var(--space-30);
	}

	body.active {
		overflow: hidden;
	}

	body.active main,
	body.active footer {
		opacity: .4;
		filter: blur(4px);
	}

	.menu.active span {
		width: 0;
	}

	.menu.active::before {
		width: 30px;
		left: 0;
		top: 50%;
		transform: rotate(45deg);
		transform-origin: center center;
	}

	.menu.active::after {
		width: 30px;
		left: 0;
		top: 50%;
		transform: rotate(-45deg);
		transform-origin: center center;
	}

	#projects article:nth-child(even) {
		gap: 20px;
	}

	#projects article:nth-child(even) {
		padding-top: 0;
	}

	#projects article .info {
		margin-top: 0;
	}

	#projects {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	.project #content,
	.project #content .wp-block-columns {
		gap: 40px;
	}

	#related h3 {
		text-align: center;
	}

	#related .grid {
		padding: 0 10px;
		justify-content: center;
	}
	
	#footer > div {
		padding-left: var(--space-30);
	}

	#footer .items-end {
		align-items: flex-start;
	}

	#header_st .block-1 {
		padding-left: 0;
		padding-right: 0;
	}

	.home #sr {
		padding-top: 60px;
	}

	.home #sr > section {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	.home #sr section h2 {
		max-width: 100%;
	}

	.wpcf7 form .fields {
		grid-template-columns: 100%;
		gap: 20px;
	}

	.gallery main {
		padding-top: 80px;
		padding-bottom: 40px;
	}

	.gallery .myGallery {
		max-height: 100%;
	}

	.swiper-slide {
		display: flex;
		align-items: center;
	}

	.swiper-slide img {
		height: auto;
		object-fit: contain;
	}

	.swiper-backface-hidden figure.swiper-slide {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.controls > div:last-child nav {
		display: none;
	}

}

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

	#header_gp #logo, 
	#header_gp #logo svg {
		width: 25px;
		height: 36px;
	}

	.gallery h1 {
		text-align: center;
	}

	.gallery #header_st .download,
	.gallery #header_gp .download {
	    position: fixed;
	    bottom: 20px;
	    right: 50%;
	    transform: none;
	    padding: 0;
	    left: 20px;
	}

	.gallery main {
		padding-top: 20px;
		padding-right: 20px;
		background-position: 30px;
	}
	
	.gallery main a[download] {
		display: none;
	}

	#header_st > div {
		flex-direction: column;
		gap: 20px;
	}
	
	#header_gp > div span,
	#header_st > div span {
		font-size: 12px;
	}

	.gallery .download {
		position: static;
	}

	.swiper-pagination-fraction {
		position: absolute;
		left: 0;
		transform: none;
		bottom: -20px;
		font-size: 14px;
	} 

}