@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Maven+Pro:wght@400;500;600;700;800;900&family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); /* Variables */ :root { --white: hsl(20, 20%, 98%); --gray-1: hsl(20, 20%, 95%); --gray-2: hsl(20, 20%, 85%); --gray-3: hsl(20, 20%, 80%); --gray-4: hsl(20, 20%, 30%); --black: hsl(20, 20%, 20%); --accent: hsl(354, 81%, 56%); --font-title: 'Work Sans', sans-serif; --font-body: 'Maven Pro', sans-serif; --font-1: 4.209em; --font-2: 3.157em; --font-3: 2.369em; --font-4: 1.777em; --font-5: 1.333em; --font-6: 0.75em; --line-width: 2px; } /* Modificación básica de elementos*/ body { max-width: 75em; margin: 0 auto; padding: 0 1rem 4rem 1em; font-family: var( --font-body ); color: var(--black); overflow-y: scroll; line-height: 1.65; font-size: 100%; background-color: var(--white); } p { margin-bottom: 1.15em; } input { border: 1px var(--gray-2) solid; padding: .3em .5em; } button { border: 1px var(--gray-2) solid; &.link { display: inline; border: none; background-color: inherit; padding: 0; cursor: pointer; } } a, button.link { color: var(--accent); text-decoration: none; &:hover { text-decoration: underline; } } h1, h2, h3, h4, h5 { line-height: 1.30; font-family: var(--font-title); font-weight: 800; } h1 { margin-top: 0; font-size: var(--font-1); } h2 { font-size: var(--font-2); } h3 { font-size: var(--font-3); } h4 { font-size: var(--font-4); } h5 { font-size: var(--font-5); } small, .text_small { font-size: var(--font-6); } button.button { border: none; box-shadow: inset 0 0 0 var(--line-width) var(--accent); background-color: var(--white); padding: .5em 1em; font-weight: 500; font-size: var(--font-5); color: var(--accent); cursor: pointer; &:hover { transition: .2s ease-in-out; box-shadow: inset 0 0 0 calc(var(--line-width) + 2px) var(--accent); } } figure { height: 100%; width: 100%; } svg { display: block; } /* Navbar */ .nav { display: flex; min-height: 3.25em; position: relative; justify-content: space-between; align-items: center; .branding { margin: 0; font-size: 1.777em; } .nav-links { display: flex; .link { margin-left: 1em; } } } /* Pagination */ ul.pagination { display: flex; margin: 1rem auto; justify-content: space-between; font-weight: 500; .page-center { display: flex; } .page-item { height: 2.5em; text-align: center; &.left, &.right { width: 7em; } .page-link { display: inline-block; height: 100%; margin-right: .4em; padding: .75rem 1em; color: var(--black); text-decoration: none; line-height: 1; &.active { color: var(--accent); border-bottom: var(--line-width) solid var(--accent); } &:hover:not(.active) { border-bottom: var(--line-width) solid var(--accent); } &:focus { outline: none; } } } .spacing { margin: auto 1em; font-weight: normal; } } /* Input with icon */ .input-with-icon { display: flex; input { border-right: none; } button { border-left: none; background: white; } } /* Lista de entidades */ // ul.entity_list { // display: flex; // flex-direction: column; // // li.artist, li.disc, li.song { // border-bottom: var(--line-width) var(--gray-1) solid; // margin-bottom: 1em; // // .cover-container { // width: 200px; // height: 200px; // margin: 1em; // } // // &:last-child { // margin-bottom: auto; // } // // &:hover { // background-color: var(--gray-1); // border-bottom: var(--line-width) var(--accent) solid; // } // // a { // display: flex; // text-decoration: none; // color: var(--black); // align-items: center; // height: 100%; // // .description { // display: flex; // flex-direction: column; // justify-content: center; // padding-left: 1em; // // .small { // color: var(--gray-4); // font-size: .8em; // } // } // // } // } // // li.artist { // height: 4em; // } // // li.disc { // height: 14em; // // a { // .release-date { // display: inline-block; // font-size: .7em; // background-color: var(--gray-4);; // color: var(--white); // padding: .1rem .5em; // border-radius: .25em; // text-align: center; // line-height: 1; // } // } // } // // li.song { // height: 4em; // } // } .cover-caption { figcaption { display: inline-block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-top: .5em; line-height: 1; font-weight: 500; max-width: 250px; &:after { display: block; content: ''; border-bottom: solid var(--line-width) var(--accent); transition: width 250ms ease-in-out; width: 0; } } } .coverart { object-fit: cover; width: 100%; height: 100%; outline: 1px var(--gray-2) solid; &.loading { display: none; } } /* Tabs */ ul.tabs { display: flex; align-items: stretch; border-bottom: var(--line-width) var(--gray-1) solid; margin: 1rem 0; li.tab { padding: .5rem 1em; margin-bottom: -2px; cursor: pointer; &:hover { border-bottom: var(--line-width) var(--gray-2) solid; } &.selected { border-bottom: var(--line-width) var(--accent) solid; } } } /* Artists */ .artist-view { .artist { .title { h1 { margin-bottom: 0 } h4 { margin-top: 0; margin-bottom: .5em } max-width: 60%; } .button { margin: .5em auto; } .tags { display: flex; flex-wrap: wrap; li { border-bottom: var(--line-width) solid var(--accent); margin-right: 1em; line-height: 1; margin-bottom: .5em; font-weight: 500; } } margin-bottom: 1em; } .discs { .discs-list { $grid-width: 250px; $grid-gap: 45px; display: grid; grid-auto-rows: $grid-width; gap: $grid-gap; justify-content: start; align-content: start; @for $x from 1 to 5 { @media (min-width: $grid-width * $x + $grid-gap * 3) { grid-template-columns: repeat($x, auto); } } @media (min-width: $grid-width * 4 + $grid-gap * 3) { justify-content: space-between; } .cover-container { width: 250px; height: 250px; cursor: pointer; &:hover{ .cover-caption figcaption:after { width: 100%; } .coverart { transition: all 200ms ease-in-out; outline: 6px var(--accent) solid; outline-offset: -4px; } } } margin-bottom: 3em; } } } /* Utils */ .full-width { width: 100%; } .pulsating { animation: pulsating 1s infinite alternate ease-in-out; @keyframes pulsating { from { background-color: var(--white); } to { background-color: var(--gray-2); } } } *[hidden] { visibility: hidden; } .space-between { display: flex; justify-content: space-between; @media (max-width: 767px) { justify-content: flex-start; align-items: flex-start; flex-direction: column; } }