* {
    box-sizing: border-box;
}

@viewport {
    min-zoom: 1;
}

html, body {
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
}

[class*="col-"] {
    float: left;
    width: 100%;
    min-height: 1px;
}

@media only screen and (min-width: 600px) {
    .pull-left {
        float: left;
    }
    .pull-right {
        float: right;
    }

    /* For desktop: */
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
}

img.auto-shrink {
    max-width: 100%;
}

.block {
    display: block;
}

.btn {
    cursor: pointer;
    text-align: center;
    padding: 10px;
    display: inline-block;
}

.clearfix {
    clear:both;
    display:inline-block;
    display:block;
}

.contained-image {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.covered-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.full-width {
    width: 100%;
}

.larger {
    font-size: larger;
}

.left {
    float: left;
}

.no-margin {
    margin: 0;
}

.no-resize {
    resize: none;
}

.no-resize-h {
    resize: vertical;
}

.normal-text {
    color: black;
    font-weight: normal;
    text-decoration: none;
}

.padded {
    padding: 10px;
}

.right {
    float: right;
}

.row::after {
    content: "";
    clear: both;
    display: block;
}

/* Invisible item retaining height (icons) */
.spacer-height {
    color: rgba(0, 0, 0, 0);
    background-color: rgba(0, 0, 0, 0);
    width: 0;
}

.text-center {
    text-align: center;
}

.va-middle {
    vertical-align: middle;
}

.well {
    padding: 20px;
}