html,
body {
    height: 100%;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.wrap > .container {
    padding: 0 15px 20px;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

#shipping-types label, #payment-types label{
    display: block;
}

.address-btn{
    margin: 10px auto;
}

.mt-15{
    margin-top: 15px;
}
.mt-30{
    margin-top: 30px;
}
.mt-60{
    margin-top: 60px;
}
.mb-30{
    margin-bottom: 30px;
}
.mb-15{
    margin-bottom: 15px;
}

.pt-30{
    padding-top: 30px;
}
.pr-15{
    padding-right: 15px;
}

/** Five equal column **/
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 576px){
    .col-sm-5ths{
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}

@media (min-width: 768px) {
    .col-md-5ths {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .col-sm-5ths{
        width: 20%;
    }
}

@media (min-width: 992px) {
    .col-lg-5ths{
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}

/** 4/5 column **/
.col-xs-4-div-5,
.col-sm-4-div-5,
.col-md-4-div-5,
.col-lg-4-div-5 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-4-div-5 {
    width: 80%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-4-div-5 {
        width: 80%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-4-div-5 {
        width: 80%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-4-div-5 {
        width: 80%;
        float: left;
    }
}