@import url("https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/plus-jakarta-display.min.css");


/*
========================
GOBAL CSS START
========================
*/

body {	
    font-family: 'Plus Jakarta Display', sans-serif;
    font-size: 16px;
    font-weight: 400;    
	background: #fff;
	color: #333333;	
}

:root {
    --selection-bg: #0078d7;
    --selection-color: #fff;
    --scroll-top-bg: #0078d7;
    --scroll-top-color: #fff;
}

html,
body,
header,
footer,
main,
nav,
section,
div,
menu,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
strong,
i,
ol,
ul,
li,
form,
label,
button {
    margin: 0;
    padding: 0;
}

ol,
ul {
    list-style: none;
}

button:focus,
a:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none;
}

a {
    text-decoration: none;
    color: inherit;
    transition: 0.2s all ease;
    -webkit-transition: 0.2s all ease;
    -moz-transition: 0.2s all ease;
}

a:visited,
a:hover,
a:active {
    text-decoration: none;
}

img {
    max-width: 100%;
}

::selection {
    color: var(--selection-color);
    background: var(--selection-bg);
}

::-webkit-selection {
    color: var(--selection-color);
    background: var(--selection-bg);
}

::-moz-selection {
    color: var(--selection-color);
    background: var(--selection-bg);
}

.scrolltotop {
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    background: var(--scroll-top-bg);
    text-align: center;
    font-size: 22px;
    color: var(--scroll-top-color);
    position: fixed;
    right: 30px;
    bottom: 25px;
    display: none;
    animation: lab_top_up 5s linear infinite;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    z-index: 999;
}

.scrolltotop img {
    width: 14px;
    margin-top: -4px;
}

@keyframes lab_top_up {
    0% {
        transform: translateY(-15px);
    }
    50% {
        transform: translateY(0px);
    }
    100% {
        transform: translateY(-15px);
    }
}

.pluse,
.pluse2 {
    position: relative;
    top: 10px;
    left: -7px;
    z-index: -1;
}

.pluse::before,
.pluse2::before {
    width: 40px;
    height: 40px;
}

.pluse::after,
.pluse::before,
.pluse2::after,
.pluse2::before {
    background: var(--scroll-top-bg);
    border-radius: 50%;
    left: 50%;
    top: 50%;
    display: block;
    content: "";
    position: absolute;
    top: 4px;
    left: -1px;
}

.pluse::after,
.pluse2::after {
    width: 30px;
    height: 30px;
    background: transparent;
    margin-left: -15px;
    margin-top: -15px;
}

.pluse::before {
    -webkit-animation: pluse_animate 2.5s infinite linear;
    animation: pluse_animate 2.5s infinite linear;
}

.pluse2::before {
    -webkit-animation: pluse_animate 3s infinite linear;
    animation: pluse_animate 3s infinite linear;
}

@keyframes pluse_animate {
    0% {
        opacity: 1;
        -webkit-transform: translate(-50%, -50%) scale(0.3);
        transform: translate(-50%, -50%) scale(0.3);
    }
    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(2);
        transform: translate(-50%, -50%) scale(2);
    }
}


.action-btn {
    border: none;
    padding: 11px 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(0deg, #3fb761 0%, #7abd42 100%);
    font-weight: 700;
    color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: 70px;
    border: 2px solid #fff;
    box-shadow: rgba(0, 0, 0, 0.45) 12px 23px 16px -20px;
    z-index: 2;
 }

.action-btn::after {
	content: '';
	position: absolute;
	width: 0%;
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-100%);
	background: #000;
	z-index: -1;
	transition: 0.4s all ease;
	-webkit-transition: 0.4s all ease;
	-moz-transition: 0.4s all ease;
}

.action-btn::before {
	content: '';
	position: absolute;
	width: 0%;
	height: 100%;
	top: 0;
	right: 51%;
	transform: translateX(100%);
	background: #000;
	z-index: -1;
	transition: 0.4s all ease;
	-webkit-transition: 0.4s all ease;
	-moz-transition: 0.4s all ease;
}

.action-btn:hover::before {
	width: 60%;
}
.action-btn:hover::after {
	width: 60%;
}

.hero-action-btn {
	text-align: center;
}





/*===============
 GOBAL CSS END  
 ============== */

/*============= hero area style start hare =========== */

.hero-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100dvh;
    padding-block: 20px;
}
.hero-wrapper {
    display: flex;
    flex-direction: column;
   align-items: center;
   justify-content: center;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 56px;
    padding-top: 100px;
    padding-bottom: 40px;
    border-radius: 30px;
}

.hero-content-block {
    display: flex;
    flex-direction: column;
    gap: 70px;
}
.side-logo a {
    display: flex;
    max-width: 700px;
}

