@charset "utf-8";
/* CSS Document */

/* ==========================================================
   AIRPORT MINI STORAGE
   STORAGE UNIT PRICING TABLE
   ========================================================== */

.storage-pricing {
    width: 100%;
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 20px;
}

.storage-pricing h2 {
    margin: 0 0 25px;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.3;
}

/* Table wrapper allows horizontal scrolling on smaller screens */

.storage-table-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Main table */

.storage-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: #ffffff;
    font-size: 1rem;
    line-height: 1.5;
}

/* Caption */

.storage-table caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Header */

.storage-table thead th {
    padding: 15px 18px;
    background: #333333;
    color: #ffffff;
    text-align: left;
    font-weight: 700;
    vertical-align: middle;
    border: 1px solid #333333;
}

/* Table cells */

.storage-table tbody td {
    padding: 15px 18px;
    border: 1px solid #d5d5d5;
    vertical-align: top;
}

/* Unit size column */

.storage-table tbody td:first-child {
    width: 18%;
    font-weight: 700;
    white-space: nowrap;
}

/* Price column */

.storage-table tbody td:nth-child(2) {
    width: 18%;
    font-weight: 700;
    white-space: nowrap;
}

/* Description column */

.storage-table tbody td:nth-child(3) {
    width: 64%;
}

/* Alternating rows */

.storage-table tbody tr:nth-child(even) {
    background: #f7f7f7;
}

/* Mouse-over effect */

.storage-table tbody tr:hover {
    background: #eeeeee;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media screen and (max-width: 800px) {

    .storage-pricing {
        padding: 0 15px;
    }

    .storage-table {
        font-size: 0.95rem;
    }

    .storage-table thead th,
    .storage-table tbody td {
        padding: 12px 14px;
    }

}


/* ==========================================================
   MOBILE
   Converts the table into stacked cards.
   ========================================================== */

@media screen and (max-width: 600px) {

    .storage-pricing {
        margin: 30px auto;
        padding: 0 12px;
    }

    .storage-pricing h2 {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .storage-table-wrapper {
        overflow-x: visible;
    }

    .storage-table,
    .storage-table thead,
    .storage-table tbody,
    .storage-table tr,
    .storage-table th,
    .storage-table td {
        display: block;
        width: 100%;
    }

    /* Hide desktop table header */

    .storage-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .storage-table tbody tr {
        margin-bottom: 18px;
        border: 1px solid #d5d5d5;
        background: #ffffff;
    }

    .storage-table tbody tr:nth-child(even) {
        background: #ffffff;
    }

    .storage-table tbody td {
        position: relative;
        width: 100%;
        padding: 10px 15px 10px 43%;
        border: 0;
        border-bottom: 1px solid #dddddd;
        min-height: 42px;
    }

    .storage-table tbody td:last-child {
        border-bottom: 0;
    }

    /* Labels generated from data-label attributes */

    .storage-table tbody td::before {
        content: attr(data-label);
        position: absolute;
        left: 15px;
        top: 10px;
        width: 35%;
        font-weight: 700;
    }

    .storage-table tbody td:first-child,
    .storage-table tbody td:nth-child(2) {
        white-space: normal;
    }

}
