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

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

	.solar-system #system .level .rewards li .underline {
		white-space: nowrap;
	}

}

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

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

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

	.solar-panels #reasons .grid,
	#steps .grid {
		grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
	}

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

	#steps .grid-cols-4 {
		grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	}

	#intro .item .text {
		overflow-y: auto;
	}

	#footer .grid {
		width: fit-content;
		margin-left: auto;
		grid-template-columns: repeat(2, 280px);
	}

}

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

	:root {
		--size-900:38px;
		--size-800:38px;
		--size-700:32px;
		--size-650:28px;
		--size-600:22px;
		--size-500:19px;
		--size-400:17px;
		--size-300:17px;
		--size-200:14px;
		--size-100:12px;

		--space-200:180px;
		--space-180:160px;
		--space-170:140px;
		--space-150:130px;
		--space-140:120px;
		--space-130:110px;
		--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;
		--space-2:2px;
	}

	.savings span,
	.help span {
		font-size: 16px;
	}

	#landing-map {
		max-width: 500px;
	}

	#landing div[data-step].last {
		height: calc(100% - 220px);
		overflow-y: scroll;
		top: 120px;
		left: 0;
		transform: none;
		gap: 40px;
	}

	#landing .last .title {
		line-height: 1.3;
	}

	#landing div[data-step].last .list {
		gap: var(--space-30);
	}

	#landing .savings {
		bottom: 60px;
	}

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

	#landing .steps {
		padding-bottom: 20px;
	}

	#intro .item:nth-child(3) {
		margin-left: 0;
	}

	#intro .item:nth-child(2) {
		margin-right: 120px;
	}

	#intro .item {
		width: calc(50% - 62px);
	}

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

	#header nav .menu {
		display: none;
	}

	#header #menu {
		height: 35px;
		width: 35px;
		padding: 0;
		border: 0;
		background-color: transparent;
		display: flex;
		gap: 10px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		position: relative;
	}

	#header #menu span,
	#header #menu::before,
	#header #menu::after {
		content: '';
		width: 100%;
		height: 3px;
		background-color: #000;
		transition: all 280ms ease;
		position: absolute;
		left: 0;
		transform-origin: center center;
	}

	#header #menu span,
	#header #menu::before,
	#header #menu::after {
		background-color: var(--secondary);
	}

	#header #menu span {
		margin-top: -1px;
		top: 50%;
	}

	#header #menu::before {
		top: 5px;
		width: 20px;
	}

	#header #menu::after {
		bottom: 5px;
		width: 27px;
	}

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

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

	.active #header #menu::after {
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	#header .menu span > div {
		width: 100%;
		margin-top: 25px;
		transition: none;
		border: none;
		padding: 0;
		border-radius: 0;
		flex-direction: column;
		background-color: transparent;
		position: static;
		opacity: 1;
	}

	#header .menu span > div {
		display: flex;
		flex-direction: column;
	}

	#header .menu a.all {
		margin: 0;
		padding: 0;
		background-color: transparent;
		color: var(--secondary);
	}

	#header .menu .links-block {
		grid-template-columns: 100%;
		padding: var(--space-20) 0;
	}

	#header {
		height: 80px;
	}

	#header nav .menu {
		width: 100%;
		height: calc(100% - 80px);
		position: fixed;
		top: 80px;
		left: 0;
		background-color: #fff;
		display: flex;
		justify-content: flex-start;
		flex-direction: column;
		gap: 0;
		padding-bottom: 56px;
		border-right: 1px solid var(--green-100);
		opacity: 0;
		pointer-events: none;
		transform: translateX(-50px);
		transition: all 320ms ease;
	}

	.active #header nav .menu {
		width: 100%;
		opacity: 1;
		pointer-events: all;
		transform: none;
		overflow-x: hidden;
		overflow-y: auto;
	}

	#header nav .menu > span {
		padding: var(--space-10) var(--space-30);
		border-top: 1px solid var(--green-100);
		border-bottom: 1px solid var(--green-100);
		margin-bottom: -1px;
		flex-direction: column;
	}

	#header nav .menu span.childs span,
	#header nav .menu span.parent span,
	#header nav .menu > span a {
		font-size: var(--size-500);
		width: 100%;
		display: flex;
		justify-content: space-between;
	}

	#header nav .menu > span i::before {
		content: '\f107';
	}

	#header nav .menu .submenu a span {
		font-size: 14px;
	}

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

	#tesla .grid .info {
		grid-column: 1 / -1;
		padding-top: var(--space-80);
		padding-bottom: var(--space-80);
	}

	#tesla .grid .products {
		grid-column: 1 /-1;
		display: flex;
		flex-direction: row;
	}

	#tesla .grid .products article {
		width: 100%;
		grid-column: 1/-1;
		flex-direction: column;
	}

	#panel .w-80 p {
		font-size: 16px;
	}

	.flex-col-4 > *,
	.is-layout-grid.wp-block-group-is-layout-grid > * {
		width: calc(50% - 25px);
	}
	
	.content .two-columns .is-layout-grid.wp-block-group-is-layout-grid > * {
		width: calc(100% - 25px);
	}

}

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

	:root {

		--size-900:34px;
		--size-800:30px;
		--size-700:30px;
		--size-650:28px;
		--size-600:22px;
		--size-500:20px;
		--size-400:17px;
		--size-300:17px;
		--size-200:14px;
		--size-100:12px;

		--space-200:100px;
		--space-180:100px;
		--space-170:100px;
		--space-150:100px;
		--space-140:100px;
		--space-130:100px;
		--space-120:100px;
		--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;
		--space-2:2px;
	}

	#landing .last .title {
		line-height: 1.2;
	}

	#landing .size-800 {
		font-size: 26px;
	}

	#landing .size-650 {
		font-size: 22px;
	}

	#landing .size-600 {
		font-size: 18px;
	}

	#landing div[data-step].last .list > div{
		padding-left: 20px;
	}

	#logo {
		width: 100px;
	}

	#claim {
		width: 110px;
	}

	#landing div[data-step].last {
		top: 90px;
		gap: 30px;
	}

	#landing form input::placeholder,
	#landing form button,
	#landing form .btn {
		font-size: 16px;
	}

	#landing form .btn,
	#landing form input[type="submit"] {
		width: fit-content;
		height: 50px;
		display: flex;
		align-items: center;
		gap: 10px;
	}

	#landing .actions > form > div {
		gap: 15px;
	}

	#landing form input:not([type="submit"]) {
		width: 210px;
		font-size: 18px;
		height: 50px;
	}

	#landing form input[type="submit"] {
		height: 50px;
	}

	#landing .close {
		font-size: 30px;
	}

	#landing .header {
		padding-top: 20px;
		padding-bottom: 20px;
	}
 
	#open-landing {
		width: 50px;
		height: 65px;
	}

	.call > p {
		font-size: 15px;
		height: 50px;
	}

	.call {
		transform: translate(-50%, 180px);
	}

	.sun svg {
		width: 30px;
		height: 30px;
	}

	#landing div[data-step].last {
		height: calc(100% - 119px);
	}

	#landing nav a {
		max-width: 130px;
	}

	#landing nav a figure img {
		max-width: 130px;
		min-width: 130px;
		height: 130px;
	}

	#landing .help span {
		font-size: 12px;
	}

	#landing .steps .step {
		width: 12px;
		height: 12px;
	}

	#landing:not([data-step="1"]) .steps {
		gap: 10px;
	}

	#landing label {
		font-size: 16px;
		height: 40px;
	}

	.mouse {
		width: 17px;
		height: 25px;
	}

	#landing .actions {
		width: 100%;
		position: sticky;
	    bottom: 0;
	    margin: 0;
	    left: 0;
	    bottom: 0;
	    padding: 0;
	    right: 0;
	    padding-bottom: 30px;
	}

	#landing .size-900 {
		font-size: 28px;
	}

	#landing .size-800 {
		font-size: 24px;
	}

	#landing .size-600 {
		font-size: 20px;
	}

	#landing .size-500 {
		font-size: 16px;
	}

	#landing-map {
		max-width: 400px;
	}

	#landing div[data-step]{
		gap: 30px;
	}

	#reasons .pl-100{
		width: 100%;
		padding-left: 0;
	}

	.solar-panels #info .content {
		padding-top: 0;
		padding-bottom: 0;
	}

	.solar-panels #info .grid {
		grid-template-columns: 100%;
	}

	.solar-panels #info .grid figure {
		order: 1;
	}

	.solar-system #system figure img {
		max-width: 150px;
	}

	.solar-system #system .mt-80 {
		flex-direction: column;
	}

	#news .category {
		overflow-x: auto;
		padding-bottom: 10px;
		flex-direction: row;
	}

	#quantity .block-3 {
		flex-wrap: wrap;
	}

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

	#quantity figure.w-50 {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.px-30 > .block-1,
	.px-30 > .block-2,
	.px-30 > .block-3,
	.px-30 > .block-4,
	.px-30 > .block-5 {
		padding-inline: 0;
	}

	#panel .specs {
		flex-wrap: wrap;
		gap: var(--space-40);
	}

	#panel .specs > figure {
		width: 100%;
		max-width: 400px;
		margin: auto;
		order: -1;
	}

	#panel .specs > div {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		order: 1;
		padding-top: 0;
		padding-bottom: 0;
		gap: var(--space-40);
	}

	#panel .specs .w-80 {
		margin: 0;
	}

	#get-link .w-40 {
		padding-top: 0;
	}

}

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

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

	#breadcrumbs {
		margin-bottom: 60px;
	}

	#install figure {
		order: 1;
	}

	.provinces #install .block-3 {
		padding-top: 0;
	}

	.provinces #install {
		padding-top: var(--space-60);
	}

	#panels figure.w-40,
	#calculator figure.w-30 {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	#panels figure.w-40 img,
	#subsidy figure.w-33 img,
	#sustainable figure.w-33 img,
	#advantage figure.w-33 img,
	#calculator figure img,
	.solar-system #intro figure img {
		max-width: 400px;
		margin: auto;
	}

	#panels > .block-3,
	#calculator .block-3,
	#subsidy .block-3,
	#benefits .block-3 {
		flex-direction: column;
	}

	main section.small_hero > .block-2,
	main section.small_hero > .block-3,
	main section.big_hero > .block-2,
	main section.big_hero > .block-3 {
		flex-direction: row;
	}

	main .w-full > .block-1,
	main .w-full > .block-2,
	main .w-full > .block-3 {
		flex-direction: column;
		gap: 40px;
	}

	#legal .block-2 {
		gap: 10px;
	}

	main .w-full > .block-3 .w-50,
	main .w-full > .block-3 .w-60,
	main .w-full > .block-3 .w-66,
	main .w-full > .block-3 .w-40,
	main .w-full > .block-3 .w-33,
	main .w-full > .block-3 .w-30 {
		width: 100%;
	}

	#lading-tesla #hero .block-2{
		justify-content: center;
	}

	#lading-tesla #hero .block-2 h1{
		font-size: 28px;
	}

	#lading-tesla div.max-w-400{
		max-width: none;
		width: 100%;
	}

	#lading-tesla section.items-start{
		flex-direction: column;
	}

	#lading-tesla section div.h-100{
		height: auto;
	}

	#lading-tesla a.w-full.btn{
		width: fit-content;
	}

	#lading-tesla .grid.grid-cols-2{
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}

	.presupuesto-tesla section > div.flex{
		flex-direction: column;
		gap: 0;
	}

	.presupuesto-tesla section > div > div.flex{
		display: none;
	}

	.w-full > .block-2.grid,
	#service .grid,
	#install .grid {
		grid-template-columns: 100%;
	}

	#service .grid figure {
		order: 1;
	}

	#provinces .block-1 > div {
		flex-direction: column;
	}

	.specs.grid {
		grid-template-columns: 1fr;
	}

	#provinces .block-1 > div {
		gap: 20px;
	}

	#provinces .block-1 > div  > div {
		padding: 20px;
	}

	.w-full > .block-2.grid .py-50 {
		padding-block: 0;
	}

	.w-full > .block-2 > figure {
		order: 1;
	}

	#landing .w-full > .block-2 > figure {
		order: -1;
	}

	#benefits figure.w-33 {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#benefits figure.w-33 img {
		max-height: 300px;
		width: auto;
	}

	#reasons .items {
		padding-right: var(--space-50);
		padding-left: var(--space-50);
	}

	#big_cta .grid,
	#reasons .grid {
		grid-template-columns: 100%;
	}

	#reasons .grid .pl-150 {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
		padding: 0;
	}

	#big_cta .grid figure {
		order: 1;
		max-height: 350px;
	}

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

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

	#calculator .w-30 {
		width: 100%;
	}

	#panels .w-60,
	#benefits .w-66 {
		width: 100%;
		order: -1;
	}

	.post article header {
		display: none;
	}

	.post article #post-footer {
		display: flex;
	}

	#intro .item {
		width: 100%;
	}

	.solar-system #intro .block-3 {
		flex-direction: column;
	}

	.solar-system #intro .w-40,
	.solar-system #intro .w-60 {
		width: 100%;
	}

	.solar-system #intro figure {
		order: 1;
	}

	#intro.cta .block-2 {
		display: flex;
		flex-direction: column;
	}

	#intro .item {
		min-height: auto;
		max-height: 100%;
	}

	#intro .item figure.icon {
		width: fit-content;
		padding-left: var(--space-20);
	}

	#intro .item .uppercase {
		padding: var(--space-20);
	}

	#intro .item,
	#intro.cta .item:nth-child(2) {
		display: grid;
		grid-template-columns: .4fr .6fr;
		gap: 2px;
		padding: 0;
	}

	#intro .item figure {
		width: calc(40% - 2px);
	}

	#intro .item .text {
		width: 100%;
		height: 100%;
		position: static;
		opacity: 1;
		transform: scale(1);
		overflow: visible;
	}

	#tesla .grid .products article figure {
		min-width: 100%;
	}

	#tesla .grid .info {
		padding-inline: var(--space-30);
	}

	#big_cta .bg-secondary {
		padding-inline: var(--space-50);
	}

	#install {
		padding: 0;
	}

	#app .apps a img {
		max-width: 150px;
		height: auto;
	}

	.call form {
		min-width: 300px;
	}

	#app > div > figure img {
		object-position: top 0 right 20%;
	}

	#spain-map,
	#landing-map {
		display: none;
	}

	#place-select,
	#landing [name="state-select"] {
		display: block;
	}

	#landing [name="state-select"] {
		padding-left: 15px;
		background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%2339a1ff%22%2F%3E%3C%2Fsvg%3E') no-repeat right 15px top 55%;
	}	

}

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

	:root{

		--wp--preset--font-size--extra-large: 32px;

	}

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

	#landing div[data-step] {
		display: flex;
		align-items: center;
	}

	#landing div[data-step].last {
		align-items: flex-start;
		justify-content: center;
	}

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

	#intro .item:nth-child(3) {
		margin-left: 0px;
	}

	#intro .item:nth-child(2) {
		margin-right: 0px;
	}

