.popup-btn-container {
    margin-top: 0;
    text-align: center;
    position: absolute;
    z-index: 9;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    background: transparent;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.external-popup-btn {
	width: 50%;
    display: inline-block;
    background-color: #e5091400;
    color: white !important;
    padding: 8px 16px;
    border-radius: 0;
    font-weight: bold;
    text-decoration: none;
    transition: background-color 0.3s ease;
    background-image: none;
    box-shadow: none;
    height: 120px;
}

form#stepper-form {
    height: 100%;
    display: flex;
    align-content: center;
    align-items: center;
}
			.mfp-container {
                 display: flex !important;
                 align-items: center;
                 justify-content: center;
                 padding: 0 !important;
             }

			#video-popup-container {
    			overflow: hidden!important;
			}



             #video-popup-container {
                 max-width: 90%;
                 max-height: 90vh;
                 overflow: auto;
                 background-color: #000;
                 padding: 1rem;
                 border-radius: 8px;
                 box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
             }

             #video-popup-container video {
                 width: 100%;
                 height: auto;
                 max-height: 80vh;
                 display: block;
                 margin: 0 auto;
                 border-radius: 6px;
             }


             .mfp-content {
                 display: flex;
                 justify-content: center;
                 align-items: center;
             }

             .mfp-bg {
                 background: rgba(0, 0, 0, 0.85);
             }


             .category-box.active {
                 border: 2px solid #00f;
             }

             .icon_vg {
                 width: 50px;
                 height: 50px;
                 background-image: linear-gradient(195deg, #42424a, #191919);
                 box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .14), 0 7px 10px -5px rgba(64, 64, 64, .4) !important;
                 color: #fff;
                 border-radius: 7px;
                 display: flex;
                 align-items: center;
                 justify-content: center;
                 font-size: 30px;
                 font-weight: 500;
                 position: absolute;
                 top: -20px;
                 left: 20px;
             }

             .service-box p {
                 padding-top: 0;
                 margin-bottom: 0px;
                 margin: 35px 20px -10px 20px;
             }

             .block-finder__image {
                 opacity: 1;
                 background-size: cover;
                 background-position: center 0px;
                 z-index: 1;
                 background-repeat: no-repeat;
                 min-width: 100%;
    			 min-height: 100%;
    			 position: absolute;
             }
