html, body {
    height: 100%;
}

.coming-soon {
    height: 100%;
    background-color: #fcceb7;
    background-image: radial-gradient(#fcceb7 70%, #f6b99f);
}

.coming-soon .content-container {
    position: relative;
    padding-top: 8%;
    height: 100%;
}

.content-container .page-logo-container {
    margin-left: auto;
    margin-right: auto;
    width: 220px;
}

.coming-soon .content-container .coming-soon-phrase {
    font-size: 3.5vw;
    font-family: 'Cormorant-SemiBold';
    text-transform: uppercase;
    color: #000;
    text-align: center;
    position: absolute;
    lefT: 50%;
    bottom: 20%;
    transform: translate(-50%, 0);
}

.coming-soon .content-container .email-container {
    position: absolute;
    lefT: 50%;
    bottom: 10%;
    transform: translate(-50%, 0);
}

.coming-soon .content-container .email-container a {
    font-size: 16px;
    font-family: 'OpenSansRegular';
    color: #ca063c;
    letter-spacing: 0.02em;
    text-decoration: underline;
    transition: none;
}

.coming-soon .content-container .email-container a:focus {
    color: #fff;
}

.coming-soon .content-container .ribbon-container {
    margin-top: 12%;
    position: relative;
}

.coming-soon .content-container .ribbon-container .ribbon {
    width: 100%;
    height: 46px;
    background-color: #fff;
    background: linear-gradient( to right, #fddbca, #fff, #fddbca) no-repeat;
}

.coming-soon .content-container .ribbon-container .bow-container {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
}

@media (max-width: 480px) {
    
    .coming-soon .content-container {
        padding-top: 20%;
    }
    
    .content-container .page-logo-container {
        width: 160px;
    }
    
    .coming-soon .content-container .ribbon-container {
        margin-top: 30%;
    }
    
    .coming-soon .content-container .ribbon-container .ribbon {
        height: 36px;
    }
    
    .coming-soon .content-container .ribbon-container .bow-container {
        top: -68px;
    }
    
    .coming-soon .content-container .ribbon-container .bow-container img {
        width: 250px !important;
    }
    
    .coming-soon .content-container .coming-soon-phrase {
        font-size: 54px !important;
        bottom: 18%;
        line-height: 0.9em !important;
    }
}

@media (max-width: 768px) and (min-width: 481px) and (orientation: landscape) {
    .coming-soon .content-container {
        padding-top: 2%;
    }
    
    .content-container .page-logo-container {
        width: 140px !important;
    }
    
    .coming-soon .content-container .ribbon-container {
        margin-top: 12%;
    }
    
    .coming-soon .content-container .ribbon-container .ribbon {
        height: 36px;
    }
    
    .coming-soon .content-container .ribbon-container .bow-container img {
        width: 250px !important;
    }
    
    .coming-soon .content-container .ribbon-container .bow-container {
        top: -68px;
    }
    
    .coming-soon .content-container .coming-soon-phrase {
        font-size: 48px !important;
        bottom: 20%;
    }
    
    .coming-soon .content-container .email-container {
        bottom: 14%;
    }
}

@media (max-width: 768px) and (min-width: 735px) and (orientation: portrait) {
    .coming-soon .content-container {
        position: relative;
        padding-top: 14%;
    }
    
    .coming-soon .content-container .ribbon-container {
        margin-top: 32%;
    }
    
    .coming-soon .content-container .coming-soon-phrase {
        font-size: 50px !important;
        line-height: 0.9em;
    }
}