.btn {
    position: relative;
    display: block;
    width: 100%;
    font-size: 16px;
    color: black;
    text-align: center;
    text-decoration: none;
    text-shadow: 0 0 2px rgba(0, 0, 0, .6);
    border: none;
    background: whitesmoke;
    cursor: pointer;
}

.btn-XS {
    height: 22px;
    line-height: 22px;
}

.btn-S {
    height: 26px;
    line-height: 26px;
}

.btn-M {
    height: 30px;
    line-height: 30px;
}

.btn-L {
    height: 34px;
    line-height: 34px;
}

.btn-XL {
    height: 38px;
    line-height: 38px;
}

.btn-XXL {
    height: 42px;
    line-height: 42px;
}

.btn-icon {
    text-shadow: 0 0 2px rgba(0, 0, 0, .2);
}

.btn-fix {
    max-width: 240px;
    margin: 0 auto;
}

.btn-round {
    border-radius: 30px;
}

.btn-blue {
    color: white;
    background: royalblue;
}

.btn-blue.btn-grad {
    background-image: linear-gradient(to bottom, skyblue, royalblue);
}

.btn-blue.btn-inset {
    color: white;
    background: skyblue;
    background-image: linear-gradient(to bottom, royalblue, skyblue);
}

.btn-green {
    color: white;
    background: forestgreen;
}

.btn-green.btn-grad {
    background-image: linear-gradient(to bottom, mediumseagreen, forestgreen);
}

.btn-green.btn-inset {
    color: white;
    background: mediumseagreen;
    background-image: linear-gradient(to bottom, forestgreen, mediumseagreen);
}

.btn-orange {
    color: white;
    background: orangered;
}

.btn-orange.btn-grad {
    background-image: linear-gradient(to bottom, orange, orangered);
}

.btn-orange.btn-inset {
    color: white;
    background: orange;
    background-image: linear-gradient(to bottom, orangered, orange);
}

.btn-red {
    color: white;
    background: darkred;
}

.btn-red.btn-grad {
    background-image: linear-gradient(to bottom, orangered, darkred);
}

.btn-red.btn-inset {
    color: white;
    background: orangered;
    background-image: linear-gradient(to bottom, darkred, orangered);
}

.btn-gray {
    color: white;
    background: dimgray;
}

.btn-gray.btn-grad {
    background-image: linear-gradient(to bottom, darkgray, dimgray);
}

.btn-gray.btn-inset {
    color: white;
    background: darkgray;
    background-image: linear-gradient(to bottom, dimgray, darkgray);
}

.btn:disabled {
    color: black;
    text-shadow: 0 0 2px rgba(255, 255, 255, .6);
    border: none;
    background: lightgray;
    pointer-events: none;
}

