@mixin respond($breakpoint) { @if($breakpoint == desktop) { @media (min-width: 1084px) { @content } } @if($breakpoint == tablet) { @media (min-width: 481px) and (max-width: 1083px) { @content } } @if($breakpoint == mobile) { @media (max-width: 480px) { @content } } } :root { --background: #040810; --foreground-text: #FAF7EF; --bg-accent: #8E9AEC; /* add 99 at the end for constellation, and 0/50% opacity for radial gradient */ --font-family-serif: 'EB Garamond', serif; --font-family-mono: 'Jura', sans-serif; --font-family-sans: 'Sora', sans-serif; @include respond(mobile) { --wp--preset--font-size--x-large: 32px !important; } } * { box-sizing: border-box; } html { background: var(--background); } body { font-family: var(--font-family-sans); color: var(--foreground-text); margin: 0; background: radial-gradient(50% 50% at 50% 50%, rgba(142, 154, 236, 0.40) 0%, rgba(142, 154, 236, 0.00) 100%); } .container { max-width: 908px; margin-inline: auto; @include respond(mobile) { padding-inline: 3rem; } @include respond(tablet) { padding-inline: 3rem; } } a { color: var(--foreground-text); } h2 { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 38px; line-height: 1; margin-block-start: 0; margin-block-end: 42px; } p { margin-block-start: 0; margin-block-end: 25px; line-height: 1.3; } .btn { border: 1px solid; border-radius: 0.85em; padding: .75em 1.5em; text-decoration: none; font-size: 16px; transition: all 0.25s ease; margin-bottom: 26px; font-family: var(--wp--preset--font-family--jura); font-weight: bold; &:hover { text-decoration: none; } &--solid { background-color: var(--foreground-text); color: var(--background); &:hover { background-color: transparent; color: var(--foreground-text); background-color: rgba(255,255,255,0.1); backdrop-filter: blur(30px); color: rgba(255,255,255,0.8); } } } .site-navigation { display: flex; justify-content: space-between; padding: 50px; font-family: var(--font-family-mono); font-weight: 700; text-transform: uppercase; align-items: center; @include respond(mobile) { flex-direction: column; padding-top: 3rem; gap: 2rem; align-items: first baseline; padding-bottom: 0; } ul.pages-list { display: flex; justify-content: space-between; list-style-type: none; gap: 2em; margin: 0; padding: 0; } .action-buttons { display: flex; align-items: center; justify-content: space-between; gap: 1em; @include respond(mobile) { display: none; } .btn { margin-bottom: 0; } } } section { padding-block: 82px; @include respond(mobile) { padding-block: 54px; } } section.hero { padding-block: 0; .hero--container { // max-width: 1440px; margin-inline: auto; display: grid; grid-template-columns: 1fr 446px 170px 292px 1fr; @include respond(mobile) { display: flex; flex-direction: column; padding: 3rem; } @include respond(tablet) { display: flex; flex-direction: column; padding-inline: 3rem; } .hero--text { grid-column: 2 / 4; display: flex; flex-direction: column; justify-content: center; h2 { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 38px; font-weight: 400; max-width: 385px; @include respond(mobile) { font-size: 32px; line-height: 1; margin-top: 2rem; } @include respond(tablet) { font-size: 32px; line-height: 1; margin-top: 2rem; } } p { font-family: var(--wp--preset--font-family--sora); font-size: 18px; @include respond(mobile) { font-size: 16px; } max-width: 446px; } } .hero--img { grid-column: 4 / 6; width: 100%; border: 1px solid white; border-top-left-radius: 12px; border-bottom-left-radius: 12px; border-right: none; // FIXME: Not sure about this rule for the hero image, feels too hacky. We can rework it when building the final pages. max-height: 366px; object-fit: cover; @include respond(mobile) { order: -1; border-radius: 12px; border-right: 1px solid; aspect-ratio: 16/9; } @include respond(tablet) { order: -1; border-radius: 12px; border-right: 1px solid; } } .hero--cta { width: fit-content; @media (min-width: 1000px) { display: none; } } } } .sponsor-logos { padding-top: 78px; @include respond(mobile) { padding-top: 42px; } padding-bottom: 41px; .container { display: flex; text-align: center; flex-wrap: wrap; justify-content: center; align-items: center; @include respond(tablet) { justify-content: center; } @include respond(mobile) { display: grid; place-items: center; gap: 1.2em; justify-content: center; } img { transform: scale(0.67); margin-inline: 7px; } } } section.pitch { padding-block: 82px; text-align: center; h2 { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 38px; @include respond(mobile) {font-size: 32px;} font-weight: 400; line-height: 100%; max-width: 527px; margin-inline: auto; margin-bottom: 54px; } .pitch--cards { display: grid; grid-template-columns: repeat(3, 300px); @include respond(tablet) { grid-template-columns: repeat(3, 1fr); } @include respond(mobile) { grid-template-columns: 1fr; } gap: 16px; .pitch--card-item { border: 1px solid #FAF7EF; border-radius: 12px; text-align: center; padding-block: 25px; padding-inline: 25px; // height: 244px; h3 { font-family: var(--wp--preset--font-family--sora); font-size: 18px; font-weight: 600; line-height: 1.3; } p { font-family: var(--wp--preset--font-family--sora); font-size: 16px; @include respond(mobile) { font-size: 14px; } font-weight: 300; line-height: 1.3; } } } } section.book-club-examples { text-align: center; h2 { font-weight: 400; max-width: 563px; margin-inline: auto; line-height: 1; } .book-club-example-cards { padding-block: 84px; padding-top: 12px; .book-club-example-card--item { display: flex; @include respond(mobile) { flex-direction: column; } max-width: 908px; border: 1px solid var(--foreground-text); border-radius: 12px; margin-inline: auto; margin-block: 36px; @include respond(desktop) { max-height: 264px; } &--img { border-radius: 12px; border-right: 1px solid #F6F6F8; object-fit: cover; @include respond(mobile) { width: 100%; border-bottom-right-radius: 0; border-bottom-left-radius: 0; border: none; border-bottom: 1px solid var(--foreground-text); } } &--text { * { text-align: left; } padding-inline: 40px; padding-block: 36px; p.book-club-example-card--item--text--heading { font-size: 18px; } p { font-size: 16px; @include respond(mobile) { font-size: 14px; } } strong { font-weight: 600; } &--description { font-size: 16px; } @include respond(mobile) { padding-block: 1.8rem; } } } } .btn { display: inline-block; padding-inline: 5em; font-size: 16px; } } section.testimonial-section { h2 { text-align: center; font-weight: 400; } .testimonial-cards { display: flex; gap: 1rem; padding-block: 84px; @include respond(mobile) { flex-direction: column; gap: 2rem; } .testimonial-card--item { border: 1px solid var(--foreground-text); border-radius: 12px; padding: 64px; max-width: 446px; @include respond(mobile) { padding: 1.8rem; } .bio { display: flex; gap: 1rem; padding-bottom: 32px; align-items: center; &--img { border-radius: 100%; border: 1px solid var(--foreground-text); width: 61px; } &--name { max-width: 12ch; font-weight: 600; font-size: 18px; margin-block-end: 0; } } &--description { font-size: 16px; @include respond(mobile) { font-size: 14px; } } } } } section.faq { padding-block: 84px; @include respond(mobile) { padding-block: 42px; } h2 { text-align: center; font-weight: 400; margin-bottom: 3rem; } .faq-list { border: 1px solid white; border-radius: 12px; .faq--item { padding-inline: 60px; padding-inline-start: calc(60px - 16px); padding-block: 45px; @include respond(mobile) { padding-block: 18px; padding-inline: 22px; padding-inline-start: 22px; } border-bottom: 1px solid; &:last-of-type { border-bottom: none; } .answer { margin-top: 16px; padding-left: 16px; @include respond(mobile) { padding-left: 0; } display: block; } summary { cursor: pointer; font-weight: 600; list-style-type: '+'; span { margin-left: 16px; } @include respond(mobile) { span { margin-left: 6px; } &::marker { position: relative; left: -1em;; } } } } .faq--item[open] summary { list-style-type: '-'; } } } section.book-club-benefits { text-align: center; h2 { font-weight: 400; } .benefit-cards { display: grid; grid-template-columns: repeat(2, 1fr); @include respond(mobile) { grid-template-columns: 1fr; } gap: 16px; row-gap: 90px; margin-block: 140px; margin-top: 84px; .benefit-card--item { img { @include respond(desktop) { max-width: 215px; } @include respond(mobile) { width: 100%; } @include respond(tablet) { width: 100%; } border: 1px solid var(--foreground-text); border-radius: 12px; } p { max-width: 289px; margin-inline: auto; margin-top: 21px; strong { font-weight: 600; } } } } .book-club-benefits-cta { .btn { padding-inline: 4em; display: inline-block; } p { font-size: 16px; } } } #by-somos-inf { width: 100%; padding: 50px 0; text-align: center; background-color: lightblue; margin-top: 20px; opacity: 0; transition: all 0.5s ease-in-out; &.show { opacity: 1; } } footer.somos-infinitos-footer { @include respond(desktop) { padding-inline: 114px; } @include respond(mobile) { padding-inline: 3rem; } @include respond(tablet) { padding-inline: 3rem; } padding-top: 73px; margin-top: 200px; padding-bottom: 150px; background-image: url('/wp-content/themes/somos-infinitos-theme/assets/images/footer-bg.svg'); background-repeat: no-repeat; background-position: right; background-size: contain; @include respond(mobile) { .container { padding-inline: 0; } background-size: cover; background-position-x: 253px; padding-bottom: 50px; } .footer-navigation { // margin-top: 75px; // margin-bottom: 120px; margin-top: 0; margin-bottom: 0; // TODO: unhide this later opacity: 0; user-select: none; visibility: hidden; ul.footer-navigation--links { list-style-type: none; padding-inline-start: 0; display: grid; grid-template-columns: repeat(3, 144px); @include respond(mobile) { grid-template-columns: 1fr; gap: 1rem; } li { a { font-size: 14px; display: inline-block; margin-bottom: 14px; font-weight: 400; text-transform: uppercase; text-decoration: none; &:hover, &:focus { text-decoration: none; text-shadow: 0px 0px 0px #fff; } } } } } .email-cta { h3 { font-family: var(--wp--preset--font-family--eb-garamond); font-size: 32px; font-weight: 400; line-height: 1; // display: none; } form { display: none; // display: flex; @include respond(mobile) { flex-direction: column; } gap: 16px; margin-block: 16px; input { padding: 1em; font-family: inherit; @include respond(desktop) { width: 370px; } @include respond(mobile) { width: 286px; } color: var(--foreground-text); background: transparent; border: 1px solid var(--foreground-text); border-radius: 12px; &::placeholder { color: var(--foreground-text); } } button.btn { font-family: inherit; background-color: transparent; color: var(--foreground-text); border: 1px solid; cursor: pointer; @include respond(mobile) { display: inline-block; width: fit-content; margin-bottom: 2rem; } &:hover { background-color: white; color: var(--background); transform: none; } } } .external-social-links { display: flex; align-items: center; gap: 40px; margin-top: 24px; a { display: flex; justify-content: center; align-items: center; text-decoration: none; &:hover { text-decoration: none; } img { height: 20px; &.insta, &.youtube { height: 24px; } } } } } }