@font-face {
font-family: "Montserrat";
src: url(//gruporealhomeperu.com/wp-content/themes/RealHome/fonts/Montserrat-VariableFont_wght.woff2) format("woff2");
font-weight: 100 900;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: "Montserrat";
src: url(//gruporealhomeperu.com/wp-content/themes/RealHome/fonts/Montserrat-Italic-VariableFont_wght.woff2) format("woff2");
font-weight: 100 900;
font-style: italic;
font-display: swap;
}
:root { --fontMain: "Montserrat", sans-serif; --color-primary: oklch(60.402% 0.15471 41.519);
--color-seccondary: oklch(32.846% 0.04741 254.986);
--color-complementary: oklch(32.897% 0.00004 271.152);
--color-dark: oklch(0% 0 0);
--color-light: oklch(100% 0.00011 271.152); --space-unit: 1rem; --p-sm: calc(var(--space-unit) * 0.5); --p-md: var(--space-unit);
--p-lg: calc(var(--space-unit) * 1.5); --p-xl: calc(var(--space-unit) * 3); --p-xxl: calc(var(--space-unit) * 4.5);  --m-sm: calc(var(--space-unit) * 0.5); --m-md: var(--space-unit);
--m-lg: calc(var(--space-unit) * 1.5); --m-xl: calc(var(--space-unit) * 3);  --tr-time-short: 0.3s;
--tr-time-medium: 0.6s;
--tr-simple: ease;
--tr-bounce: cubic-bezier(0.3, 1.55, 0.47, 0.74); --sh-short: 0px 0px 10px rgba(0, 0, 0, 0.2);
--sh-medium: 4px 4px 10px rgba(0, 0, 0, 0.2);
}*,
*::before,
*::after {
box-sizing: border-box;
}
body {
font-family: var(--fontMain);
color: var(--color-dark);
margin: 0;
-webkit-font-smoothing: antialiased;
}
img {
max-width: 100%;
height: auto;
display: block;
}
::placeholder {
color: var(--color-dark) !important;
}
.alignleft {
float: left;
margin: 0 24px 24px 0;
}
.alignright {
float: right;
margin: 0 0 24px 24px;
}
.centered,
.aligncenter {
display: block;
margin: 0 auto 30px;
} h1 {
font-size: clamp(32px, 5vw + 1rem, 68px);
font-weight: 700;
margin: 0;
}
h2 {
font-size: clamp(24px, 3vw + 0.8rem, 32px);
font-weight: 700;
margin: 0;
}
h3 {
font-size: clamp(20px, 2vw + 0.6rem, 24px);
font-weight: 700;
margin: 0;
}
h4 {
font-size: clamp(18px, 1.5vw + 0.5rem, 20px);
font-weight: 700;
margin: 0;
}
h5 {
font-size: clamp(16px, 1vw + 0.4rem, 18px);
font-weight: 700;
margin: 0;
}
h6 {
font-size: clamp(14px, 0.5vw + 0.3rem, 16px);
font-weight: 700;
margin: 0;
}
p {
font-size: clamp(14px, 0.5vw + 0.8rem, 16px);
font-weight: 400;
margin: 0;
}
li {
font-size: clamp(14px, 0.5vw + 0.8rem, 16px);
font-weight: 400;
line-height: 26px;
} .light-gradient {
background: linear-gradient(
0deg,
color-mix(in srgb, var(--color-light) 0%, transparent) 45%,
var(--color-light) 100%
);
} .container {
width: 100%;
max-width: 1280px;
padding-inline: var(--p-md);
margin: 0 auto;
} .center-button {
display: flex;
justify-content: center;
}
.button {
border-radius: 8px;
padding: var(--m-sm) var(--p-md);
background-color: var(--color-primary);
text-decoration: none;
color: var(--color-light);
transition: background-color var(--tr-time-medium) var(--tr-bounce);
display: inline-block;
border: none;
cursor: pointer;
font-family: var(--fontMain) !important;
font-size: var(--space-unit) !important;
&:hover {
background-color: var(--color-seccondary);
}
}
.wa-button {
border-radius: 8px;
padding: var(--m-sm) var(--p-md);
background-color: #25d366;
text-decoration: none;
color: var(--color-light);
transition: background-color var(--tr-time-medium) var(--tr-bounce);
display: inline-flex;
align-items: center;
gap: 10px;
&:hover {
background-color: var(--color-seccondary);
}
img {
width: 24px;
height: 24px;
}
}
.centered {
margin-inline: auto;
} header {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: 99;
.container {
padding-block: var(--p-md);
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
}
nav.menu {
display: none;
align-items: center;
gap: var(--m-lg);
@media screen and (min-width: 991px) {
display: flex;
}
}
.menu-main {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: var(--m-lg);
li ul {
display: block;
position: absolute;
list-style: none;
padding: 0;
margin: 0;
max-height: 0;
overflow: hidden;
transition: max-height var(--tr-time-medium) var(--tr-simple);
}
li {
a {
font-weight: 500;
text-decoration: none;
color: var(--color-dark);
transition: color var(--tr-time-short) var(--tr-simple);
&:hover {
color: var(--color-primary);
}
}
&.current-menu-item a {
color: var(--color-primary);
}
&:hover ul {
max-height: 400px;
}
}
}
.social {
display: flex;
gap: var(--m-lg);
a {
transition: opacity var(--tr-time-short) var(--tr-bounce);
&:hover {
opacity: 0.5;
}
}
}
.menu-toggle {
background-color: transparent;
border: none;
svg {
stroke: var(--color-primary);
width: 36px;
height: 36px;
}
.close {
display: none;
}
&.show {
.close {
display: block;
}
.bars {
display: none;
}
}
@media screen and (min-width: 991px) {
display: none;
}
}
}
.menu-mobile {
display: flex;
overflow: hidden;
position: fixed;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100vw;
height: 100dvh;
max-height: 0;
background-color: var(--color-light);
z-index: 999;
left: 0;
top: 0;
gap: var(--m-lg);
transition: max-height var(--tr-time-short) var(--tr-simple);
.menu-close {
background-color: transparent;
border: none;
position: absolute;
top: var(--m-lg);
right: var(--m-lg);
opacity: 0;
transition: opacity var(--tr-time-short) var(--tr-simple);
pointer-events: none;
svg {
stroke: var(--color-primary);
width: 36px;
height: 36px;
}
}
&.show {
max-height: 100dvh;
transition: max-height var(--tr-time-short) var(--tr-bounce);
.menu-close {
opacity: 1;
pointer-events: auto;
}
}
ul {
list-style: none;
margin: 0;
padding: 0;
ul {
padding-left: var(--p-md);
}
a {
text-decoration: none;
display: block;
color: var(--color-dark);
padding: var(--m-sm) 0;
&:hover {
color: var(--color-primary);
}
}
}
.social {
display: flex;
gap: var(--p-lg);
}
} .banner {
width: 100%;
height: 600px;
max-height: 100dvh;
overflow: hidden;
position: relative;
.content {
position: absolute;
width: 100%;
z-index: 99;
left: 0;
bottom: 0;
padding-bottom: var(--p-xxl);
}
.container {
display: flex;
justify-content: center;
}
img {
width: 100%;
object-fit: cover;
height: 100%;
object-position: center;
}
.light-gradient {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
z-index: 9;
}
.light-alpha {
border-radius: 1rem;
background-color: color-mix(in srgb, var(--color-light) 50%, transparent);
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px); padding: var(--p-lg);
text-align: center;
display: inline-flex;
flex-direction: column;
align-items: center;
gap: calc(var(--space-unit) * 1.5);
}
.line {
background-color: var(--color-primary);
width: 100%;
max-width: 372px;
height: 2px;
display: block;
}
video {
object-fit: cover;
z-index: 0;
pointer-events: none;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) !important;
width: 100%;
height: 100%;
}
} .project-detail {
padding-block: var(--p-xxl);
.container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
gap: var(--p-lg);
.images {
display: flex;
flex-direction: column;
gap: var(--p-lg);
img {
width: 100%;
}
.big-image {
display: flex;
justify-content: center;
align-items: center;
aspect-ratio: 1 / 1;
img {
object-fit: cover;
aspect-ratio: 1 / 1;
}
}
.thumbs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 50px), 1fr));
gap: var(--p-md);
@media screen and (min-width: 768px) {
gap: var(--m-lg);
}
.thumb {
border: solid 1px var(--color-light);
&.active {
border: solid 1px var(--color-primary);
}
}
img {
object-fit: cover;
object-position: center;
aspect-ratio: 1 / 1;
}
}
}
.texts {
display: flex;
flex-direction: column;
gap: var(--p-lg);
.code {
font-weight: 700;
color: var(--color-seccondary);
}
ul {
list-style: none;
margin: 0;
padding: 0;
@media screen and (min-width: 576px) {
column-count: 2;
margin: 0 0 -16px;
}
li {
position: relative;
padding-left: 15px;
break-inside: avoid;
&::after {
content: "-";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
}
}
}
h4 {
text-align: center;
color: var(--color-primary);
}
}
}
} .lightbox-modal {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.85);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
}
.lightbox-modal.open {
opacity: 1;
pointer-events: auto;
}
.lightbox-modal img {
max-width: 90%;
max-height: 90vh;
object-fit: contain;
border-radius: 4px;
}
.lightbox-close {
position: absolute;
top: 20px;
right: 30px;
background: transparent;
border: none;
color: #fff;
font-size: 2.5rem;
cursor: pointer;
} .lightbox-prev,
.lightbox-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 255, 255, 0.15);
border: none;
color: #fff;
font-size: 2rem;
padding: 10px 20px;
cursor: pointer;
z-index: 1010;
border-radius: 4px;
transition: background 0.3s ease;
&:hover {
background: rgba(255, 255, 255, 0.3);
}
}
.lightbox-prev {
left: 20px;
}
.lightbox-next {
right: 20px;
} .cta {
padding-block: var(--p-xxl);
background-position: center;
background-size: cover;
.container {
display: flex;
flex-direction: column;
gap: var(--p-lg);
align-items: center;
text-align: center;
.buttons {
display: flex;
justify-content: center;
gap: var(--p-lg);
}
}
} .plans {
padding-block: var(--p-xxl);
.container {
display: flex;
flex-direction: column;
gap: var(--p-lg);
.tabs {
display: flex;
flex-wrap: wrap;
gap: var(--p-lg);
input[type="radio"] {
display: none;
}
label {
border-radius: 8px;
padding: var(--m-sm) var(--p-md);
background-color: var(--color-primary);
text-decoration: none;
color: var(--color-light);
transition: background-color var(--tr-time-medium) var(--tr-bounce);
display: inline-block;
cursor: pointer;
&:hover {
background-color: var(--color-seccondary);
}
}
input[type="radio"]:checked + label {
background-color: var(--color-seccondary);
}
}
}
.tabs-content {
.tab-content {
display: none;
.plans-grid {
display: grid;
gap: var(--p-lg);
grid-template-columns: repeat(1, 1fr);
@media screen and (min-width: 576px) {
grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
grid-template-columns: repeat(3, 1fr);
}
}
&.active {
display: block;
}
img {
width: 100%;
aspect-ratio: 1 / 1;
object-fit: cover;
}
}
}
} .posts {
padding-block: var(--p-xxl);
.container {
display: flex;
flex-direction: column;
gap: var(--p-lg);
}
.post-list {
display: grid;
gap: var(--p-lg);
grid-template-columns: repeat(1, 1fr);
@media screen and (min-width: 576px) {
grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
grid-template-columns: repeat(3, 1fr);
}
.post {
position: relative;
border-radius: 16px;
border: solid 1px var(--color-complementary);
overflow: hidden;
transition: border var(--tr-time-short) var(--tr-simple);
&:hover {
border: solid 1px var(--color-primary);
}
img {
width: 100%;
aspect-ratio: 9 / 5;
object-fit: cover;
}
.info {
padding: var(--m-lg);
display: flex;
flex-direction: column;
gap: var(--p-sm);
h4 {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1; overflow: hidden;
}
.line {
background-color: var(--color-primary);
width: 50px;
height: 4px;
}
p {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; overflow: hidden;
}
}
a {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: block;
}
}
}
.nav-links {
display: flex;
justify-content: center;
align-items: center;
gap: var(--p-md);
.page-numbers {
display: flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
color: var(--color-dark);
text-decoration: none !important;
font-size: 1rem;
font-weight: 700;
transition: color var(--tr-time-short) var(--tr-simple);
&:hover,
&.current {
color: var(--color-primary);
}
}
}
} .single {
.posts {
.container {
a {
color: var(--color-primary);
text-decoration: none;
font-weight: 700;
transition: color var(--tr-time-short) var(--tr-simple);
&:hover {
color: var(--color-seccondary);
}
}
blockquote {
border-left: solid 5px var(--color-primary);
margin: 0;
padding-left: var(--p-md);
}
ul {
margin: 0;
padding-left: var(--p-lg);
}
}
}
} .projects {
padding-block: var(--p-xxl);
background-position: center;
background-size: cover;
.container {
display: flex;
flex-direction: column;
gap: var(--p-xl);
}
.title {
display: flex;
flex-direction: column;
gap: var(--m-sm);
}
.filter {
display: flex;
gap: var(--m-lg);
flex-direction: column;
@media screen and (min-width: 576px) {
flex-direction: row;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 100%;
box-shadow: var(--sh-medium);
border-radius: 8px;
padding: var(--p-sm);
border: none;
background-image: url(//gruporealhomeperu.com/wp-content/themes/RealHome/images/down.svg);
background-repeat: no-repeat;
background-position: right 0.5rem center;
font-family: var(--fontMain);
font-size: var(--space-unit);
&:focus-visible {
outline: none;
}
}
button {
width: 100%;
height: 34px;
padding: 8px;
display: flex;
justify-content: center;
align-items: center;
border: none;
background-color: var(--color-seccondary);
flex-shrink: 0;
border-radius: 8px;
cursor: pointer;
transition: background-color var(--tr-time-short) var(--tr-bounce);
@media screen and (min-width: 576px) {
width: 34px;
}
&:hover,
&.active {
background-color: var(--color-primary);
}
img {
width: 18px;
height: 18px;
}
}
}
.cards {
display: grid;
gap: var(--p-lg);
grid-template-columns: repeat(1, 1fr);
@media screen and (min-width: 576px) {
grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
grid-template-columns: repeat(3, 1fr);
}
.card {
border-radius: 16px;
overflow: hidden;
position: relative;
background-color: var(--color-light);
box-shadow: var(--sh-medium);
transition: box-shadow var(--tr-time-short) var(--tr-simple);
&:hover {
box-shadow: var(--sh-short);
}
&:nth-child(3n + 1) {
.district {
background-color: var(--color-primary);
}
}
&:nth-child(3n + 2) {
.district {
background-color: var(--color-seccondary);
}
}
&:nth-child(3n + 3) {
.district {
background-color: var(--color-complementary);
}
}
.photo {
position: relative;
img {
width: 100%;
object-fit: cover;
aspect-ratio: 9 / 6;
}
.district {
position: absolute;
left: 1rem;
top: 1rem;
font-size: clamp(1rem, 0.7143rem + 1.1429vw, 1.25rem);
color: var(--color-light);
font-weight: 700;
padding: var(--p-sm);
border-radius: 8px;
text-transform: uppercase;
}
}
.info {
padding: var(--p-lg);
display: flex;
flex-direction: column;
gap: var(--m-md);
.details {
display: flex;
align-items: center;
gap: var(--p-sm);
}
}
a {
position: absolute;
width: 100%;
height: 100%;
display: block;
left: 0;
top: 0;
}
}
}
} footer {
background-color: var(--color-dark);
color: var(--color-light);
padding-block: var(--p-xxl);
.container {
display: flex;
flex-direction: column;
gap: var(--p-lg);
@media screen and (min-width: 768px) {
flex-direction: row;
}
.column {
width: 100%;
text-align: center;
h4 {
margin-bottom: var(--m-md);
}
a {
color: var(--color-light);
text-decoration: none;
transition: color var(--tr-time-short) var(--tr-simple);
&:hover {
color: var(--color-primary);
}
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
}
&.secc {
flex-direction: column;
align-items: center;
gap: var(--p-xl);
}
.line {
width: 100%;
height: 1px;
background-color: var(--color-light);
margin-top: var(--m-xl);
}
.social {
display: flex;
gap: var(--p-lg);
a {
transition: opacity var(--tr-time-short) var(--tr-simple);
&:hover {
opacity: 0.5;
}
}
}
}
}