Files
musiclist-client/src/styles/main.scss
2020-06-17 06:06:36 -04:00

333 lines
5.3 KiB
SCSS

@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: 3.052em;
--font-2: 2.441em;
--font-3: 1.953em;
--font-4: 1.563em;
--font-5: 1.25em;
--font-6: 0.8em;
--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);
white-space: nowrap;
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;
margin: auto;
}
svg.icon {
display: inline-block;
vertical-align: text-bottom;
}
.container {
margin-bottom: 1em;
}
/* 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;
}
}
.searchbar {
margin-bottom: 2em;
margin-top: 1em;
button{
width: 4em;
text-align: center;
svg {
height: 50%;
width: auto;
}
}
}
input.big {
font-size: var(--font-4);
font-weight: 500;
}
/* Input with icon */
.input-with-icon {
display: flex;
input {
border-right: none;
}
button {
border-left: none;
background: white;
}
}
.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;
}
}
}
/* 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;
}
}