Overview
The Footer component provides a rich, visually striking footer with navigation links, contact information, social media, and a large branded text overlay. It features a dark wood-textured background theme.
Location
src/components/Footer.astro
Usage
---
import Footer from '../components/Footer.astro' ;
---
< Footer />
The footer automatically uses the current language context from the URL.
Structure
src/components/Footer.astro
< footer class = "footer" >
< div class = "footer-container" >
{ /* Top separator line */ }
< div class = "footer-separator" ></ div >
< div class = "footer-content" >
{ /* Left Column: Links */ }
< div class = "footer-block links-block" >
< nav class = "footer-nav" >
< ul class = "nav-list" >
< li >< a href = { translatePath ( "/" ) } > { t ( "nav.home" ) } </ a ></ li >
< li >< a href = { translatePath ( "/propiedades" ) } > { t ( "nav.properties" ) } </ a ></ li >
< li >< a href = { translatePath ( "/mision" ) } > { t ( "nav.mission" ) } </ a ></ li >
< li >< a href = { translatePath ( "/contacto" ) } > { t ( "nav.contact" ) } </ a ></ li >
</ ul >
</ nav >
</ div >
{ /* Right Column: Contact & Social */ }
< div class = "footer-block contact-block" >
< a href = "https://www.instagram.com/adosa_real_estate" target = "_blank" class = "social-icon" >
{ /* Instagram icon */ }
</ a >
< a href = "mailto:[email protected] " class = "contact-email" >
[email protected]
</ a >
</ div >
</ div >
{ /* Huge Text Overlay */ }
< div class = "huge-text-wrapper" >
< span class = "huge-text" > ADOSA </ span >
</ div >
{ /* Bottom Bar */ }
< div class = "footer-bottom" >
< div class = "bottom-links" >
< a href = { translatePath ( "/politica-privacidad" ) } > { t ( "footer.privacy" ) } </ a >
< a href = { translatePath ( "/politica-cookies" ) } > { t ( "footer.cookies" ) } </ a >
</ div >
< div class = "copyright" >
© { currentYear } Adosa. { t ( "footer.rights" ) }
</ div >
< div class = "site-by" >
Site by < a href = "https://extrudev.com" target = "_blank" > EXTRUDEV </ a >
</ div >
</ div >
</ div >
</ footer >
Sections
Links Block (Left)
Two-column grid of navigation links:
Uses CSS Grid with grid-template-columns: 1fr 1fr for balanced layout
.nav-list {
display : grid ;
grid-template-columns : 1 fr 1 fr ;
gap : 1 rem 4 rem ;
}
.nav-list a {
color : #e8e6e1 ;
font-size : 0.9 rem ;
font-weight : 600 ;
text-transform : uppercase ;
letter-spacing : 0.5 px ;
}
Social media and email contact:
Large 3rem font size for prominent email display
< div class = "footer-block contact-block" >
< a href = "https://www.instagram.com/adosa_real_estate" target = "_blank" class = "social-icon" >
< svg > <!-- Instagram icon --> </ svg >
</ a >
< a href = "mailto:[email protected] " class = "contact-email" >
[email protected]
</ a >
</ div >
Huge Text Overlay
Massive “ADOSA” text with outlined styling:
.huge-text {
font-size : 25 vw ; /* Responsive to viewport */
color : transparent ;
-webkit-text-stroke : 2 px rgba ( 255 , 255 , 255 , 0.5 );
mix-blend-mode : overlay ;
opacity : 0.3 ;
}
The huge text uses mix-blend-mode: overlay and cut-off bottom margin to create a partial reveal effect.
Bottom Bar
Three-column layout with legal links, copyright, and credits:
< div class = "footer-bottom" >
< div class = "bottom-links" >
< a href = "/politica-privacidad" > Privacy Policy </ a >
< a href = "/politica-cookies" > Cookie Policy </ a >
</ div >
< div class = "copyright" >
© 2026 Adosa. All rights reserved.
</ div >
< div class = "site-by" >
Site by < a href = "https://extrudev.com" > EXTRUDEV </ a >
</ div >
</ div >
Styling
Background Texture
Dark wood theme with radial gradient overlay:
.footer {
background-color : #2a1b15 ; /* Dark brown fallback */
color : #e8e6e1 ;
padding : 4 rem 2 rem 1 rem ;
}
.footer::before {
content : "" ;
position : absolute ;
width : 100 % ;
height : 100 % ;
background : radial-gradient (
circle at 70 % 30 % ,
rgba ( 60 , 40 , 30 , 0.8 ),
rgba ( 20 , 10 , 5 , 0.95 )
);
}
You can add a wood texture image by uncommenting the background-image property in the CSS.
Layout
Maximum width of footer content container
Minimum footer height for visual impact
.footer-container {
max-width : 1800 px ;
margin : 0 auto ;
min-height : 50 vh ;
display : flex ;
flex-direction : column ;
justify-content : space-between ;
}
Responsive Design
Mobile Layout
@media ( max-width : 768 px ) {
.footer-content {
flex-direction : column ;
gap : 3 rem ;
}
.nav-list {
grid-template-columns : 1 fr ; /* Single column */
}
.contact-block {
align-items : flex-start ;
text-align : left ;
}
.contact-email {
font-size : 1.8 rem ; /* Smaller on mobile */
word-break : break-all ;
}
.footer-bottom {
flex-direction : column ;
align-items : flex-start ;
gap : 1 rem ;
}
.huge-text {
font-size : 35 vw ; /* Larger relative to screen */
}
}
Customization
Add more social icons to the contact block:
< div class = "contact-block" >
< div class = "social-icons" >
< a href = "https://instagram.com/..." class = "social-icon" >
< svg > <!-- Instagram --> </ svg >
</ a >
< a href = "https://facebook.com/..." class = "social-icon" >
< svg > <!-- Facebook --> </ svg >
</ a >
< a href = "https://linkedin.com/..." class = "social-icon" >
< svg > <!-- LinkedIn --> </ svg >
</ a >
</ div >
< a href = "mailto:..." class = "contact-email" > ... </ a >
</ div >
Modify the navigation list:
< ul class = "nav-list" >
< li >< a href = "/new-page" > New Page </ a ></ li >
< li >< a href = "/another-page" > Another Page </ a ></ li >
<!-- Add more links -->
</ ul >
Customizing Colors
.footer {
background-color : #your-color; /* Change base color */
color : #your-text-color;
}
.footer::before {
background : radial-gradient (
/* Customize gradient */
);
}
.contact-email {
color : #your-accent-color;
}
Changing the Huge Text
< div class = "huge-text-wrapper" >
< span class = "huge-text" > YOUR BRAND </ span >
</ div >
Translation Keys
The footer uses the following translation keys:
{
"footer" : {
"privacy" : "Política de Privacidad" ,
"cookies" : "Política de Cookies" ,
"rights" : "Todos los derechos reservados"
}
}
Navigation Header navigation component
Internationalization Translation utilities