/*	#intro .item {
		width: calc(50% - 2px);
	}*/

	#intro .item .text {
		overflow: auto;
	}

	.content table {
		width: auto;
		margin-left: 0;
	}

	.call {
		min-width: 100%;
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	#breadcrumbs {
		margin-bottom: 60px;
	}

	.flotante .block-3.flex.pt-200{
		flex-direction: column;
		padding-top: 50px;
	}

	.flotante .block-3 .w-30,
	.flotante .block-3 .w-70{
		width: 100%;
	}

	#about .block-4.flex{
		flex-direction: column;
	}

	#footer > .block-2 {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.movil-img-popup {
		min-height: 30vh !important;
		aspect-ratio: unset;
	}

	div .flotante{
		padding-right: 0px !important;
		padding-left: 0px !important;
		overflow: scroll !important;
	}

	.h1-tesla{
		font-size: 26px !important;
	}

	.h2-tesla, .h3-tesla{
		font-size: 30px !important;
	}

	.hero-tesla {
		min-height: 35vh !important;
	}

	.responsive-hero {
		min-height: 50vh !important;
	}

	.responsive-hero-tesla .wp-block-group {
		margin: 0 !important;
	}

	.columnas-tesla-responsive {
		flex-direction: column !important;
	}

	.img-tesla-responsive {
		min-height: 25vh !important;
	}

	.producto-tesla-responsive img {
		width: 700px !important;
		height: 700px !important;
		object-fit: contain !important;
	}

	.prod-column-tesla-resp{
		margin-top: 100px !important;
	}

	.espacio-seccion-responsive-tesla {
		padding: 30px !important;
		gap: 15px !important;
	}
	.espacio-cero-responsive-tesla{
		padding: 0 !important;
	}

	.img-powerwall-responsive img{
		width: auto !important;
		height: auto !important;
	}

	.alinea-icon-tesla{
		gap: 10px !important;
		align-items: baseline;
	}

	.pop-responsive-espacio{
		padding-top: 10px !important;
	}

	.movil-espaciado-seccion{
		padding: 25px 10px !important;
	}

	.grupo-movil .wp-block-group{
		padding: 0 !important;
	}

	.titulo-byd{
		font-size: 34px !important;
	}

	.byd-p{
		font-size: 16px !important;
	}

	.h3-byd{
		font-size: 17px !important;
	}

	.byd-hero {
		margin-top: 0px;
		margin-bottom: 0px;
		padding-top: 50px !important; 
		padding-left: 5px !important; 
		min-height: 45vh !important; 
		aspect-ratio: unset;
	}		

	.espacio-byd{
		padding: 20px !important;
	}

	.seccion-byd{
		padding-top: 20px !important;
		padding-bottom: 20px !important;
	}

	.form-byd{
		padding: 0 !important;
	}
	.swiper-comun{
		padding: 0 25px;
	}
	.producto-byd {
		padding: 20px;
		width: 100%;
	}
	.producto-byd h3,.title-byd h3 {
		font-size: 20px !important;
	}

	.popup-full {
		width: auto;
	}

	.popup-content {
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(0,0);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		background-color: white;
		padding: 75px 20px;
		max-width: revert;
		gap: 50px;
	}

	.popup-content .popup-column-rigth {
		width: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 50px;
	}

	.popup-content .popup-column-left {
		width: auto;
	}

	.popup-column-left figure{
		width: auto;
	}

	.sliderwidth {
		width: 700px;
	}

	.espaciado-mobile{
		margin-top: 10px !important;
		margin-bottom: 10px !important;
	}

	.tesla-home-mobile{
		padding-left: 0px !important;
	}

	.plus-mobile {
	  justify-content: end;
	}

	.svce-mobile{
		padding: 25px !important;
	}
	.posicion-mobile-1{
		order: 1;
	}

	.posicion-mobile-2{
		order: 2;
	}

	.cta-canarias-mobile p, 
	.cta-canarias-mobile h2,
	.cta-canarias-mobile .wp-block-buttons{
		max-width: 100% !important;
	}

	.img-animada-home{
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.svce-solares-mobile {
		padding: 5% !important;
	}

	.cover-mobile{
		min-height: 50vh !important;
	}

}

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

	:root {

		--size-900:30px;
		--size-800:28px;
		--size-700:26px;
		--size-650:24px;
		--size-600:22px;
		--size-500:20px;
		--size-400:16px;
		--size-300:16px;
		--size-200:14px;
		--size-100:12px;

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

	.woocommerce.wp-block-group.alignwide{
		flex-direction: column;
	}

	.woocommerce form.woocommerce-cart-form,
	.woocommerce .cart-collaterals{
		width: 100% !important;
	}

	.hover-group .hover-group-base .wp-block-group > *{
		display: none;
	}

	.hover-group .hover-group-content{
	    position: relative;
	    transform: translateY(0);
	    opacity: 1;
	    justify-content: start;
	}

	.underline {
		background-position: right 0 bottom 0px;
	}

	.w-full.p-20.flex.gap-20.product-info{
		flex-direction: column;
	}

	.w-full.p-20.flex.gap-20.product-info > *{
		width: 100%;
		justify-content: center;
		align-items: center;
	}

	.w-full.p-20.flex.gap-20.product-info .ml-auto{
		margin-right: auto;
	}

	.w-33,
	.w-40,
	.w-45,
	.w-50,
	.w-55,
	.w-80,
	.w-66 {
		width: 100%;
		min-width: 100%;
	}

	#landing .close {
		top: 40px;
		right: 40px;
	}

	#landing div[data-step].last .size-900 {
		font-size: 24px;
	}

	#landing .size-800 {
		font-size: 22px;
		line-height: 1.4;
	}

	#landing .size-650 {
		font-size: 18px;
	}

	#landing .size-600 {
		font-size: 17px;
	}

	#landing div[data-step] {
		display: flex;
		align-items: center;
		justify-content: start;
		top: 80px;
	}

	#landing nav {
		flex-wrap: wrap;
	}

	#landing div[data-step].last {
		align-items: flex-start;
		justify-content: flex-start;
		gap: 30px;
	}

	#landing .actions {
		position: static;
	}

	#landing .content .block-3 > div {
		flex-direction: column;
		gap: var(--space-30);
	}

	#landing .content .block-3 > div > figure {
		order: 1;
		margin: 0;
	}

	#landing .content {
		margin-top: calc(100dvh - 40px);
		padding: 60px 0;
	}

	#landing .content .block-3 .w-60 {
		gap: 0;
		min-width: 100%;
	}

	#landing form input[type="submit"] {
		text-indent: -999px;
	}
	
	#landing form input[type="submit"]::after {
		content: '\f095';
		font-family: 'Font Awesome 6 Free';
		font-weight: 900;
	}

	.px-40 {
		padding-left: var(--space-30);
		padding-right: var(--space-30);
	}

	#areas .col-50,
	#areas .col-full {
		min-height: 150px;
	}

	#landing nav {
		justify-content: space-around;
		align-items: flex-start;
		gap: 10px;
	}

	#landing div[data-step] {
		height: 100%;
	}

	#landing div[data-step].last {
		height: calc(100% - 100px);
		gap: 20px;
	}

	#landing div[data-step].last .size-900 {
		font-size: 30px;
		line-height: 1.3;
	}

	#landing div[data-step].last .list {
		flex-direction: column;
		gap: 20px;
	}

	#landing nav a {
		width: calc(50% - 5px);
	}

	#landing[data-step="1"] nav a span {
		text-align: center;
	}
	 
	#landing nav a figure, #landing[data-step="1"] nav a:nth-child(2) figure, #landing[data-step="1"] nav a:nth-child(3) figure {
		max-width: 130px;
		width: 130px;
	}

	#landing nav a figure img {
		width: 130px;
		max-width: 130px;
	}

	#landing nav a {
		aspect-ratio: auto;
	}

	#landing .steps {
		padding-bottom: 0;
		transform: none;
		left: 20px;
		bottom: 20px;
	}

	#landing .savings {
		width: 90%;
		padding: 0;
		transform: none;
		bottom: 50px;
		left: 20px;
	}

	#landing .wrapper {
		top: 20px;
		right: 20px;
		left: 20px;
		bottom: 20px;
	}

	#landing .center {
		top: 100px;
		left: 50%;
		transform: translate(-50%, 0%);
	}

	#landing .help {
		width: fit-content;
		right: 0;
	}

	#landing .help span {
		font-size: 13px;
		display: none;
	}
	
	#landing .help .mouse {
		border-radius: 5px;
		transform: rotate(180deg);
	}
	
	#landing .help .mouse::before {
		height: 5px;
	}

	#landing .estimate {
		display: none;
	}

	#landing #logo,
	#landing #claim {
		width: 100px;
		height: auto;
	}

	#landing .header .close {
		font-size: 35px;
	}

	#landing .states,
	#landing .provinces {
		padding: 0;
	}

	#landing form span.flex {
		width: 100%;
	}

	#landing form p.text-center,
	#landing form input {
		text-align: start;
	}

	#landing form .flex {
		width: 100%;
	}

	#landing form button span {
		display: none;
	}

	#landing form button i {
		display: block;
		font-size: 22px;
		transform: rotate(-16deg);
		animation: shake 0.8s cubic-bezier(.36, .07, .19, .97) both;
	}

	@keyframes shake {
		10%,
		90% {
			transform: translate3d(-1px, 0, 0);
		}

		20%,
		80% {
			transform: translate3d(2px, 0, 0);
		}

		30%,
		50%,
		70% {
			transform: translate3d(-4px, 0, 0);
		}

		40%,
		60% {
			transform: translate3d(4px, 0, 0);
		}

	}

	#landing .last .actions {
		flex-direction: column;
	}

	#landing .last .actions > div {
		justify-content: flex-start;
		align-items: flex-start;
	}

	#landing .last .actions .text-center {
		text-align: start;
	}

	#spain-map,
	.estimate {
		width: 100%;
	}

	#tesla .grid .products {
		flex-direction: column;
	}

	.min-w-500 {
		width: 80%;
		min-width: 90%;
	}

	#service .grid {
		display: flex;
		flex-direction: column;
	}

	#service .grid > figure {
		order: 1;
	}

	#provinces .block-1 > div {
		grid-template-columns: 1fr 1fr;
	}

	#news .intro {
		flex-direction: column;
		gap: 30px;
		justify-content: flex-start;
		align-items: flex-start;
	}

	#news .intro a {
		margin-left: auto;
	}

	.call {
		width: 100%;
		height: 270px;
		padding-inline: 20px;
		transform: translate(-50%, 217px);
	}

	.call > div {
		width: 100%;
		flex-direction: column;
		gap: 10px;
	}

	.call form {
		min-width: 100%;
	}

	.call input[type="text"],
	.call button {
		height: 50px;
	}

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

	#header #logo {
		width: 100px;
	}

	#open-landing {
		width: 50px;
		height: 70px;
	}

	.sun svg {
		width: 30px;
		height: 30px;
	}

	#areas .col-50,
	#areas .col-full {
		grid-column: 1 / -1;
	}

	.px-30 .block-1 {
		padding-inline: 0;
	}

	#tesla .grid .info {
		padding-top: var(--space-80);
	}

	#tesla .grid .info figure.panels {
		width: 100%;
	}

	#big_cta .bg-secondary,
	#requirement .bg-soft {
		padding-inline: var(--space-30);
	}

	#service .p-120 {
		padding-block: var(--space-70);
		padding-inline: var(--space-30);
	}

	#panel .specs {
		padding-inline: var(--space-30);
	}

	#panel .specs > div {
		grid-template-columns: 100%;
	}

	#requirement .list p::before {
		top: 1px;
	}

	#call > div.w-fit.flex.bg-white.relative{
		flex-direction: column;
	}

	/* Producto */

	.product .small_hero {
		height: 220px;
	}

	.product .small_hero .block-2{
		flex-direction: column;
	}
	
	.product .small_hero .block-2 img{
		width: 80%;
		height: auto;
		margin-top: 20px;
	}
	
	.product #product #add-popup .swiper-slide{
		flex-direction: column;
	}
	
	.product #product > article > div.flex {
		flex-direction: column;
		padding: 0 20px;
		margin-bottom: 50px;
	}

	.product #product .tabs p {
		font-size: var(--size-100);
	}

	.product #product #add-popup.active {
		opacity: 1;
		pointer-events: all;
		bottom: auto;
	}

	.product #product #add-popup .block-3.relative {
		height: 100dvh;
		overflow-y: scroll;
	
	.product #product #add-popup .confi-body {
		min-height: auto;
	}

	.popup-content {
		position: absolute;
		top: 0;
		left: 0;
		transform: translate(0,0);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		background-color: white;
		padding: 75px 20px;
		max-width: revert;
		gap: 50px;
	}

	.popup-content .popup-column-rigth {
		width: auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 50px;
	}

	.mobile-group {
		aspect-ratio: auto;
		min-height: unset;
		height: 25vh;
	}

}

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

	:root {
		--size-950:45px;
		--size-900:45px;
		--size-800:26px;
		--size-700:24px;
		--size-650:22px;
		--size-600:20px;
		--size-500:16px;
		--size-400:15px;
		--size-300:15px;
		--space-200:60px;
		--space-180:60px;
		--space-170:60px;
		--space-150:60px;
		--space-140:60px;
		--space-130:60px;
		--space-120:60px;
		--space-100:60px;
		--space-90:50px;
		--space-80:45px;
		--space-70:40px;
		--space-60:35px;
		--space-50:30px;
		--space-40:25px;
		--space-30:20px;
		--space-25:20px;
		--space-20:20px;
		--space-15:15px;
		--space-10:10px;
		--space-5:5px;
	}

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

	.nav-swiper > .nav{
		height: 50px;
		width: 50px;
		top: calc(50% - 25px);
	}

	.popup .confi-content .content.escritorio {
		display: none;
	}

	.popup .confi-content .content.movil {
		display: block;
	}

	.call {
		height: 290px;
		transform: translate(-50%, 237px);
	}

	.home #hero .youtube-bg {
		display: none;
	}

	.home #hero .responsive-bg {
		display: block;
	}
	
	.home #hero .responsive-bg img {
		opacity: 0.25;
	}

	#landing .options {
		flex-direction: column;
		gap: 20px;
		padding-bottom: 30px;
	}

	#landing .options > span {
		display: none;
	}

	#landing form input {
		width: calc(100% - 62px);
	}

	#landing div[data-step].last .size-900 {
		font-size: 22px;
		line-height: 1.4;
	}

	#landing form button {
		width: fit-content;
	}

	#landing form .reset-lh {
		line-height: 1.1;
	}

	#landing .header .close {
		position: fixed;
		top: 30px;
		right: 20px;
	}

	.big_hero .icon {
		width: 100%;
	}

	.big_hero .icon img {
		height: 40px;
		width: auto;
	}

	.w-40,
	.w-50,
	.w-60,
	.w-70 {
		min-width: 100%;
	}

	.solar-panels #reasons .grid,
	#steps .grid {
		grid-template-columns: 100%;
	}

	#intro .item,
	#intro.cta .item:nth-child(2),
	#requirement .grid,
	#news .grid,
	.solar-panels #reasons .grid {
		grid-template-columns: 100%;
		grid-auto-rows: max-content;
	}

	#intro .item figure.absolute {
		width: 100%;
		position: relative;
	}

	#intro .item > .relative {
		display: none;
	}

	.post #news > div {
		padding: 0;
	}

	.big_hero .block-2 {
		flex-direction: column;
	}

	.solar-system #system figure img {
		min-width: 100px;
		max-width: 110px;
	}


	#provinces .block-1 > div {
		grid-template-columns: 1fr;
	}

	#breadcrumbs {
		margin-bottom: 50px;
	}

	#breadcrumbs::-webkit-scrollbar {
		display: none;
	}

	#footer .block-2 .block-5 {
		padding: 0;
	}

	#footer .block-2 .grid {
		grid-template-columns: 100%;
		justify-content: center;
		align-items: center;
	}

	#footer .brands {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	#footer .block-2 .grid span,
	#footer .block-2 .grid a {
		text-align: center;
	}

	#copy,
	#copy > div:not(.social) {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}

	#copy > .social {
		position: static;
		display: flex;
		gap: 20px;
	}

	#copy > .social a {
		font-size: 20px;
	}

	#copy .links {
		padding-bottom: 50px;
		position: relative;
		flex-direction: column;
	}

	#footer #copy .links span:not(:last-of-type)::after {
		display: none;
	}
	
	#copy .links #neobrand {
		transform: translateX(-50%);
		position: absolute;
		bottom: 10px;
		left: 50%;
	}

	.edit-post {
		display: none;
	}

	.espacio-seccion-responsive-tesla {
	  padding: 15px !important;
	  gap: 15px !important;
	}

	.producto-tesla-responsive img {
		width: 335px !important;
		height: 335px !important;
		object-fit: contain !important;
	}

	.img-tesla-responsive img{
		object-fit: contain !important;
	}

	.img-tesla img{
		width: auto !important;
	}

	.h2-tesla, .h3-tesla{
		font-size: 26px !important;
	}

	.elementos-byd{
		flex-direction: column;
	}

	.titulo-byd{
		font-size: 24px !important;
	}

	.byd-p{
		font-size: 14px !important;
	}

	.h3-byd{
		font-size: 15px !important;
	}

	.h2-landing {
		font-size: 40px !important;
	}

	.h2-number {
		width: 25%;
	}

}

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

	.content .wp-container-core-group-is-layout-2,
	.content .wp-container-core-group-is-layout-4 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.flex-col-4 > *,
	.is-layout-grid.wp-block-group-is-layout-grid > * {
		width: 100%;
	}

	#checkout .block-3 .w-66{
		gap: 10px;
	}

	#checkout .block-3 > div{
		padding: 0;
	}

	#checkout .block-3 > div input, #checkout .block-3 > div span.select2{
		grid-column: 1 / -1;
		height: auto;
	}
	
	#checkout .payment-methods{
		grid-template-columns: repeat(1, 1fr);
	}

}

@media screen and (max-height:990px) {

	#landing .last .title {
		font-size: 38px;
	}

	#landing .last .list div p {
		font-size: 22px;
	}

	#landing div[data-step].last {
		gap: 30px;
	}
	
}