diff --git a/Trillo/starter/css/style.css b/Trillo/starter/css/style.css index f5bdb44..a5debf6 100644 --- a/Trillo/starter/css/style.css +++ b/Trillo/starter/css/style.css @@ -66,6 +66,10 @@ body { align-items: center; justify-content: center; flex: 0 0 40%; } + @media only screen and (max-width: 31.25em) { + .search { + order: 1; + flex-basis: 100%; } } .search__input { font-family: inherit; font-size: inherit; @@ -138,10 +142,20 @@ body { font-size: 1.4rem; list-style: none; margin-top: 3.5rem; } + @media only screen and (max-width: 56.25em) { + .side-nav { + display: flex; + margin: 0; } } .side-nav__item { position: relative; } .side-nav__item:not(:last-child) { margin-bottom: 0.5rem; } + @media only screen and (max-width: 56.25em) { + .side-nav__item:not(:last-child) { + margin-bottom: 0; } } + @media only screen and (max-width: 56.25em) { + .side-nav__item { + flex: 1; } } .side-nav__item::before { content: ""; position: absolute; @@ -167,17 +181,34 @@ body { padding: 1.5rem 3rem; position: relative; z-index: 10; } + @media only screen and (max-width: 56.25em) { + .side-nav__link:link, .side-nav__link:visited { + justify-content: center; + padding: 2rem; } } + @media only screen and (max-width: 37.5em) { + .side-nav__link:link, .side-nav__link:visited { + flex-direction: column; + padding: 1rem; } } .side-nav__icon { width: 1.75rem; height: 1.75rem; margin-right: 2rem; fill: currentColor; } + @media only screen and (max-width: 37.5em) { + .side-nav__icon { + margin-right: 0; + margin-bottom: 0.7rem; + width: 1.5rem; + height: 1.5rem; } } .legal { font-size: 1.2rem; color: var(--color-grey-light-4); text-align: center; padding: 2.5rem; } + @media only screen and (max-width: 56.25em) { + .legal { + display: none; } } .gallery { display: flex; } @@ -195,6 +226,10 @@ body { text-transform: uppercase; letter-spacing: 1px; padding: 1.5rem 3rem; } + @media only screen and (max-width: 37.5em) { + .overview__heading { + font-size: 1.8rem; + padding: 1.25rem 2rem; } } .overview__stars { margin-right: auto; display: flex; } @@ -218,13 +253,22 @@ body { flex-direction: column; align-items: center; justify-content: center; } + @media only screen and (max-width: 37.5em) { + .overview__rating { + padding: 0 1.5rem; } } .overview__rating-average { font-size: 2.25rem; font-weight: 300; margin-bottom: -3px; } + @media only screen and (max-width: 37.5em) { + .overview__rating-average { + font-size: 1.8rem; } } .overview__rating-count { font-weight: 0.8rem; text-transform: uppercase; } + @media only screen and (max-width: 37.5em) { + .overview__rating-count { + font-size: 0.5rem; } } .btn { position: relative; @@ -310,10 +354,12 @@ body { display: inline-block; height: 1rem; width: 1rem; - margin-right: 0.7rem; - background-color: var(--color-primary); - mask-image: url("../img/chevron-thin-right.svg"); - mask-size: cover; } + margin-right: 0.7rem; } + @supports (-webkit-mask-image: url()) or (mask-image: url()) { + .list__item::before { + background-color: var(--color-primary); + mask-image: url("../img/chevron-thin-right.svg"); + mask-size: cover; } } .recommend { font-size: 1.3rem; @@ -322,6 +368,8 @@ body { align-items: center; } .recommend__count { margin-right: auto; } + .recommend__friends { + display: flex; } .recommend__photo { box-sizing: content-box; height: 4rem; @@ -338,6 +386,10 @@ body { margin-bottom: 3.5rem; position: relative; overflow: hidden; } + @media only screen and (max-width: 56.25em) { + .review { + padding: 2rem; + margin-bottom: 3rem; } } .review::before { content: "\201C"; position: absolute; @@ -376,8 +428,11 @@ body { color: var(--color-primary); } .cta { - padding: 3.5rem; + padding: 3.5rem 0; text-align: center; } + @media only screen and (max-width: 56.25em) { + .cta { + padding: 2.5rem 0; } } .cta__book-now { font-size: 2rem; font-weight: 300; @@ -404,9 +459,17 @@ body { justify-content: space-between; align-items: center; font-size: 1.4rem; } + @media only screen and (max-width: 68.75em) { + .header { + flex-wrap: wrap; + align-content: space-around; + height: 11rem; } } .content { display: flex; } + @media only screen and (max-width: 56.25em) { + .content { + flex-direction: column; } } .sidebar { background-color: var(--color-grey-dark-1); @@ -426,12 +489,26 @@ body { background-color: var(--color-grey-light-1); border-bottom: 1px solid var(--color-grey-light-2); font-size: 1.4rem; } + @media only screen and (max-width: 56.25em) { + .detail { + padding: 3rem; + gap: 3rem; } } + @media only screen and (max-width: 37.5em) { + .detail { + flex-direction: column; + gap: 0; } } .description { background-color: white; box-shadow: var(--shadow-light); padding: 3rem; flex: 0 0 60%; } + @media only screen and (max-width: 56.25em) { + .description { + padding: 2rem; } } + @media only screen and (max-width: 37.5em) { + .description { + margin-bottom: 3rem; } } .user-reviews { flex: 1; diff --git a/Trillo/starter/sass/_base.scss b/Trillo/starter/sass/_base.scss index 84a7516..3997734 100644 --- a/Trillo/starter/sass/_base.scss +++ b/Trillo/starter/sass/_base.scss @@ -33,8 +33,11 @@ Grey dark 3: #999 --line: 1px solid var(--color-grey-light-2); } -$bp-largest: 75em; -$bp-large: 68.75em; +$bp-largest: 75em; // 1200px +$bp-large: 68.75em; // 1100px +$bp-medium: 56.25em; // 900px +$bp-small: 37.5em; // 600px +$bp-smallest: 31.25em; // 500px * { margin: 0; diff --git a/Trillo/starter/sass/_components.scss b/Trillo/starter/sass/_components.scss index 7d41805..19d0274 100644 --- a/Trillo/starter/sass/_components.scss +++ b/Trillo/starter/sass/_components.scss @@ -11,6 +11,11 @@ justify-content: center; flex: 0 0 40%; + @media only screen and (max-width: $bp-smallest) { + order: 1; // NOTE: changes html order + flex-basis: 100%; // flex: 0 0 100%; + } + &__input { font-family: inherit; font-size: inherit; @@ -121,11 +126,23 @@ list-style: none; margin-top: 3.5rem; + @media only screen and (max-width: $bp-medium) { + display: flex; + margin: 0; + } + &__item { position: relative; &:not(:last-child) { margin-bottom: 0.5rem; + @media only screen and (max-width: $bp-medium) { + margin-bottom: 0; + } + } + + @media only screen and (max-width: $bp-medium) { + flex: 1; } } @@ -168,6 +185,16 @@ position: relative; z-index: 10; + + @media only screen and (max-width: $bp-medium) { + justify-content: center; + padding: 2rem; + } + + @media only screen and (max-width: $bp-small) { + flex-direction: column; + padding: 1rem; + } } &__icon { @@ -175,6 +202,13 @@ height: 1.75rem; margin-right: 2rem; fill: currentColor; //NOTE: color of current or parent element + + @media only screen and (max-width: $bp-small) { + margin-right: 0; + margin-bottom: 0.7rem; + width: 1.5rem; + height: 1.5rem; + } } } @@ -184,6 +218,10 @@ color: var(--color-grey-light-4); text-align: center; padding: 2.5rem; + + @media only screen and (max-width: $bp-medium) { + display: none; + } } // Gallery @@ -209,6 +247,10 @@ letter-spacing: 1px; padding: 1.5rem 3rem; + @media only screen and (max-width: $bp-small) { + font-size: 1.8rem; + padding: 1.25rem 2rem; + } } &__stars { @@ -243,17 +285,27 @@ flex-direction: column; align-items: center; justify-content: center; + + @media only screen and (max-width: $bp-small) { + padding: 0 1.5rem; + } } &__rating-average { font-size: 2.25rem; font-weight: 300; margin-bottom: -3px; + @media only screen and (max-width: $bp-small) { + font-size: 1.8rem; + } } &__rating-count { font-weight: 0.8rem; text-transform: uppercase; + @media only screen and (max-width: $bp-small) { + font-size: 0.5rem; + } } } @@ -400,9 +452,12 @@ // NOTE: Newer browsers - masks // icon mask that lets you see the background color - background-color: var(--color-primary); - mask-image: url("../img/chevron-thin-right.svg"); - mask-size: cover; + // NOTE: feature query (requires a value) + @supports (-webkit-mask-image: url()) or (mask-image: url()) { + background-color: var(--color-primary); + mask-image: url("../img/chevron-thin-right.svg"); + mask-size: cover; + } } } } @@ -420,6 +475,7 @@ } &__friends { + display: flex; } &__photo { @@ -446,6 +502,11 @@ position: relative; overflow: hidden; + @media only screen and (max-width: $bp-medium) { + padding: 2rem; + margin-bottom: 3rem; + } + &::before { content: "\201C"; // NOTE: html entity position: absolute; @@ -503,9 +564,13 @@ // cta .cta { - padding: 3.5rem; + padding: 3.5rem 0; text-align: center; + @media only screen and (max-width: $bp-medium) { + padding: 2.5rem 0; + } + &__book-now { font-size: 2rem; font-weight: 300; diff --git a/Trillo/starter/sass/_layout.scss b/Trillo/starter/sass/_layout.scss index bf6cbbb..7cb2580 100644 --- a/Trillo/starter/sass/_layout.scss +++ b/Trillo/starter/sass/_layout.scss @@ -22,10 +22,19 @@ align-items: center; font-size: 1.4rem; + + @media only screen and (max-width: $bp-large) { + flex-wrap: wrap; + align-content: space-around; + height: 11rem; + } } .content { display: flex; + @media only screen and (max-width: $bp-medium) { + flex-direction: column; + } } .sidebar { @@ -50,6 +59,16 @@ border-bottom: 1px solid var(--color-grey-light-2); font-size: 1.4rem; + + @media only screen and (max-width: $bp-medium) { + padding: 3rem; + gap: 3rem; + } + + @media only screen and (max-width: $bp-small) { + flex-direction: column; + gap: 0; + } } .description { @@ -57,6 +76,12 @@ box-shadow: var(--shadow-light); padding: 3rem; flex: 0 0 60%; + @media only screen and (max-width: $bp-medium) { + padding: 2rem; + } + @media only screen and (max-width: $bp-small) { + margin-bottom: 3rem; + } } .user-reviews {