/********** common setting **********/
h1, h2, h3, h4, h5, h6 {
    font-family: 'Playfair Display', serif !important;
}

h2 {
    font-size: 2.8rem !important;
    font-weight: 700;
}

img {
    max-width: 100%;
}

a,
button {
    cursor: pointer;
}

.py-6 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

.py-7 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

.py-8 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important;
}

.py-9 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}

.py-10 {
    padding-top: 10rem !important;
    padding-bottom: 10rem !important;
}

.my-6 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
}

.my-7 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important;
}

.my-8 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
}

.my-9 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
}

.my-10 {
    margin-top: 10rem !important;
    margin-bottom: 10rem !important;
}



.jumbotron {
    margin-bottom: 0 !important;
}

.atlas-cta {
    border-radius: 22px !important;
    padding: 12px 30px !important;
    font-weight: 700;
    transition: .3s ease-in-out !important;
}

.atlas-cta:hover {
    text-decoration: none;
    transform: translateY(-5px);
}

.atlas-cta-wide {
    width: 100%;
}

.cta-white {
    background: #ffffff;
    color: #192440;
}

.cta-white:hover {
    color: #ffffff;
    background: #ff7c78;
}

.text-white {
    color: #ffffff;
}

.cta-red {
    background: #ff7c78;
    color: #ffffff;
}

.txt-red {
    color: #ff7c78;
}

.cta-red:hover {
    color: #ffffff;
    background: #e55d59;
}

.txt-green {
    color: #00FFAD;
}

.cta-green {
    background: #00FFAD;
    color: #192440;
}

.cta-green:hover {
    color: #ffffff;
    background: #00e69c;
}

.cta-blue {
    background: #192440;
    color: #ffffff;
}

.txt-blue {
    color: #192440;
}

.cta-blue:hover {
    color: #ffffff;
    background: #121a2e;
}

.cta-ghost {
    border: 2px solid #192440 !important;
    color: #192440;
}

.cta-ghost:hover {
    color: #ffffff;
    background: #121a2e;
}



#banner {
    background-size: cover;
}

/********** banner **********/
#banner header {
    overflow: hidden;
}

@media (min-width: 576px) {
    #banner.jumbotron {
        padding: 2rem 2rem 4rem;
    }
}


/********** feature (skew background) **********/
.feature img {
    width: 100%;
    max-width: 480px;
}

#feature-first {
    background: linear-gradient(168deg, #ffffff 55%, #ff7c78 0);
}

#feature-last {
    background: #ff7c78;
}

/********** price table **********/
#price-table {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

#price-table__premium {
    background: #192440;
    color: #ffffff;
}

#price-table ul li {
    padding: 5px 0;
}

/********** contact **********/
#contact {
    background-size: cover;
}

#contact ul li {
    padding: 3px 0;
}

#contact form {
    color: #fff;
}

#contact form input,
#contact form textarea {
    background: transparent;
    border: 1px solid #fff;
    color: #ffffff;
}

/********** copyright **********/
#copyright {
    background: #192440;
    padding: 2rem 3rem;
}

#copyright #social-media a {
    width: 40px;
    height: 40px;
    border-radius: 99%;
    background: #ffffff;
    transition: .4s ease;
}

#copyright #social-media a i {
    color: #192440;
    font-size: 1.2rem;
    line-height: 40px;
}

#copyright #social-media a:hover {
    background: #ff7c78;
}

#copyright #social-media a:hover i {
    color: #ffffff;
}

/********** RWD **********/
@media (max-width: 575px) {
    #banner h1 {
        font-size: 3.6rem;
    }
}

/********** contact form validation **********/
span.error {
    background: #ff7070;
    padding: 2px 5px;
    display: flex;
    border-radius: 0 0 3px 3px;
    margin-top: -1px;
    border: 0;
    font-style: italic;
    font-size: 0.9rem;
    color: #fff;
}
.valid {
    border: 1px solid green; /* Highlight on success */
}
label.error {
    display: block; /* ensure error message is displayed below input */
}


#form-message {
    padding: 5px;
    border-radius: 3px;
    color: #fff;
    margin-top: 10px;
}

.form-success {
    background: #2eb22e;
    color: #fff;
}

.form-error {
    background: #ff7070;
    color: #fff;
}
