challenge-landing-page-henr.../assets/css/main.css

377 lines
5.0 KiB
CSS

/*=== Por que criei esse arquivo ===*/
/* Este é meu arquivo principal, a metodologia que vou usar será CUBE CSS <3*/
/* started styles */
/*--------*\
= HEADER =
\*--------*/
.l-header {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 1.875rem 1rem;
}
.header-logo {
display: flex;
}
/*-------------*\
= MAIN BANNER =
\*-------------*/
.main-banner-image {
width: 100%;
height: auto;
}
/*-------------*\
= INFORMATION =
\*-------------*/
.information {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
gap: 64px;
padding: 74px 1.875rem 90px;
}
.information-texts {
text-align: center;
}
.information-subtitle {
font-weight: 400;
line-height: 24px;
}
.information-title {
font-weight: 500;
line-height: 48px;
}
.information-description {
line-height: 24px;
}
@media screen and (min-width:1025px) {
.information {
padding: 74px 0 157px;
gap: 74px;
}
.information-texts {
width: 40.5%;
margin: 0 auto;
text-align: initial;
}
.information-title,
.information-subtitle {
text-align: center;
}
.information-title {
font-size: 200%;
margin-bottom: 28px;
}
.information-subtitle {
line-height: 32px;
}
.information-image {
width: 17%;
height: auto;
}
.information-image img {
width: 100%;
}
}
/*----------*\
= SERVICES =
\*----------*/
.services {
padding-bottom: 90px;
}
.services-container {
--hs-flex-space: 20px;
--hs-flow-space: 28px;
padding: 0 26px;
}
.services-container,
.card {
display: flex;
align-items: center;
justify-content: center;
}
.card {
width: 100%;
flex-direction: column;
min-height: 288px;
padding: 36px 26px 28px;
}
.card-image {
width: 34.5%;
min-width: 103px;
height: auto;
}
@media screen and (max-width: 1024px) {
.services-container {
flex-direction: column;
}
}
@media screen and (min-width:1025px) {
.services {
width: 57%;
margin: 0 auto;
}
.services-container {
padding: 0;
}
.services .card {
width: 34%;
}
}
/*---------*\
= GALLERY =
\*---------*/
.gallery {
--hs-grid-space: 24px 14px;
padding: 0 24px;
margin-bottom: 112px;
}
.gallery-container {
position: relative;
grid-template-columns: repeat(2, 1fr);
justify-content: center;
transform: translateY(2rem);
}
.gallery-image,
.gallery-image img {
width: 100%;
}
.gallery-image-3 {
grid-column: 1/2 span;
}
@media screen and (min-width:1025px) {
.gallery {
--hs-grid-space: 40px;
padding: 0 72px;
}
.gallery-container {
grid-template-columns: repeat(3, 1fr);
transform: translateY(4rem);
}
.gallery-image {
min-height: 530px;
}
.gallery-image-3 {
grid-column: auto;
}
}
/*----------*\
= FEATURES =
\*----------*/
.features {
padding: 0px 24px;
}
.features-container {
--hs-flex-space: 1rem;
flex-direction: column;
width: 100%;
padding-bottom: 98px;
margin: 0;
}
.features .card {
width: 100%;
min-height: 332px;
}
@media screen and (min-width:1025px) {
.features {
padding: 0 72px;
}
.features-container {
flex-direction: row;
padding-bottom: 108px;
}
.card-image {
width: 29%;
height: auto;
}
}
/*------*\
= BLOG =
\*------*/
.blog {
--hs-flex-space: 50px;
width: 100%;
padding-bottom: 87px;
}
.blog-images-image {
width: 100%;
}
.blog-article {
padding: 0 24px;
}
.blog-title {
font-weight: 500;
font-size: 24px;
}
@media screen and (min-width: 1025px) {
.blog {
padding-bottom: 116px;
}
.blog-title {
font-size: 32px;
}
.blog-images-image {
margin: 0;
}
.blog .flex-box[data-type="reversed"] {
flex-direction: column;
}
.blog-article {
width: 30.5%;
margin: 0 auto;
}
.blog-description {
line-height: 24px;
}
.blog-images {
width: 71%;
height: auto;
margin: 0 auto;
}
}
/*--------*\
= FOOTER =
\*--------*/
.footer {
flex-direction: column;
padding: 38px 0;
}
/*CUBE CSS styles*/
/*-------------*\
= COMPOSITION =
\*-------------*/
.flow *+* {
margin-top: var(--hs-flow-space);
}
.grid-box {
display: grid;
gap: var(--hs-grid-space);
}
.flex-box {
display: flex;
gap: var(--hs-flex-space);
}
.flex-box[data-type="reversed"] {
flex-direction: column-reverse;
}
/*-------*\
= UTILS =
\*-------*/
.center {
align-items: center;
justify-content: center;
}
.text-upper {
text-transform: uppercase;
}
.text-center {
text-align: center;
}
.box-shadow {
box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.23);
}
.clr-gray-100 {
color: var(--clr-gray-100);
}
.bg-clr-black {
background-color: var(--bg-clr-black);
}
.bg-clr-gray {
background-color: var(--bg-clr-gray);
}
@media only screen and (max-width: 1024px) {
.image-mobile {
display: flex;
}
.image-desktop {
display: none;
}
}
@media only screen and (min-width: 1025px) {
.image-mobile {
display: none;
}
.image-desktop {
display: flex;
}
}