/***** Backgrounds *****/
.bg-main {
    background-color: darkslateblue;
    color: #fff;
}

.desc {
    font-size: 1.75rem;
}

.header .col-12:last-child {
    border-top: 1px solid aliceblue;
    text-align: center;
}

@media (min-width: 768px) {
    .header .col-12:last-child {
        border: 0px;
        text-align: left;
    }
}

/***** Typography *****/
.section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
}

section .title {
    font-size: 2.75rem;
    font-weight: 300;
    text-align: center;
    margin-bottom: 30px;
}

/***** Box ****/
.box {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding: 15px;
    margin-top: 10px;
    transition: all .3s ease;
}

.box .title {
    padding-bottom: 10px;
    border-bottom: 1px solid darkblue;
    font-size: 2rem;
}

.box:hover {
    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    margin-top: 5px;
    margin-bottom: 5px;
}

.form-control {
    background-image: linear-gradient(#00a9ff, #00a9fc), linear-gradient(rgb(210, 210, 210), rgb(211, 211, 211));
    background-size: 0 2px, 100% 1px;
    background-color: transparent;
    float: none;
    font-weight: 400;
    border-width: 0px;
    border-style: initial;
    border-color: initial;
    border-image: initial;
    background-repeat: no-repeat;
    background-position: left bottom, center calc(100% - 1px);
    transition: background 0.3s ease-out;
    border-radius: 0;
    font-size: 14px;
    line-height: 1.42;
    padding: 7px 0;
}

.form-control:focus {
    background-image: linear-gradient(#00a9ff, #00a9fc), linear-gradient(rgb(210, 210, 210), rgb(211, 211, 211));
    background-size: 100% 2px, 100% 1px;
    background-color: transparent;
    box-shadow: none;
    transition-duration: 0.3;
    outline: none;
}

/* Buttons */
.btn-mat {
    border: none;
    color: #fff;
    background-color: #333;
    text-transform: uppercase;
    border-radius: 0.2rem;
    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
}

.btn-mat:focus, .btn-mat:hover {
    -webkit-box-shadow: 0px 3px 7px 0px rgb2(0,0,0,0.26);
    -moz-box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.26);
    box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.26);
}

.btn-mat:active {
    -webkit-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    -moz-box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
    box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.16);
}

.btn-mat.btn-sm, .btn-group-sm > .btn-mat {
    font-size: 0.7rem;
    padding: 6px 10px;
}

.btn-mat.btn-md, .btn-group-md > .btn-mat {
    font-size: 0.8rem;
    padding: 10px 20px;
}

.btn-mat.btn-lg, .btn-group-lg > .btn-mat {
    font-size: 0.9rem;
    padding: 15px 30px;
}

.btn-warning {
    background-color: #ffa000;
}

.btn-warning:focus, .btn-warning:hover {
    background-color: #ffb300;
}

.btn-warning:active {
    background-color: #ffb300;
}

.btn-info {
    background-color: #03a9f4;
}

.btn-info:focus, .btn-info:hover {
    background-color: #29b6f6;
}

.btn-info:active {
    background-color: #03a9f4;
}

.btn-success {
    background-color: #4caf50;
}

.btn-success:focus, .btn-success:hover {
    background-color: #66bb6a;
}

.btn-success:active {
    background-color: #4caf50;
}

.btn-girl {
    background-color: #e91e63;
}

.btn-girl:focus, .btn-girl:hover {
    background-color: #ec407a;
}

.btn-girl:active {
    background-color: #e91e63;
}

.btn-error {
    background-color: #d32f2f;
}

.btn-error:focus, .btn-error:hover {
    background-color: #e53935;
}

.btn-error:active {
    background-color: #d32f2f;
}
