wingcss
Version:
A lightweight, responsive CSS Framework
463 lines (385 loc) • 7.95 kB
CSS
/*
* Wing 1.0.0-beta
* Copyright 2016, Kabir Shah
* http://usewing.ml/
* Free to use under the MIT license.
* https://kingpixil.github.io/license
*/
/*------------------------------------------------------------
Base Style
------------------------------------------------------------*/
html {
box-sizing: border-box;
font-size: 62.5%;
margin: 0;
padding: 0;
}
body {
letter-spacing: 0.01em;
line-height: 1.6;
font-size: 1.5em;
font-weight: 400;
font-family: -apple-system, BlinkMacSystemFont, Avenir, "Avenir Next", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
/*------------------------------------------------------------
Typography
------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
font-weight: 400;
font-family: -apple-system, BlinkMacSystemFont, Avenir, "Avenir Next", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
h1, h2, h3 {
letter-spacing: -.1rem;
}
h1 {
font-size: 4.0rem;
line-height: 1.2;
}
h2 {
font-size: 3.6rem;
line-height: 1.25;
}
h3 {
font-size: 3.0rem;
line-height: 1.3;
}
h4 {
font-size: 2.4rem;
line-height: 1.35;
letter-spacing: -.08rem;
}
h5 {
font-size: 1.8rem;
line-height: 1.5;
letter-spacing: -.05rem;
}
h6 {
font-size: 1.5rem;
line-height: 1.6;
letter-spacing: 0;
}
@media (min-width: 550px) {
h1 {
font-size: 5.0rem;
}
h2 {
font-size: 4.2rem;
}
h3 {
font-size: 3.6rem;
}
h4 {
font-size: 3.0rem;
}
h5 {
font-size: 2.4rem;
}
h6 {
font-size: 1.5rem;
}
}
/*------------------------------------------------------------
Links
------------------------------------------------------------*/
a {
color: #104cfb;
transition: all .1s ease;
}
a:hover {
color: #222222;
}
/*------------------------------------------------------------
Buttons
------------------------------------------------------------*/
button, [type=submit] {
padding: 1.1rem 3.5rem;
margin: 1rem 0;
background: #111111;
color: #f5f5f5;
border-radius: 2px;
border: none;
font-size: 1.3rem;
transition: all .2s ease;
}
button.outline, [type=submit].outline {
padding: 1.1rem 3.5rem;
background: none;
color: #111111;
border: 1.5px solid #111111;
}
button:hover, [type=submit]:hover {
background: #222222;
}
button.outline:hover, [type=submit].outline:hover {
background: none;
border: 1.5px solid #444444;
color: #444444;
}
button:focus, [type=submit]:focus {
outline: none;
}
button:active, [type=submit]:active {
transform: scale(.99);
}
/*------------------------------------------------------------
Forms
------------------------------------------------------------*/
input[type=text], input[type=password], input[type=email], input[type=search], input[type=number], input[type=file], input[type=tel], select, textarea, textarea[type=text] {
margin: 1rem 0;
width: 100%;
max-width: 100%;
border-radius: 2px;
border: 1px solid #a4a4a4;
font-size: 1.3rem;
transition: all .2s ease;
}
input[type=text]:hover, input[type=password]:hover, input[type=email]:hover, input[type=search]:hover, input[type=number]:hover, input[type=file], input[type=tel], select:hover, textarea:hover, textarea[type=text]:hover {
border: 1px solid #111111;
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=search]:focus, input[type=number], input[type=file], input[type=tel], select:focus textarea:focus, textarea[type=text]:focus {
outline: none;
border: 1px solid #104cfb;
}
input[type=text], input[type=password], input[type=email], input[type=search], input[type=number], input[type=file], input[type=tel], select {
padding: 1.1rem;
}
textarea, textarea[type=text] {
height: 10rem;
padding: 14px 20px;
}
.container {
max-width: 960px;
margin: 0 auto;
width: 80%;
}
.row {
display: flex;
flex-flow: row wrap;
justify-content: space-between;
}
.row > :first-child {
margin-left: 0;
}
.row > :last-child {
margin-right: 0;
}
.col {
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.col, [class^='col-'], [class*=" col-"] {
margin: 1rem;
}
.col-1 {
flex: 1;
}
.col-2 {
flex: 2;
}
.col-3 {
flex: 3;
}
.col-4 {
flex: 4;
}
.col-5 {
flex: 5;
}
.col-6 {
flex: 6;
}
.col-7 {
flex: 7;
}
.col-8 {
flex: 8;
}
.col-9 {
flex: 9;
}
.col-10 {
flex: 10;
}
.col-11 {
flex: 11;
}
.col-12 {
flex: 12;
}
@media screen and (max-width: 768px) {
.col, [class^='col-'], [class*=" col-"] {
margin: 0;
flex: 0 0 100%;
}
}
/*------------------------------------------------------------
Lists
------------------------------------------------------------*/
ul {
list-style: circle inside;
}
ol {
list-style: decimal inside;
}
/*------------------------------------------------------------
Tables
------------------------------------------------------------*/
.table {
width: 100%;
border: none;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.table th, .table td {
vertical-align: middle;
padding: 12px 4px;
}
.table thead {
border-bottom: 2px solid #333030;
}
/* responsive tables */
@media screen and (max-width: 768px) {
.table.responsive {
position: relative;
display: block;
}
.table.responsive th, .table.responsive td {
margin: 0;
}
.table.responsive thead {
display: block;
float: left;
border: 0;
}
.table.responsive thead tr {
display: block;
padding: 0 10px 0 0;
border-right: 2px solid #333030;
}
.table.responsive th {
display: block;
text-align: right;
}
.table.responsive tbody {
display: block;
overflow-x: auto;
white-space: nowrap;
}
.table.responsive tbody tr {
display: inline-block;
}
.table.responsive td {
display: block;
min-height: 16px;
text-align: left;
}
.table.responsive tr {
padding: 0 10px;
}
}
/*------------------------------------------------------------
Utilities
------------------------------------------------------------*/
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.text-center {
text-align: center;
}
.full-screen {
width: 100%;
min-height: 100vh;
}
.vertical-align {
display: flex;
align-items: center;
}
.horizontal-align {
display: flex;
justify-content: center;
}
.center {
display: flex;
align-items: center;
justify-content: center;
}
.right {
display: flex;
align-items: center;
justify-content: flex-end;
}
.left {
display: flex;
align-items: center;
justify-content: flex-start;
}
.fixed {
position: fixed;
width: 100%;
}
@media screen and (max-width: 400px) {
.hide-phone { display: none; }
}
@media screen and (max-width: 768px) {
.hide-tablet { display: none; }
}
/*------------------------------------------------------------
Misc
------------------------------------------------------------*/
code {
padding: 0.2rem 0.5rem;
margin: 0 0.2rem;
font-size: 90%;
white-space: nowrap;
background: #F1F1F1;
border: 1px solid #E1E1E1;
border-radius: 4px;
font-family: "Consolas", "Monaco", "Menlo", monospace;
}
pre > code {
display: block;
padding: 1rem 1.5rem;
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
/*------------------------------------------------------------
Navigation
------------------------------------------------------------*/
.nav {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 1rem;
}
.nav-menu,
.nav-brand {
display: flex;
}
.nav-menu {
flex-flow: row;
flex: 1 0 auto;
}
.nav-item {
padding: 1rem 2rem;
}
.nav-logo {
font-weight: bolder;
font-size: 2rem;
line-height: 0;
}