/*
* Modern About Page CSS Styling
* This file contains styling specific to the about page
*/
/* About Hero Section */
.about-hero {
background: var(--gradient-primary);
padding: 8rem 0 6rem;
position: relative;
overflow: hidden;
color: white;
margin-bottom: 0;
}
.about-hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('../images/pattern-bg.png');
background-size: cover;
opacity: 0.1;
}
.about-content {
position: relative;
z-index: 1;
}
.about-title {
font-size: 3.5rem;
font-weight: var(--font-weight-bold);
margin-bottom: 1.5rem;
color: white;
text-shadow: var(--text-shadow);
line-height: 1.2;
}
.about-subtitle {
font-size: 1.25rem;
max-width: 600px;
margin-bottom: 2rem;
opacity: 0.9;
}
.about-image-container {
position: relative;
z-index: 1;
}
.about-image {
width: 100%;
height: auto;
border-radius: var(--border-radius-lg);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
transform: translateY(30px);
}
.about-image-bg {
position: absolute;
top: -20px;
right: -20px;
width: 100%;
height: 100%;
border-radius: var(--border-radius-lg);
background: var(--gradient-accent);
z-index: -1;
}
.about-shape {
position: absolute;
bottom: -1px;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0;
}
.about-shape svg {
position: relative;
display: block;
width: calc(100% + 1.3px);
height: 80px;
}
.about-shape .shape-fill {
fill: var(--light-color);
}
/* About Features Section */
.about-features {
padding: 6rem 0;
position: relative;
overflow: hidden;
}
.feature-card {
padding: 2rem;
text-align: center;
border-radius: var(--border-radius-md);
background-color: white;
box-shadow: var(--card-shadow);
transition: var(--transition-medium);
height: 100%;
position: relative;
z-index: 1;
transform: translateY(30px);
opacity: 0;
}
.feature-card.animated {
transform: translateY(0);
opacity: 1;
}
.feature-card:hover {
transform: translateY(-10px);
box-shadow: var(--hover-shadow);
}
.feature-icon {
width: 80px;
height: 80px;
border-radius: var(--border-radius-circle);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1.5rem;
background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.1), rgba(var(--secondary-rgb), 0.1));
font-size: 2.5rem;
color: var(--primary-color);
transition: var(--transition-medium);
}
.feature-card:hover .feature-icon {
background: var(--gradient-primary);
color: white;
transform: scale(1.1) rotate(10deg);
}
.feature-title {
font-size: 1.5rem;
margin-bottom: 1rem;
font-weight: var(--font-weight-bold);
color: var(--dark-color);
}
.feature-text {
color: rgba(var(--dark-rgb), 0.7);
margin-bottom: 0;
}
/* About Mission Section */
.about-mission {
padding: 6rem 0;
background-color: #f8f9fc;
position: relative;
overflow: hidden;
}
.mission-content {
position: relative;
z-index: 1;
}
.mission-title {
font-size: 2.5rem;
font-weight: var(--font-weight-bold);
margin-bottom: 1.5rem;
color: var(--dark-color);
position: relative;
padding-bottom: 1rem;
}
.mission-title::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 80px;
height: 4px;
background: var(--gradient-primary);
border-radius: 2px;
}
.mission-text {
font-size: 1.1rem;
color: rgba(var(--dark-rgb), 0.7);
margin-bottom: 2rem;
line-height: 1.8;
}
.mission-points {
margin-bottom: 2rem;
}
.mission-point {
display: flex;
align-items: flex-start;
margin-bottom: 1.25rem;
}
.mission-point-icon {
width: 30px;
height: 30px;
border-radius: var(--border-radius-circle);
display: flex;
align-items: center;
justify-content: center;
margin-right: 1rem;
background: var(--gradient-primary);
color: white;
font-size: 1rem;
flex-shrink: 0;
}
.mission-point-text {
color: var(--dark-color);
font-weight: var(--font-weight-medium);
}
.mission-image-container {
position: relative;
z-index: 1;
}
.mission-image {
width: 100%;
height: auto;
border-radius: var(--border-radius-lg);
box-shadow: var(--card-shadow);
}
.mission-image-bg {
position: absolute;
top: 20px;
left: -20px;
width: 100%;
height: 100%;
border-radius: var(--border-radius-lg);
background: linear-gradient(135deg, rgba(var(--primary-rgb), 0.05), rgba(var(--secondary-rgb), 0.05));
z-index: -1;
}
/* Team Section */
.about-team {
padding: 6rem 0;
position: relative;
overflow: hidden;
}
.team-card {
text-align: center;
border-radius: var(--border-radius-md);
background-color: white;
box-shadow: var(--card-shadow);
transition: var(--transition-medium);
height: 100%;
position: relative;
overflow: hidden;
transform: translateY(30px);
opacity: 0;
}
.team-card.animated {
transform: translateY(0);
opacity: 1;
}
.team-card:hover {
transform: translateY(-10px);
box-shadow: var(--hover-shadow);
}
.team-image-container {
position: relative;
overflow: hidden;
}
.team-image {
width: 100%;
height: auto;
transition: var(--transition-medium);
}
.team-card:hover .team-image {
transform: scale(1.05);
}
.team-overlay {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 2rem 1rem 1rem;
background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
transform: translateY(100%);
transition: var(--transition-medium);
display: flex;
justify-content: center;
gap: 1rem;
}
.team-card:hover .team-overlay {
transform: translateY(0);
}
.team-social-link {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
background-color: white;
color: var(--primary-color);
border-radius: var(--border-radius-circle);
transition: var(--transition-fast);
}
.team-social-link:hover {
background: var(--gradient-primary);
color: white;
transform: translateY(-5px);
}
.team-content {
padding: 1.5rem;
}
.team-name {
font-size: 1.25rem;
font-weight: var(--font-weight-bold);
margin-bottom: 0.5rem;
color: var(--dark-color);
}
.team-position {
color: var(--primary-color);
font-weight: var(--font-weight-medium);
margin-bottom: 1rem;
}
.team-description {
color: rgba(var(--dark-rgb), 0.7);
margin-bottom: 0;
}
/* Stats Section */
.about-stats {
padding: 5rem 0;
background: var(--gradient-primary);
position: relative;
overflow: hidden;
color: white;
}
.about-stats::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('../images/pattern-bg.png');
background-size: cover;
opacity: 0.1;
}
.stat-card {
text-align: center;
position: relative;
z-index: 1;
padding: 1.5rem;
transform: translateY(30px);
opacity: 0;
}
.stat-card.animated {
transform: translateY(0);
opacity: 1;
}
.stat-number {
font-size: 3.5rem;
font-weight: var(--font-weight-bold);
color: white;
margin-bottom: 0.5rem;
position: relative;
display: inline-block;
}
.stat-number::after {
content: '+';
font-size: 2rem;
position: absolute;
top: 0;
right: -1.5rem;
}
.stat-title {
font-size: 1.25rem;
color: rgba(255, 255, 255, 0.8);
margin-bottom: 0;
}
.stat-icon {
font-size: 2.5rem;
color: rgba(255, 255, 255, 0.5);
margin-bottom: 1rem;
}
/* Testimonials Section */
.about-testimonials {
padding: 6rem 0;
position: relative;
overflow: hidden;
background-color: #f8f9fc;
}
.testimonial-card {
padding: 2rem;
border-radius: var(--border-radius-md);
background-color: white;
box-shadow: var(--card-shadow);
transition: var(--transition-medium);
height: 100%;
position: relative;
transform: translateY(30px);
opacity: 0;
}
.testimonial-card.animated {
transform: translateY(0);
opacity: 1;
}
.testimonial-card:hover {
transform: translateY(-10px);
box-shadow: var(--hover-shadow);
}
.testimonial-content {
position: relative;
padding-top: 2rem;
margin-bottom: 2rem;
}
.testimonial-content::before {
content: '"';
position: absolute;
top: -30px;
left: -10px;
font-size: 6rem;
color: rgba(var(--primary-rgb), 0.1);
font-family: Georgia, serif;
line-height: 1;
}
.testimonial-text {
font-size: 1.1rem;
color: var(--dark-color);
line-height: 1.7;
margin-bottom: 0;
}
.testimonial-footer {
display: flex;
align-items: center;
}
.testimonial-image {
width: 60px;
height: 60px;
border-radius: var(--border-radius-circle);
object-fit: cover;
margin-right: 1rem;
border: 3px solid rgba(var(--primary-rgb), 0.1);
}
.testimonial-name {
font-size: 1.1rem;
font-weight: var(--font-weight-bold);
color: var(--dark-color);
margin-bottom: 0.25rem;
}
.testimonial-position {
color: rgba(var(--dark-rgb), 0.7);
font-size: 0.9rem;
margin-bottom: 0;
}
.testimonial-rating {
display: flex;
margin-top: 0.5rem;
}
.testimonial-rating i {
color: #ffc107;
font-size: 1rem;
margin-right: 0.25rem;
}
/* Call to Action (Bottom) */
.about-cta {
padding: 6rem 0;
background: var(--gradient-accent);
position: relative;
overflow: hidden;
color: white;
}
.about-cta::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('../images/pattern-bg.png');
background-size: cover;
opacity: 0.1;
}
.cta-container {
position: relative;
z-index: 1;
text-align: center;
max-width: 800px;
margin: 0 auto;
}
.cta-title {
font-size: 2.5rem;
font-weight: var(--font-weight-bold);
color: white;
margin-bottom: 1.5rem;
}
.cta-text {
font-size: 1.1rem;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 2rem;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: 1rem;
}
/* Responsive Styles */
@media (max-width: 991px) {
.about-title {
font-size: 2.8rem;
}
.about-hero {
text-align: center;
}
.about-image-container {
margin-top: 2rem;
}
.mission-content {
text-align: center;
margin-bottom: 2rem;
}
.mission-title::after {
left: 50%;
transform: translateX(-50%);
}
.mission-point {
justify-content: center;
}
}
@media (max-width: 767px) {
.about-title {
font-size: 2.2rem;
}
.about-subtitle {
font-size: 1.1rem;
}
.feature-card,
.team-card,
.testimonial-card,
.stat-card {
margin-bottom: 2rem;
}
.cta-title {
font-size: 2rem;
}
.cta-buttons {
flex-direction: column;
gap: 0.75rem;
}
}
@media (max-width: 575px) {
.about-title {
font-size: 1.8rem;
}
.feature-icon {
width: 60px;
height: 60px;
font-size: 1.8rem;
}
.mission-point {
flex-direction: column;
align-items: center;
text-align: center;
}
.mission-point-icon {
margin-right: 0;
margin-bottom: 0.5rem;
}
.stat-number {
font-size: 2.5rem;
}
.stat-number::after {
font-size: 1.5rem;
right: -1rem;
}
}