frontend-dorset/exercises/assets/css/buttons-icons.css

240 lines
6.0 KiB
CSS

/* ============= WEB BROWSER RESETS ============ */
* { margin: 0; padding: 0; border: none }
*, *::before, *::after { box-sizing: border-box }
html { height: 100%; font-size: 100%; font: inherit; vertical-align: baseline;
scroll-behavior: smooth; scroll-padding-top: 20px }
body { max-width: 1920px; line-height: 1.5; margin-left: auto; margin-right: auto;
min-height: 100vh; text-rendering: optimizeSpeed }
img { width: 100%; height: auto; display: block }
h1, h2, h3, h4 { width: 100% }
input, button, textarea, select { font: inherit }
/* ================= ENDS ================ */
/* ============== HEADERS AND SECTIONS ============ */
/* Default header and widths */
header, section { width: 100% }
/* Last element at bottom of header or section */
header *:last-child, section *:last-child { margin-bottom: 0 }
/* =================== HEADER ================ */
/* Regular and larger screens */
@media (min-width: 1200px) {
header {
margin-left: auto;
margin-right: auto;
padding: 1% 0 3% 0;
padding-left: calc( (100% - 1140px)/2 );
padding-right: calc( (100% - 1140px)/2 );
}
.header-narrow {
padding-left: calc( (100% - 920px)/2 );
padding-right: calc( (100% - 920px)/2 );
}
}
/* Tablets and smaller desktops */
@media (min-width: 1025px) and (max-width: 1199px ) {
header { padding: 3% 10% 4% 10% }
}
/* Tablets */
@media (min-width: 768px) and (max-width: 1024px) {
header { padding: 4% 5% 4% 5% }
}
/* Larger mobiles */
@media (min-width: 400px) and (max-width: 767px) {
header { padding: 7% 13% 8% 13% }
}
/* Smaller mobiles */
@media (max-width: 399px) {
header { padding: 7% 10% 8% 10% }
}
/* Image in header */
header img {
max-width: 800px;
margin-left: auto;
margin-right: auto;
margin-bottom: 24px;
}
/* Main heading in header */
header h1 {
font-family: 'Fira Sans', sans-serif;
font-size: calc(48px + (84 - 48) * ((100vw - 320px) / (1140 - 320)));
color: #1435b3;
letter-spacing: 1px;
margin-bottom: 20px;
font-weight: 500;
}
/* Sub-heading in header */
header h2 {
font-family: 'Fira Sans', sans-serif;
font-size: calc(19px + (22 - 18) * ((100vw - 320px) / (1140 - 320)));
color: #2F4F4F;
line-height: 1.6;
font-weight: 500;
}
/* ======================= SECTIONS ======================== */
/* Regular and larger screens */
@media (min-width: 1200px) {
section {
margin-left: auto;
margin-right: auto;
padding: 3.5% 0 4% 0;
padding-left: calc( (100% - 1140px)/2 );
padding-right: calc( (100% - 1140px)/2 );
}
.section-narrow {
padding-left: calc( (100% - 920px)/2 );
padding-right: calc( (100% - 920px)/2 );
}
}
/* Tablets and smaller desktops */
@media (min-width: 1025px) and (max-width: 1199px ) {
section { padding: 3% 10% 4% 10% }
}
/* Tablets */
@media (min-width: 768px) and (max-width: 1024px) {
section { padding: 4% 5% 4% 5% }
}
/* Larger mobiles */
@media (min-width: 400px) and (max-width: 767px) {
section { padding: 7% 13% 8% 13% }
}
/* Smaller mobiles */
@media (max-width: 399px) {
section { padding: 7% 10% 8% 10% }
}
/* Sections: main heading */
section h1 {
font-family: 'Fira Sans', sans-serif;
font-size: calc(32px + (48 - 32) * ((100vw - 320px) / (1140 - 320)));
letter-spacing: 1px;
color: #1435b3;
margin-bottom: 12px;
line-height: 1.2;
font-weight: 500;
}
/* Sections: text paragraphs */
section p {
font-family: 'Arvo', serif;
font-size: calc(17px + (21 - 17) * ((100vw - 320px) / (1140 - 320)));
color: #2F4F4F;
margin-bottom: 20px;
line-height: 1.7;
}
/* Coloured backgrounds */
.bg-header { background-color: #f5f9fb }
.bg-blue-light { background-color: #d8f0f5 }
/* Default gradient direction: top to bottom */
.bg-blue-dark { background-image: linear-gradient(#0575e6, #1435b3) }
/* Gradient direction: left to right */
.bg-blue-dark { background-image: linear-gradient(90deg, #0575e6, #1435b3) }
/* Light blue section background: h1 headings and p text paragraphs */
.bg-blue-light h1 { color: #1435b3 }
.bg-blue-light p { color: #222 }
/* Dark blue section background: h1 headings and p text paragraphs */
.bg-blue-dark h1 { color: #fff }
.bg-blue-dark p { color: #fff }
/* =============== BUTTONS AND ICONS ============== */
.container-btn {
margin-top: 32px; margin-bottom: 32px;
display: flex;
}
.container-btn .btn {
align-self: flex-start;
}
@media (min-width: 767px) {
.container-btn a:first-child { margin-right: 40px }
/* .container-btn { justify-content: center } */
}
@media (max-width: 767px) {
.container-btn { flex-direction: column }
.container-btn a:first-child { margin-bottom: 32px }
.container-btn a:last-child { margin-bottom: 0 }
.container-btn .btn { align-self: center }
}
/* All buttons */
.btn {
font-family: sans-serif; text-decoration: none;
padding: 14px 26px; font-size: 18px; font-weight: bold;
/* text-transform: uppercase;
letter-spacing: 1px;
word-spacing: 102%; */
}
/* Solid buttons */
.btn-solid:link, .btn-solid:visited {
background-color: blue;
color: #fff;
}
.btn-solid:focus, .btn-solid:hover, .btn-solid:active {
background-color: darkblue;
color: #fff;
}
/* Gradient buttons */
.btn-gradient:link, .btn-gradient:visited {
background-image: linear-gradient(90deg,#e052a0,#f15c41);
color: #fff;
}
.btn-gradient:focus, .btn-gradient:hover, .btn-gradient:active {
background-image: linear-gradient(to right,#3ec7e0,#526bf4);
color: #fff;
}
/* Ghost buttons */
.btn-ghost:link, .btn-ghost:visited {
border: solid 2px #000;
color: #000;
background-color: transparent;
padding: 12px 24px;
}
.btn-ghost:focus, .btn-ghost:hover, .btn-ghost:active {
border: solid 2px blue;
color: blue;
background-color: transparent;
padding: 12px 24px;
}
/* Button corner styles */
.btn-soft { border-radius: 5px }
.btn-rounded { border-radius: 30px }
/* Buttons with Font Awesome icons */
.btn i { margin-right: 10px; }
/* =============== UTILTY CLASSES ============== */
.text-center { text-align: center !important }