.hero-content h4 {
    font-size: 60px;
    letter-spacing: -2px;
    line-height: 1.05;
    color: #43454b;
    font-weight: 700;
}
.hero-content p {
    max-width: 624px;
    font-size: 25px;
    line-height: 1.4;
    color: #2c2e35;
    font-weight: 300;
}

.hero-action-btn a {
    font-size: 77px;
    letter-spacing: -2px;
    line-height: 1.077;
    color: #ffffff;
    font-weight: 700;
}
.hero-copyright {
    font-size: 15px;
    color: #818387;
    font-weight: 300;
    text-align: center;
}



/*========== page two start hare ============ */


.disponibilidad-one {
    padding-block: 40px;
}
.disponibillided-wrapper {
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 56px;
    padding-top: 100px;
    padding-bottom: 40px;
    border-radius: 30px;
    padding-inline: 80px;
}

.dispon-left-card {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding-right: 40px;
}
.dispon-left-card .dispon-top {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.dispon-top h4 {
    font-size: 60px;
    letter-spacing: -2px;
    line-height: 100%;
    color: #43454b;
    font-weight: bold;
}

.dispon-top .logo {
	max-width: 180px;
}
.dispon-top p {
    max-width: 922px;
    font-size: 23px;
    line-height: 1.34;
    color: #2c2e35;
    font-weight: 300;
}

.dispon-left-card .divider {
    height: 1px;
    background: #ddd;
}

.selection-header {
    display: flex;
    align-items: center;
    gap: 20px;
}
.selection-header .serial {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #919396;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    letter-spacing: -1px;
    color: #999a9d;
    font-weight: 700;
    text-align: center;
}

.section-names p {
    font-size: 17px;
    letter-spacing: 0px;
    color: #999a9d;
    font-weight: 300;
}
.section-names p span {
    font-size: 21px;
    font-weight: 700;
    color: #333740;
    padding-left: 10px;
}

.selection-options {
    display: flex;
    align-items: center;
    gap: 20px 10px;
    flex-wrap: wrap;
}
.selection-options .single-option {
    padding: 10px 8px;
    position: relative;
    background-image: linear-gradient(0deg, #ffffff 27%, #c4c4c4 100%);
    font-size: 18px;
    color: #9d9ea1;
    font-weight: 300;
}
.single-option input {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
.selection-options .single-option::before,
.selection-options .single-option::after {
    display: none !important;
}
.single-option.action-btn.active {
    background-image: linear-gradient(0deg, #3fb761 0%, #7abd42 100%);
    color: #fff;
}

.selection-block {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.select-area-overview {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.unidad-overview-item {
    display: flex;
    align-items: center;
    gap: 10px;
}
.unidad-overview-item .area-color {
    width: 23px;
    height: 22px;
    border-radius: 50%;
}
.unidad-overview-item .info-txt {
    font-size: 16px;
    letter-spacing: 0px;
    color: #999a9d;
    font-weight: 300;
}

.green-area .area-color {
    background-image: linear-gradient(180deg, #5ebb58 13%, #225c1d 100%);
}
.yellow-area .area-color {
    background-image: linear-gradient(180deg, #fff100 0%, #b5aa00 100%);
}
.red-area .area-color {
    background-image: linear-gradient(0deg, #ac182b 0%, #ec1c24 100%);
}
.blue-area .area-color {
    background-image: linear-gradient(0deg, #0089bc 0%, #00adee 100%);
}



/*========= dispon sidebar style ====== */

.dispon-sidebar {
    padding: 30px 20px;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 4px 16px, rgba(17, 17, 26, 0.1) 0px 8px 24px, rgba(17, 17, 26, 0.1) 0px 16px 56px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.select-plan-card {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 10px;
    border-radius: 27px;
    background-color: #fefefe;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
    overflow: hidden;
    padding-right: 0;
}
.plan-list {
    flex: 1;
}
.plan-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}
.plan-list li .plan-serial {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: #57585a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: 0px;
    line-height: 26px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
}
.plan-list li span {
    font-size: 17px;
    letter-spacing: 0px;
    color: #595b61;
    font-weight: bold;
}

.select-plan-btn {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #EEEFEF;
}
.select-plan-btn button {
    background: linear-gradient(180deg, #fefefe 23%, #e3e4e5 97%);
    border: none;
    width: 60px;
    height: 28px;
    color: #878787;
    font-size: 18px;
}

.revisa-table {
    width: 100%;
}
.revisa-table th,
.revisa-table td {
    width: 50%;
    border-right: 2px solid #fff;
    text-align: center;
}
.revisa-table th input,
.revisa-table td input {
    width: 100%;
    border: none;
    background: transparent;
    height: 100%;
    text-align: center;
}
.revisa-table th:last-child,
.revisa-table td:last-child {
    border: none;
} 
.revisa-table th {
    background-color: #7ac584;
    
}
.revisa-table th h2 {
    font-size: 19px;
    color: #1e3822;
    font-weight: 800;
    text-align: left;
    padding-left: 20px;
    display: inline-block;
    line-height: 100%;
    position: relative;
}
.revisa-table th h2::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 7px;
    background: #1e3822;
}
.revisa-table-area {
	width: 100%;
}
.revisa-table th input {
    font-size: 33px;
    color: #234027;
    font-weight: 800;
}
.revisa-table th:first-child {
    border-top-left-radius: 25px;
}
.revisa-table th:last-child {
    border-top-right-radius: 25px;
}
.revisa-table td {
    padding: 0 5px;
}
.revisa-table td p {
    display: inline-block;
    padding-left: 20px;
    text-align: left;
    font-size: 19px;
    color: #1e3822;
    font-weight: 300;
    min-width: 115px;
    position: relative;
}
.revisa-table td h4 {
    font-size: 19px;
    color: #1e3822;
    font-weight: 800;
    display: inline-block;
    padding-left: 18px;
    position: relative;
    min-width: 115px;
}

.revisa-table td p::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 13px;
    background: #1e3822;
}
.revisa-table td h4::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 9px;
    background: #1e3822;
}
.revisa-table td input {
    font-size: 25px;
    color: #57595e;
    font-weight: 300;
}
.revisa-table td.total-price input {
    font-weight: 800;
}
.revisa-table tbody tr:nth-of-type(even) td {
    background: #f4f5f5;
}
.revisa-table tbody tr:nth-of-type(odd) td {
    background: #dbdcdd;
}

.revisa-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 25px;
}
.revisa-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 25px;
}

.revisa-3d-view {
	padding-block: 15px;

}

.selection-actions .action-btn {
    font-size: 32px;
    letter-spacing: -1px;
    line-height: 1.09;
    color: #ffffff;
    font-weight: bold;
    width: 289px;
    max-width: 100%;
    height: 75px;
    margin-inline: auto;
}



/*============ Popup Style =========== */

.ApartarPop .modal-dialog {
    max-width: 560px;
    opacity: 0.91;
}

.ApartarPop .modal-header {
    border: none;
    max-width: 445px;
    margin-inline: auto;
    width: 100%;
}
.modal-title img {
	max-width: 47px;
}

.apartar-top-content {
    max-width: 405px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.apartar-top-content h4 {
    font-size: 36px;
    letter-spacing: -1px;
    line-height: 39px;
    color: #43454b;
    max-width: 280px;
}
.apartar-top-content p {
    max-width: 359px;
    font-size: 15px;
    line-height: 1.4;
    color: #2c2e35;
    font-weight: 300;
}

.single-input {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.single-input label {
    font-size: 12px;
    color: #9b9c9f;
    font-weight: 300;
}
.single-input label span {
    font-weight: 500;
}
.single-input input {
    border-radius: 10px;
    border: 1px solid #b8b1b1;
    padding: 5px;
}

.apartar-top-content .resumen-text {
    font-size: 18px;
    letter-spacing: -1px;
    color: #43454b;
    font-weight: bold;
}

.resume-pop-card {
    margin-top: 15px;
    display: flex;
}

.resume-pop-card .revisa-table-area {
	display: flex;
	align-items: center;
	gap: 50px;
	padding: 10px;
	border-radius: 20px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.resume-pop-card .revisa-table {
	flex: 1;
}

.resume-pop-card .revisa-3d-view {
	flex: 1;
	border: none;
	padding: 0;
}


.resume-pop-card .revisa-table th h2 {
	font-size: 14px;
}

.resume-pop-card .revisa-table td p {
	padding-left: 16px;
	font-size: 15px;
	min-width: 95px;
}

.resume-pop-card .revisa-table td h4 {
	font-size: 14px;
	padding-left: 8px;
	min-width: 94px;
}

.resume-pop-card .revisa-table th input {
	font-size: 22px;
}

.resume-pop-card .revisa-table td input {
	font-size: 18px;
}
.resume-pop-card .revisa-table td input {
	font-size: 14px;
}

.resume-pop-card .revisa-table td p::before {
	width: 6px;
	height: 6px;
	top: 11px;
}

.resume-pop-card .revisa-table td h4::before {
	width: 6px;
	height: 6px;
	top: 7px;
}
.resume-pop-card .selected-plan {
    display: flex;
    align-items: center;
    gap: 10px;
}
.selected-plan .plan-serial {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #57585a;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	letter-spacing: 0px;
	line-height: 26px;
	color: #ffffff;
	font-weight: 700;
	text-align: center;
}
.selected-plan span {
    font-size: 12px;
    color: #595b61;
    font-weight: bold;
}

.total-pager-card {
    padding-block: 20px;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 20px;
    border-bottom: 1px solid #ddd;
}

.total-pager-info h4 {
    font-size: 18px;
    color: #2c2e35;
    font-weight: bold;
    text-align: right;
}
.total-pager-info p {
    font-size: 12px;
    text-align: right;
    font-weight: 300;
}

.total-pager-value {
    font-size: 23px;
    letter-spacing: -1px;
    color: #2c2e35;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 5px;
    line-height: 100%;
}
.total-pager-value span {
    font-size: 13px;
    margin-top: auto;
    line-height: 100%;
}

.apartar-pop-actions {
    padding-block: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-bottom: 50px;
}

.beck-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}
.beck-button span {
    font-size: 10px;
    color: #9b9c9f;
    font-weight: 300;
}
.beck-button button {
    width: 55px;
    height: 45px;
    border-radius: 23px;
    background-image: linear-gradient(0deg, #ffffff 5%, #c4c4c4 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    font-size: 32px;
    color: #999B9E;
}

.confirm-btn button {
    font-size: 27px;
    letter-spacing: -1px;
    color: #ffffff;
    font-weight: bold;
}

#ApartarPop .modal-content {
	border-radius: 25px;
}

.section-names {
	flex: 1;
}


.not-selected h2 {
    font-size: 60px;
    letter-spacing: -2px;
    color: #e6e6e7;
    font-weight: bold;
    text-align: center;
}

.selection-options.flex-fill {
    min-height: 400px;
}



/*============== page 5 start hare ========= */

.exit-image img {
    max-width: 440px;
}
.exit-image {
	padding-top: 20px;
}

.gracias-block {
    display: flex;
    align-items: center;
    gap: 40px;
}
.gracias-block h4 {
    font-size: 50px;
    letter-spacing: -1px;
    line-height: 1.3;
    color: #43454b;
    font-weight: bold;
}

.gracias-content {
    display: flex;
    align-items: center;
    gap: 20px;
}
.gracias-content .icon {
    max-width: 42px;
}
.gracias-content p {
    font-size: 17px;
    color: #818387;
    font-weight: 300;
}

.gracias-bottom p {
    max-width: 770px;
    font-size: 28px;
    line-height: 33px;
    color: #2c2e35;
    font-weight: 300;
}
.gracias-bottom p span {
    margin-top: 20px;
    display: block;
    font-style: italic;
}




.order-purchase-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.order-purchase-card h4 {
    font-size: 21px;
    color: #707176;
    font-weight: bold;
    text-align: center;
}

.order-purchase-card .user-name {
    border-radius: 20px;
    padding: 20px;
    border: 1px solid #ddd;
    width: 100%;
}
.order-purchase-card .user-name p {
    font-size: 30px;
    line-height: 1.03;
    color: #707176;
    font-weight: bold;
    text-align: center;
}

.purchase-plan {
    padding: 10px;
    border-radius: 10px;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    gap: 20px;
}
.purchase-plan .plan-serial {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: #57585a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: 0px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
}
.purchase-plan span {
    font-size: 17px;
    letter-spacing: 0px;
    color: #595b61;
    font-weight: bold;
}

.torre-card span {
    font-size: 29px;
    letter-spacing: -1px;
    line-height: 2.03;
    color: #707176;
    font-weight: 300;
    text-align: center;
}
.torre-card h2 {
    font-size: 50px;
    letter-spacing: -1px;
    line-height: 1;
    color: #707176;
    font-weight: 800;
    text-align: center;
}

.purchese-copyright {
    padding-top: 20px;
    font-size: 15px;
    color: #818387;
    font-weight: 300;
    text-align: center;
}


/* page 5  */

.disponibillided-wrapper.page-five {
    max-width: 540px;
    margin-inline: auto;
}

.page-five .dispon-top {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 25px;
}
.page-five .dispon-top h4 {
	font-size: 30px;
}

.page-five .dispon-top p {
	font-size: 16px;
}

.five-selection-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.single-selection-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 46px;
    background-image: linear-gradient(0deg, #ffffff 27%, #c4c4c4 100%);
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}
.single-selection-box .serial {
    width: 20px;
    height: 20px;
    border: 1px solid #333;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.single-selection-box p {
    font-size: 20px;
    letter-spacing: 0px;
    color: #999a9d;
    font-weight: 300;
}
.single-selection-box p span {
    font-weight: 800;
}

.five-footer-card {
    position: relative;
}
.five-footer-card p {
    position: absolute;
    left: 0;
    bottom: 16px;
    width: 100%;
    text-align: center;
    font-size: 14px !important;
    color: #ffffff;
    font-weight: 300;
}