bnkops.changemaker/site/css/responsive.css
2025-05-14 20:00:51 -06:00

265 lines
5.2 KiB
CSS

/*
* Responsive Stylesheet for BNKOps Website
* Version: 2.0.0
* Date: May 2025
* Theme: Dark Purple with Trans Pride Colors
*/
/* ====================
Responsive Design
==================== */
/* Extra large devices (large desktops, 1200px and up) */
@media (max-width: 1200px) {
.container {
max-width: 960px;
}
.emoji-sticker {
font-size: 2.5rem;
}
}
/* Large devices (desktops, 992px and up) */
@media (max-width: 992px) {
.container {
max-width: 720px;
}
section {
padding: 60px 0;
}
.section-header h2 {
font-size: 2rem;
}
.about-content,
.contact-content,
.error-container .container {
grid-template-columns: 1fr;
gap: 30px;
}
.about-stats {
margin-top: 30px;
}
.error-illustration {
display: none;
}
.post-it {
transform: rotate(0deg) !important;
}
.post-it:hover {
transform: scale(1.03) !important;
}
}
/* Medium devices (tablets, 768px and up) */
@media (max-width: 768px) {
.container {
max-width: 540px;
}
.menu-toggle {
display: block;
}
.nav-menu {
position: fixed;
top: 70px;
left: -100%;
background-color: rgba(16, 0, 43, 0.95);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
width: 100%;
height: calc(100vh - 70px);
flex-direction: column;
align-items: center;
justify-content: flex-start;
padding-top: 50px;
transition: var(--transition);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
z-index: 100;
}
.nav-menu.active {
left: 0;
}
.nav-menu li {
margin: 0 0 20px 0;
}
.nav-menu a {
font-size: 1.2rem;
}
.hero h1 {
font-size: 2.5rem;
}
.services-grid {
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}
.about-stats {
grid-template-columns: 1fr; /* Change to single column for vertical stacking */
gap: 25px; /* Increase gap for better separation */
}
/* Fix the stat items to remove any rotation and ensure consistency */
.about-stats .stat-item {
max-width: 100%;
width: 100%;
margin: 0 auto;
transform: rotate(0deg) !important; /* Remove any rotation */
}
.about-stats .stat-item:hover {
transform: scale(1.03) !important; /* Only scale on hover, no rotation */
}
.emoji-sticker {
font-size: 2rem;
}
.footer-content {
grid-template-columns: 1fr;
text-align: center;
}
.footer-links h3::after,
.footer-social h3::after {
left: 50%;
transform: translateX(-50%);
}
.social-icons {
justify-content: center;
}
.error-actions {
flex-direction: column;
}
.polaroid {
max-width: 220px;
padding: 10px 10px 40px 10px;
margin: 0 auto 20px;
}
/* Make hero elements stack vertically instead of horizontal scrolling */
.hero .flex-container {
flex-direction: column;
flex-wrap: wrap;
overflow-x: visible;
justify-content: center;
align-items: center;
gap: 25px;
}
.hero .flex-container > div {
width: 100%;
max-width: 300px;
margin: 0 auto;
}
/* Remove the horizontal scrollbar styling as it's no longer needed */
.hero .flex-container::-webkit-scrollbar {
display: initial;
}
.hero .flex-container {
-ms-overflow-style: initial;
scrollbar-width: initial;
}
/* Ensure post-its have consistent styling */
.hero .post-it {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box;
}
}
/* Small devices (landscape phones, 576px and up) */
@media (max-width: 576px) {
.container {
width: 95%;
padding: 0 10px;
}
section {
padding: 50px 0;
}
.section-header {
margin-bottom: 30px;
}
.section-header h2 {
font-size: 1.8rem;
}
.section-header p {
font-size: 1rem;
}
.hero h1 {
font-size: 2rem;
}
.hero p {
font-size: 1rem;
}
.btn {
padding: 10px 20px;
font-size: 0.9rem;
}
.service-card {
padding: 20px;
}
.error-code {
font-size: 6rem;
}
.error-content h1 {
font-size: 2rem;
}
.sitemap-content {
grid-template-columns: 1fr;
}
.emoji-sticker {
font-size: 1.5rem;
}
.polaroid {
max-width: 220px;
}
/* Adjust about stats spacing for smaller screens */
.about-stats {
gap: 20px; /* Slightly reduce gap on very small screens */
}
.about-stats .stat-item {
padding: 15px; /* Reduce padding on very small screens */
}
/* Further adjust sizes for smaller screens */
.hero .flex-container > div {
max-width: 100%;
width: 100%;
}
}