
/*
 * Header
 */

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    padding: 20px;
    background-color: #d1d2d4;
    background-image: url(/blossom/images/header-background.png);
    background-position: top center;
    background-repeat: repeat-y;
    z-index: 3;
}

.navbar {
    background: none;
    border: 0;
    margin: 0;
}

.header .logo {
    display: block;
    height: 58px;
}

.navbar .navbar-nav > li > a {
    color: #000;
    font-weight: 700;
    font-size: 16px;
}

.header .padding-left-50 {
    padding-left: 50px !important;
}

.navbar .navbar-toggle {
    margin-right: 0;
    border-color: #666;
}

.navbar .navbar-toggle .icon-bar {
    background-color: #666;
}

@media (min-width: 768px) {
    .header {
        padding-left: 5px;
        padding-right: 5px;
    }
}

@media (max-width: 767px) {
    .header .logo {
        width: 59px;
        background: transparent url(/blossom/images/logo-mobile.png) no-repeat left center;
    }
    
    .header .logo img {
        display: none;
    }
    
    .navbar-collapse {
        max-height: 340px;
    }
}


/*
 * Main
 */

.main {
    margin-top: 98px;
    overflow: hidden;
}

.customContainer {
    width: 61.7%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .customContainer {
        width: 80%;
    }
}

.blackButton {
    display: inline-block;
    background: #000;
    padding: 0.5em 1.8em;
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9vw;
}

.blackButton:hover {
    color: #fff;
    text-decoration: none;
}

@media (max-width: 991px) {
    .blackButton {
        font-size: 1.2vw !important;
    }
}

@media (max-width: 767px) {
    .blackButton {
        font-size: 2vw !important;
    }
}

@media (max-width: 575px) {
    .blackButton {
        font-size: 2.4vw !important;
    }
}

@media (max-width: 767px) {
    .desktopOnly {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .mobileOnly {
        display: none !important;
    }
}


/*
 * Hero
 */

.hero {
    position: relative;
}

.hero-image {
    width: 100%;
}

.hero-texts {
    position: absolute;
    top: 3%;
    right: 17%;
    width: 33%;
}

.hero-title {
    font-size: 4vw;
    color: #f59333;
    font-weight: 900;
    line-height: 1;
    margin-top: 0;
    margin-bottom: 0.3em;
}

.hero-text {
    font-size: 1.2vw;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .hero-texts {
        right: 3%;
        width: 41%;
    }

    .hero-title {
        font-size: 5vw;
    }

    .hero-text {
        font-size: 1.5vw;
    }
}

@media (max-width: 575px) {
    .hero-texts {
        right: 1%;
        width: 37%;
    }
    
    .hero-title {
        font-size: 4.7vw;
    }
    
    .hero-text {
        font-size: 2.5vw;
    }
}


/*
 * Teaser
 */

.teaser {
    display: flex;
    flex-wrap: wrap;
}

.teaser-element {
    position: relative;
    width: 25%;
    flex: 0 0 auto;
}

.teaser-element:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: #000;
    transition: opacity .25s;
    z-index: 1;
}

.teaser-element:hover::after { opacity: .5; }