.block-finder__title {
    color: #fff;
    text-align: center;
}
.step h2{text-align: center;}
.text-bold {
    text-transform: uppercase;
    font-size: 21px;
    font-weight: 500;
    text-shadow: 1px 1px 2px rgb(0 0 0);
 text-align: center;
}
.service-box i{    color: #fff!important}
.block-features__item-subtitle {
    color: #6c757d;
    font-size: 15px;
 	text-align: center;
}
.mfp-figure figcaption{display: none !important;}
img.mfp-img {cursor: auto;}


.p-4 {
    padding: 1.5rem !important;
}
.move_left {
    color: #fff !important;
}
.scheme_default ul>li:before {
    color: #ffffff;
}
.block-finder__title {
    text-transform: uppercase;
    font-size: 34px;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .2);
    margin: 0;
}
             .step h2 {
                 color: #fff;
                 padding-top: 0px;
                 font-size: 17px;
                 font-weight: 500;
                 text-shadow: 0 1px 3px rgba(0, 0, 0, .2);
             }

             .block-finder {
                position: relative;
    			left: 50%;
    			right: 50%;
    			margin-left: -50vw;
    			margin-right: -50vw;
    			width: 100vw;
    			min-width: 100vw;
    			display: flex;
    			align-items: center;
    			justify-content: center;
    			min-height: 937px !important;
    			padding: 0;
    			z-index: 9;
             }

             .scroll-container {
                 width: 100%;
                 height: 100%;
                 position: relative;
                 min-height: 700px;
             }

             .parallax-layer {
                 position: absolute;
                 height: 100%;
                 width: 300%;
                 top: 0;
                 left: 0;
                 transition: transform 0.5s ease;
             }

             .bg-image {
                 width: 33.33%;
                 height: 100%;
                 object-fit: cover;
                 float: left;
             }

             #layer1 {
                 z-index: 1;
             }


             .interactive-layer {
                 position: absolute;
                 top: 0;
                 left: 0;
                 width: 100%;
                 height: 100%;
                 z-index: 4;
                 display: flex;
                 justify-content: center;
                 align-items: center;
                 display: flex;
                 justify-content: center;
                 align-items: flex-start;

             }

             .stepper-box {
                 background-color: rgb(255 255 255 / 0%);
                 backdrop-filter: blur(10px);
                 padding: 40px;
                 border-radius: 3px;
                 height: 100%;
             }

             .category-box:not(:last-child) {
                 margin-right: 15px;
             }

             .step {
                 display: none;
                 zoom: 90%;
             }

             .step.active {
                 display: block;
             margin-top: -240px;
             }

             h2 {
                 color: white;
                 margin-bottom: 20px;
             }

             input {
                 width: 100%;
                 padding: 10px;
                 margin-bottom: 20px;
                 background-color: rgba(255, 255, 255, 0.1);
                 border: 1px solid rgba(255, 255, 255, 0.3);
                 color: white;
             }

             button {
                 padding: 7px 20px;
                 background-color: rgb(255 0 0);
                 color: white;
                 border: none;
                 cursor: pointer;
                 margin-right: 10px;
                 border-radius: 5PX;
                 width: 110px;
                 color: #fff;
                 border-color: #ed1d24;
                 background-color: #ff0000;
                 box-shadow: 0 4px 6px rgba(50, 50, 93, .11), 0 1px 3px rgba(0, 0, 0, .08);
             }

             button:hover {
                 background-color: rgba(0, 0, 0, 0.784);
             }


             .category-box {
                 width: 30%;
                 aspect-ratio: 1;
                 background-color: rgba(255, 255, 255, 0.1);
                 border: 0px solid rgba(255, 255, 255, 0.3);
                 border-radius: 5px;
                 display: flex;
                 flex-direction: column;
                 align-items: center;
                 justify-content: center;
                 cursor: pointer;
                 transition: all 0.3s ease;
                 background-image: linear-gradient(358deg, #ffffff, #ffffff17);
                 background-color: #ffffff;
                 border: 2px solid #CCCCCC;
                 color: #FFFFFF;
                 filter: grayscale(1);
                 margin: 5px auto;
                 overflow: hidden;
                 max-height: 200px;
                 max-width: 200px;
             }

             .category-box.invert:hover img {
                 filter: invert(1);
             }

             .category-box:hover {
                 background-color: rgba(255, 255, 255, 0.2);
                 border: 2px solid #ff0000;
                 background-image: linear-gradient(358deg, #000000, #ffffff17);
                 filter: drop-shadow(2px 4px 6px black);
             }

             .category-box.selected {
                 background-color: rgba(255, 255, 255, 0.2);
                 border: 2px solid #ff0000;
                 background-image: linear-gradient(358deg, #000000, #ffffff17);
                 filter: drop-shadow(2px 4px 6px black);
             }

             .category-box img {
                 width: 100%;
                 height: auto;
                 margin-bottom: 10px;
             }

             .category-box span {
                 color: white;
                 font-size: 16px;
             }

             .service-option {
                 display: flex;
                 align-items: center;
                 margin-bottom: 10px;
             }

             .service-option input[type="checkbox"] {
                 margin-right: 10px;
             }

             .service-option label {
                 color: white;
                 font-size: 16px;
             }

             .text-white {
                 color: white;
             }

             .text-bold {
                 text-transform: uppercase;
                 font-size: 21px;
                 font-weight: 500;
                 text-shadow: 1px 1px 2px rgb(0 0 0);
             }

             .service-grid {
                 display: grid;
                 grid-template-columns: repeat(4, 1fr);
                 gap: 30px;
                 margin-bottom: 20px;
                     justify-content: center;
    				display: flex;
    				flex-direction: row;
    				flex-wrap: wrap;
    				align-content: center;
             }

             .service-box {
                 border: 2px solid rgba(255, 255, 255, 0.3);
                 border-radius: 10px;
                 padding: 0px;
                 text-align: left;
             	 white-space: nowrap;
                 cursor: pointer;
                 transition: all 0.3s ease;
                 display: flex;
                 align-content: center;
                 justify-content: flex-start;
                 flex-direction: column;
                 align-items: center;
                 color: #000000;
                 box-shadow: inset 0 12px 16px -4px rgba(12, 26, 36, .04);
                 -webkit-backdrop-filter: blur(13.6px);
                 backdrop-filter: blur(13.6px);
                 background-color: hsla(0, 0%, 100%, .65) !important;
                 position: relative;
                 min-width: 180px;
             }

             .service-box:hover {
                 background-color: rgba(255, 255, 255, 0.2);
                 border: 2px solid rgba(255, 255, 255, 0.3);
                 background-image: linear-gradient(195deg, #ffffff, #e5393500);
             }

             .service-box:hover .icon_vg {
                 background-image: linear-gradient(4deg, #ff0500, #c80905);
             }

             .service-box.active .icon_vg {
                 background-image: linear-gradient(4deg, #ff0500, #c80905);
             }

             .service-box.selected {
                 background-color: rgba(255, 255, 255, 0.3);
                 border-color: rgba(255, 255, 255, 0.8);
             }


             #summary {
                 margin-bottom: 20px;
                 display: flex;
                 flex-direction: column;
                 text-align: justify;
             	 padding-left: 120px;
                 margin-top: 20px;
             }

             .service-box.active::before {
                 content: '';
                 position: absolute;
                 bottom: -20px;
                 left: 50%;
                 transform: translateX(-50%);
                 height: 20px;
                 border-left: 1px dashed #fff;
                 z-index: 1;
             }

             .service-box.active::after {
                 content: '';
                 position: absolute;
                 width: 6px;
                 height: 6px;
                 border-radius: 50%;
                 background-color: #ff0000;
                 left: 50%;
                 transform: translateX(-50%);
                 bottom: -20px;
                 z-index: 2;
             }

             .linea-punto-inferior {
                 position: absolute;
                 top: 0;
                 left: 50%;
                 transform: translateX(-50%);
                 width: 6px;
                 height: 6px;
                 background-color: #ff0000;
                 border-radius: 50%;
                 z-index: 2;
             }

             .service-grid {
                 position: relative;
             }

             .linea-conexion {
                 position: absolute;
                 bottom: -20px;
                 left: 0;
                 width: 100%;
                 height: 1px;
                 border-bottom: 1px dashed #fff;
                 display: none!important;
                 z-index: 1;
             }

             .service-box.active~.linea-conexion {
                 display: block;
             }

             #calendar-container,
             #time-slots {
                 background-color: rgba(255, 255, 255, 0.1);
                 padding: 20px;
                 border-radius: 10px;
                 margin-bottom: 20px;
             }

             #calendar-header {
                 display: flex;
                 justify-content: space-between;
                 align-items: center;
                 margin-bottom: 10px;
             }

             #calendar {
                 display: grid;
                 grid-template-columns: repeat(7, 1fr);
                 gap: 5px;
             }

             .calendar-day {
                 padding: 10px;
                 text-align: center;
                 background-color: rgba(255, 255, 255, 0.2);
                 cursor: pointer;
             }

             .calendar-day:hover {
                 background-color: rgba(255, 255, 255, 0.3);
             }

             .calendar-day.selected {
                 background-color: rgba(255, 255, 255, 0.5);
             }

             .calendar-day.disabled {
                 opacity: 0.5;
                 cursor: not-allowed;
             }


             .calendar-day.weekend {
                 opacity: 0.5;
                 cursor: not-allowed;
             }

             #time-slots-container {
                 display: grid;
                 grid-template-columns: repeat(4, 1fr);
                 gap: 10px;
             }

             .time-slot {
                 padding: 10px;
                 text-align: center;
                 background-color: rgba(255, 255, 255, 0.2);
                 cursor: pointer;
             }

             .time-slot:hover {
                 background-color: rgba(255, 255, 255, 0.3);
             }

             .time-slot.selected {
                 background-color: rgba(255, 255, 255, 0.5);
             }

             .block-finder__title {
                 color: #fff;
             }

             .css-2hb8f {
                 flex-shrink: 0;
                 border-top: 0px solid rgba(0, 0, 0, 0.12);
                 border-right: 0px solid rgba(0, 0, 0, 0.12);
                 border-left: 0px solid rgba(0, 0, 0, 0.12);
                 background-color: transparent;
                 height: 0.0625rem;
                 margin: 1rem 0px;
                 border-bottom: none;
                 opacity: 0.25;
                 background-image: linear-gradient(to right, rgba(52, 71, 103, 0), rgba(52, 71, 103, 0.4), rgba(52, 71, 103, 0)) !important;
                 width: 100%;
             }

             .tree,
             .tree ul {
                 margin: 0;
                 padding: 0;
                 list-style: none;
                 color: rgb(255, 255, 255);
                 position: relative;
             }

             .tree ul {
                 margin-left: .5em
             }

             .tree:before,
             .tree ul:before {
                 content: "";
                 display: block;
                 width: 0;
                 position: absolute;
                 top: 0;
                 bottom: 0;
                 left: 0;
                 border-left: 1px dashed;
             }

             .tree li {
                 margin: 0;
                 padding: 0 1.5em;
                 line-height: 2em;
                 position: relative;
             }

             .tree li:before {
                 content: "";
                 display: block;
                 width: 10px;
                 height: 0;
                 border-top: 1px solid;
                 margin-top: -1px;
                 position: absolute;
                 top: 1em;
                 left: 0;
             }

             .tree li:last-child:before {
                 background: white;
                 height: auto;
                 top: 1em;
                 bottom: 0;
             }

             .move_left {
                 color: #fff;
             }

             .move_left:after {
                 content: '';
                 position: relative;
                 height: 2px;
                 width: 30px;
                 display: block;
                 margin: 0 auto;
                 margin-top: 0;
                 -webkit-transition: all 0.2s ease-out;
                 transition: all 0.2s ease-out;
                 z-index: 1;
                 -webkit-backface-visibility: hidden;
                 background-color: #cd2122;
                 margin-left: 0;
                 margin-bottom: 10px;
             }

             .move_left:hover:after {
                 width: 80px;
             }

             div#category-container {
                 display: flex;
             }

             .category-selection.category-boxes.grid-layout {
                 display: flex;
             }

             @media (max-width: 815px) {
             	.stepper-box {
    				min-width: 340px;
				}
             
             	div#summary-step3 {
    				margin-left: 0 !important;
				}
             	.tree:before, .tree ul:before {
				    left: -12px;
				}
             
             	.block-finder {
       				height: auto;
    				overflow: visible;
    				display: flex;
    				align-items: flex-start;
                    min-height: 937px !important;
				}
             
             	form#stepper-form {
				    align-items: flex-start;
				}
            	 .step.active {
				    margin-top: 50px;
				}
             	#summary {
                    padding-left: 0px!important;
                    margin-left: -28px;
            	 }
                 .category-selection.category-boxes.grid-layout {
                     grid-template-columns: repeat(3, 1fr);
                     gap: 18px;
                     flex-wrap: wrap;
                     gap: 0rem;
                     display: flex;
                     justify-content: center;

                 }

                 .category-box.card.p-3 {
                     min-width: 130px;
                     margin: 1px;
                     padding: 1rem;
                     box-sizing: border-box;
                     text-align: center;
                     min-height: 130px;
                 }

                 .category-box {
                     aspect-ratio: 0;
                 }

                 .justify-content-around {
                     -ms-flex-pack: distribute !important;
                     justify-content: space-between;
                     display: flex !important;
                     flex-wrap: wrap;
                     gap: 1rem;
                     align-content: space-between;
                     align-items: stretch;
                 }

                 .css-2hb8f {
                     display: none;
                 }

                 .service-box {
                     width: 100%;
                     height: 35px;
                     align-items: flex-start;
                 }

                 .service-box p {
                     padding-top: 0;
                     margin-bottom: 0px;
                     margin: 5px 20px 0px 82px;
                 }

                 .text-muted {
                     height: 120vh;
                 }

                 .service-box.active::after {
                     content: '';
                     position: absolute;
                     width: 10px;
                     height: 10px;
                     border-radius: 50%;
                     background-color: #ff0000;
                     transform: translateX(-50%);
                     bottom: 15px;
                     z-index: 2;
                     left: auto;
                 	margin-left: -13px;
                 }

                 .service-box.active::before {
                    content: '';
        			position: absolute;
        			bottom: 14px;
			        transform: translateY(100%);
        			height: 31vh;
       				border-left: 1px dashed #fff;
       				z-index: 1;
       				left: auto;
                         margin-left: -14px;
                 }

                 .linea-conexion {
                     width: 102%;
                 }

             }