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

	.block-1,
	#form,
	#values,
	.post #hero {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	#footer .gap-100 {
		gap: var(--space-40);
	}

}

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

	.curve-right {
		top: 0;
		right: var(--space-50);
		transform: translateY(-50%);
	}

}

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

	:root {
		--size-900:70px;
		--size-800:52px;
		--size-700:35px;
		--size-500:22px;
		--size-400:16px;
		--size-300:14px;

		--space-200:180px;
		--space-150:140px;
		--space-140:130px;
		--space-130:120px;
		--space-120:110px;
		--space-100:100px;
		--space-90:90px;
		--space-80:80px;
		--space-70:70px;
		--space-60:60px;
		--space-50:50px;
		--space-40:40px;
		--space-30:30px;
		--space-25:25px;
		--space-20:20px;
		--space-15:15px;
		--space-10:10px;
		--space-5:5px;
	}

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

	#hero figure.small img {
		width: 250px;
		height: 250px;
	}

	.topbar > div {
		justify-content: flex-end;
	}

	.topbar > div > p {
		display: none;
	}

	#footer .mr-100 {
		margin: 0;
	}

	.block-1 .block-2  {
		padding: 0;
	}

}


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

	:root {
	
		--size-900: 55px;
		--size-800: 40px;
		--size-700: 30px;
		--size-650: 22px;
		--size-600: 20px;
		--size-500: 18px;
		--size-400: 16px;
		--size-300: 14px;

		--space-200:100px;
		--space-150:100px;
		--space-140:100px;
		--space-130:100px;
		--space-120:100px;
		--space-100:90px;
		--space-90:80px;
		--space-80:70px;
		--space-70:60px;
		--space-60:50px;
		--space-50:45px;
		--space-40:40px;
		--space-30:30px;
		--space-25:25px;
		--space-20:20px;
		--space-15:15px;
		--space-10:10px;
		--space-5:5px;
	}

	#footer .gap-100 {
		flex-wrap: wrap;
	}

	#footer .gap-100 figure {
		width: 100%;
	}

	#footer .gap-100 .w-20 {
		width: calc(33% - var(--space-40));
	}

	#news > div,
	#team .team {
		grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
	}

	#values .grid {
		grid-template-columns: repeat(auto-fit,minmax(220px,1fr));
	}

	#services .grid {
		grid-template-columns: repeat(auto-fit,minmax(330px,1fr));	
	}

	#our_services .grid {
		grid-template-columns: 1fr 1fr;
	}

	#our_services .grid article:nth-of-type(7n+2) {
		grid-column: span 1;
	}

	#hero figure.small img {
		width: 200px;
		height: 200px;
	}

	#hero figure.small img {
		border-radius: 0 40px 0 0;
	}

	#hero span.absolute {
		width: 70px;
	}

	#why > div {
		flex-direction: column;
	}

	#why figure.radius-top-left {
		max-height: 400px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#our_services span.absolute {
		width: 100%;
	}

	#our_services span.absolute svg {
		width: 100%;
	}

}


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

	#contact .info {
		flex-direction: column;
	}

	#contact .info .w-35 {
		width: 100%;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(450px,1fr));
		order: -1;
		padding: 0;
	}

	#contact .info > .w-50 {
		width: 100%;
	    max-height: 400px;
	    display: flex;
	    justify-content: center;
	    align-items: center;
	}

	#footer .block-1 > .gap-60 {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	#footer .block-1 .w-20 {
		width: 100%;
	}

}

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

	:root {
		--size-900: 55px;
		--size-800: 40px;
		--size-700: 30px;
		--size-650: 22px;
		--size-600: 20px;
		--size-500: 18px;
		--size-400: 16px;
		--size-300: 14px;	
	}

	#header .menu {
		display: none;
	}

	#header #menu {
		width: 35px;
		height: 25px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		appearance: none;
		border: none;
		background-color: white;
		padding: 0;
	}

	#header #menu span{
		width: 100%;
		height: 2px;
		background: var(--main);
		transition: all 320ms ease;
	}

	#header #menu::before,
	#header #menu::after {
		content: '';
		width: 100%;
		height: 2px;
		background-color: var(--main);
		position: absolute;
		transition: all 320ms ease;
	}

	#header #menu::before {
		top: 0;
	}

	#header #menu::after {
		bottom: 0;
	}

	.active #header #menu::after {
		transform: rotate(45deg);
		top: 50%;
	}

	.active #header #menu::before {
		transform: rotate(-45deg);
		top: 50%;
	}

	.active #header #menu span {
		width: 0%;
	}

	.active{
		overflow: hidden;
	}

	#header .menu {
		width: 100%;
		height: calc(100% - 150px);
    	min-height: calc(100% - 150px);
		overflow-y: auto;
		max-width: 360px; 
		position: fixed;
		top: 150px;
		right: 0;
		z-index: 5;
		background-color: white;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: var(--space-40) var(--space-50);
		opacity: 0;
		pointer-events: none;
		transition: all 560ms ease;
		transition-delay: 0ms;
		transform: translateX(100%);
	}

	.active #header .menu {
		transform: none;
		pointer-events: all;
		opacity: 1;
		transition-delay: 280ms;
	}

	.overlay {
		width: 100%;
		height: 100%;
		background: var(--main);
		position: fixed;
		inset: 0;
		z-index: 3;
		opacity: 0;
		pointer-events: none;
		transition: all 320ms ease;
	}

	.active .overlay {
		opacity: .6;
		pointer-events: all;
	}

	.menu .datas {
		display: flex;
	}

	.home #hero > div {
		flex-direction: column;
	}

	.home #hero .w-40{
		width: 70%;
	}

	.home #hero .w-60 {
		width: 100%;
	}

	#hero figure.small img {
		max-width: 350px;
		min-width: 250px;
		height: auto;
	}

	.home #hero > div {
		justify-content: flex-start;
		align-items: flex-start;
	}

	#form .w-50 {
		width: 100%;
	}


	.service #content > div,
	.about #about > div {
		flex-direction: column;
	}

	#hero .w-50,
	#contact .w-50{
		width: 70%;
	}

	#why figure, #why figure img {
		min-height: 650px;
	}

	#about .content{
		order: 1;
	}

	.service #content .content {
		order: -1;
	}

}

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

	:root {
	
		--size-900: 40px;
		--size-800: 35px;
		--size-700: 28px;
		--size-650: 22px;
		--size-600: 18px;
		--size-500: 17px;
		--size-400: 15px;
		--size-300: 13px;

		--space-200:60px;
		--space-150:60px;
		--space-140:60px;
		--space-130:60px;
		--space-120:60px;
		--space-100:50px;
		--space-90:50px;
		--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;
	}


	#hero .radius-top-left img {
		min-height: 300px;
	}

	#header .menu {
		height: calc(100% - 65px);
    	min-height: calc(100% - 65px);
		top: 65px;
	}

	.menu .datas {
		margin-top: auto;
	}

	#logo svg,
	footer .logo svg {
		height: 35px;
	}

	#header nav {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.w-40, 
	.w-50,
	.w-55,
	#hero .w-50,
	#contact .w-50,
	.home #hero .w-40 {
		width: 100%;
	}

	.curve-right svg,
	.home #hero span.absolute {
		width: 120px;
	}

	#form .last  {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
		gap: 20px;
	}

	#form .last > span {
		width: 100%;
	}

	#form form [type="submit"] {
		margin-left: auto;
	}

	#footer div.gap-100 {
		flex-direction: column;
	}

	#our_services .grid article:nth-of-type(7n+2), #our_services .grid article:nth-of-type(7n+3) {
		grid-column: auto;
	}

	#contact .info {
		flex-direction: column;
	}

	#contact .dates a {
		font-size: var(--size-500);
	}

	#contact .info > div:last-of-type {
		order: -1;
		width: 100%;
	}

	#contact .info .w-35 {
		grid-template-columns: 100%;
	}

	#footer .gap-100 .w-20 {
		width: 100%;
	}

	.swiper-button-prev {
		left: var(--space-30);
	}
	.swiper-button-next {
		right: var(--space-30);
	}

	.myServices::before, 
	.myServices::after {
		width: 20px;
	}

	.swiper-button-next, .swiper-button-prev {
		display: none;
	}

	#hero figure.small img {
		max-width: 150px;
		min-width: 150px;
	}

	.home #hero span.absolute {
		width: 60px;
	}

	#services .grid {
		grid-template-columns: 100%;
		padding: 0;
	}

	#why figure, #why figure img {
		min-height: 450px;
	} 

	#values .grid {
		grid-template-columns: 1fr 1fr;
	}

	#values figure.icons {
		width: 70px;
	}

	#gallery .grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}

	#gallery .grid figure:first-child{
		grid-column: 1;
		grid-row: 1;
	}
	#gallery .grid figure:nth-child(2){
		grid-column: 2;
		grid-row: 1;
	}

	#gallery .grid figure:nth-child(6) {
		grid-row: 2;
		grid-column: 1/-1;
	}

	.post #hero h1 {
		font-size: var(--size-700);
	}

	.service #others .block-1 {
		padding: 0;
	}

	.service #others h2 {
		padding-inline: var(--space-30);
	}

	#contact .dates > div > div {
		justify-content: center;
		align-items: center;
	}

	#contact .icon {
		width: 60px;
		height: 60px;
	}

	#contact .icon svg,
	#contact .icon.phone svg {
		width: 25px;
		height: auto;
	}

	#footer .block-1 > .gap-60 {
		grid-template-columns: 100%;
	}

}

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

	.home #hero .desktop {
		display: none;
	}

	.home #hero .mobile {
		display: flex;
	}

	.topbar {
		display: none;
	}

	#our_services .grid {
		grid-template-columns: 100%;
	} 

	#our_services .grid {
		grid-column: span 1;
	} 

	.service #content figure,
	#about .relative {
		max-height: 450px;
	}	

	#form .grid {
		grid-template-columns: 100%;
	}

	#footer .w-20 {
		width: 100%;
	}

	#footer > .gap-20 {
		flex-direction: column;
	}

	#footer .text-right {
		width: 100%;
		text-align: left;
	}

	#footer .justify-end {
		width: 100%;
		justify-content: flex-start;
	}

	#logo {
		margin: 0;
	}

}

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


	#contact .dates a {
		word-wrap: break-word;
	}

}