.teaser-elementImage {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.teaser-elementTexts {
    position: absolute;
    top: 47%;
    left: 10%;
    transform: translateY(-50%);
    width: 80%;
    height: 17%;
    text-align: center;
    z-index: 2;
}

.teaser-elementTitle {
    font-size: 1.8vw;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    height: 32%;
}

.teaser-elementTitle small {
    color: #fff;
}

.teaser-elementText {
    font-size: 1.2vw;
    color: #fff;
    text-transform: uppercase;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    height: 68%;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.1em;
    margin-bottom: 0;
    padding: 0 0.5em;
}


// .teaser-elementArrow {
//     opacity: 0;
//     position: absolute;
//     bottom: 8%;
//     left: 50%;
//     transform: translateX(-50%);
//     width: 13%;
//     transition: opacity 0.3s;
// }

// .teaser-element-active .teaser-elementImage {
//     opacity: 1;
//     transform: translateX(-50%) rotateZ(180deg);
// }

@media (max-width: 767px) {
    .teaser-element {
        width: 50%;
    }
    
    .teaser-elementTitle {
        font-size: 3.6vw;
    }

    .teaser-elementText {
        font-size: 2.4vw;
    }
}
@media (max-width: 499px) {

    .teaser-element {
        width: 80%;
        max-height: 350px;
        margin: 10px auto 0;
    }
        
}


/*
 * Collection
 */

.collection {
    height: 0;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.collection-opened {
    overflow: visible;
}

.collection-content {
    position: relative;
    margin: 5% 0 7%;
    display: inline-block;
    width: 100%;
}

.collection-smallerContent {
    margin: 0 5%;
}

.collection-header {
    position: relative;
    margin-bottom: 5%;
}

.collection-image {
    width: 100%;
}

.collection-headerTexts {
    position: absolute;
    top: 47%;
    left: 16%;
    transform: translateY(-50%);
    width: 68%;
    height: 37%;
    text-align: center;
}

.collection-title {
    font-size: 2.2vw;
    font-weight: 900;
    color: #fff;
    text-transform: uppercase;
    margin: 0;
    height: 32%;
    letter-spacing: 0.2em;
    white-space: nowrap;
}

.collection-title small {
    color: #fff;
}

.collection-subtitle {
    font-size: 1.9vw;
    color: #fff;
    text-transform: uppercase;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    height: 68%;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.05em;
    margin-bottom: 0;
    padding: 0 3em;
    line-height: 1.1em;
}

.collection-columns {
    display: flex;
    justify-content: space-between;
}

.collection-columns + .collection-columns {
    margin-top: 2%;
}

.collection-column {
    width: 48%;
}

.collection-column-smaller {
    width: 30%;
    margin-left: 10%;
}

.collection-column-bigger {
    width: 56%;
}

.collection-textTitle {
    font-size: 1.2vw;
    font-weight: 700;
}

.collection-text {
    font-size: 0.95vw;
    color: #5a5a5a;
    line-height: 1.4;
    margin-bottom: 4%;
}

.collection-text strong {
    font-size: 1vw;
    font-weight: 700;
    color: #3e3d3d;
    text-transform: uppercase;
}

.collection-products {
    display: flex;
    flex-wrap: wrap;
}

.collection-product {
    display: block;
    width: 31%;
    flex: 0 0 auto;
    color: #000;
    margin-bottom: 2%;
}

.collection-product:nth-child(3n+1),
.collection-product:nth-child(3n+2){
    margin-right: 3.5%;
}

.col-4 .collection-product { width: 23%; }

.col-4 .collection-product:nth-child(3n+1),
.col-4 .collection-product:nth-child(3n+2),
.col-4 .collection-product:nth-child(3n+3) { margin-right: 2%; }

.collection-product:hover {
    color: #000;
    text-decoration: none;
}

.collection-productImage {
    display: block;
    width: 100%;
    height: 0;
    padding: 0 0 100%;
    margin-bottom: 4%;
    background-position: center; 
}

#collection-steadfast .collection-productImage {
    background-size: 110%;
}

.collection-productName {
    font-size: 0.9vw;
    font-weight: 700;
    margin: 0;
}

.collection-productNumber {
    font-size: 0.8vw;
}

.collection-samplesLink {
    margin-top: 1.5em;
}

.collection-background {
    width: 100%;
    height: 4vw;
    background: url(/blossom/images/tile.png) repeat-x 0 0;
    background-size: 2.3vw;
    position: absolute;
    top: 100%;
    left: 0;
}

@media (min-width: 768px) {
    .collection-background-image {
        position: relative;
        background: none;
        top: auto;
        height: auto;
    }
}

.collection-background-image img {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    transform: translateY(8%);
}

.collection-close {
    position: absolute;
    top: 0;
    right: -8%;
    width: 5%;
}

.collection-close img {
    width: 100%;
}

.collection-goUp {
    position: absolute;
    bottom: 0;
    right: -8%;
    width: 5%;
}

.collection-goUp img {
    width: 100%;
}

@media (max-width: 991px) {
    .collection-content-bigImage {
        margin-bottom: 15%;
    }
    
    .collection-columns + .collection-columns {
        margin-top: 4%;
    }
    
    .collection-column-smaller {
        margin-left: 0;
        width: 40%;
    }
    
    .collection-textTitle,
    .collection-text,
    .collection-text strong {
        font-size: 1.5vw;
    }
    
    .collection-productName {
        font-size: 1.4vw;
    }
    
    .collection-productNumber {
        font-size: 1.2vw;
    }
}

@media (max-width: 767px) {
    .collection-content-bigImage {
        margin-bottom: 7%;
    }
    
    .collection-smallerContent {
        margin: 0;
    }
    
    .collection-headerTexts {
        height: 40%;
    }
    
    .collection-title {
        font-size: 3.5vw;
    }
    
    .collection-subtitle {
        font-size: 2.5vw;
    }
    
    .collection-columns {
        display: block;
    }
    .collection-columns.mobileOnly { 
        margin-top: 3em;
    }
    
    .collection-column {
        width: 100%;
    }
    
    .collection-column + .collection-column {
        margin-top: 5%;
    }
    
    .collection-column-smaller {
        padding-right: 0;
    }
    
    .collection-textTitle,
    .collection-text,
    .collection-text strong {
        font-size: 2vw;
    }
    
    .collection-products {
        width: 100%;
    }
    
    .collection-productName {
        font-size: 2vw;
    }
    
    .collection-productNumber {
        font-size: 1.9vw;
    }
    
    .collection-background {
        background-size: 4vw;
    }
    
    .collection-background-image img {
        display: none;
    }
    
    .collection-close,
    .collection-goUp {
        width: 7%;
        right: -10%;
    }
}

@media (max-width: 575px) {
    .collection-headerTexts {
        height: 55%;
        width: 100%;
        left: 0;
        padding-left: 15px;
        padding-right: 15px;
    }
    
    .collection-title {
        font-size: 5vw;
    }
    
    .collection-subtitle {
        font-size: 3.5vw;
        padding: 0 0.8em;
    }
    
    .collection-textTitle,
    .collection-text,
    .collection-text strong,
    .collection-productName,
    .collection-productNumber {
        font-size: 3vw;
    }
    
    .collection-close,
    .collection-goUp {
        width: 10%;
        right: -11%;
    }
}


/*
 * Leader and story
 */

.leader {
    background: url(/blossom/images/leader-background.jpg) no-repeat center center;
    background-size: cover;
    padding: 6.7% 0;
}

.story {
    background: url(/blossom/images/story-background.jpg) no-repeat center center;
    background-size: cover;
    padding: 4% 0 7%;
}

.leader-title,
.story-title {
    margin-top: 0;
    font-size: 4vw;
    font-weight: 900;
    color: #000;
    margin-left: 10%;
    margin-right: 15%;
}

.leader-title {
    margin-bottom: 0.7em;
}

.story-title {
    margin-bottom: 0.5em;
}

.leader-text,
.story-text {
    font-size: 1vw;
    color: #000;
    margin-left: 10%;
    margin-right: 15%;
}

.leader-text p:last-child,
.story-text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .leader-title,
    .story-title,
    .leader-text,
    .story-text {
        margin-left: 0;
        margin-right: 0;
    }
    
    .leader-text,
    .story-text {
        font-size: 1.5vw;
    }
}

@media (max-width: 767px) {
    .leader-text,
    .story-text {
        font-size: 1.8vw;
    }
}

@media (max-width: 575px) {
    .leader-title,
    .story-title {
        font-size: 5vw;
    }
    
    .leader-text,
    .story-text {
        font-size: 2.5vw;
    }
}


/*
 * Gom
 */

.gom {
    position: relative;
    padding: 4.1% 0 13.7%;
}

.gom-content {
    margin: 0 10%;
}

.gom-title {
    max-width: 50%;
    font-size: 2.4vw;
    font-weight: 900;
    color: #000;
    margin-top: 0;
    line-height: 1.15;
    margin-bottom: 0.5em;
}

.gom-text {
    max-width: 49%;
    font-size: 0.9vw;
    color: #000;
    margin-bottom: 0.7em;
}

.gom-phone {
    display: inline-block;
    font-size: 1.2vw;
    font-weight: 700;
    color: #000;
    cursor: default;
    margin-bottom: 1.4em;
}

.gom-phone:hover {
    color: #000;
    text-decoration: none;
}

.gom-link {
    padding: 0.8em 1.8em;
    font-size: 0.8vw;
}

.gom-image {
    position: absolute;
    bottom: 0;
    right: 2.3%;
    width: 42%;
}

@media (max-width: 991px) {
    .gom-content {
        margin: 0;
    }
    
    .gom-title {
        font-size: 2.7vw;
    }
    
    .gom-text {
        font-size: 1.5vw;
    }
    
    .gom-phone {
        font-size: 1.7vw;
    }
}

@media (max-width: 767px) {
    .gom-title {
        font-size: 3.2vw;
    }
    
    .gom-text {
        font-size: 1.8vw;
    }
    
    .gom-phone {
        font-size: 2.2vw;
    }
}

@media (max-width: 575px) {
    .gom-title {
        max-width: none;
        font-size: 5vw;
    }
    
    .gom-text {
        max-width: none;
        font-size: 2.5vw;
    }
    
    .gom-phone {
        font-size: 3vw;
    }
    
    .gom-image {
        bottom: -20px;
    }
}


/*
 * Footer
 */

.footer {
    background: #000;
    padding: 4% 0;
}

.footer-logo {
    display: block;
    width: 237px;
}

.footer-logo img {
    width: 100%;
}
