/**
 * Bridgeman & Shaughnessy.
 *
 * This file adds frontpage styles to the Bridgeman & Shaughnessy Theme.
 *
 * @package Bridgeman & Shaughnessy
 * @author  5.12 Design Lab
 * @license GPL-2.0-or-later
 * @link    https://512designlab.com/
 */

/* Defaults
---------------------------------------------------------------------------- */

.site-inner {
    padding: 0;
}

.fixed {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1;
}

.absolute {
    height: calc(40vh + 200px);
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.variable-40 {
    height: 40vh !important;
}


/* Music
--------------------------------------------- */

.music {
	padding: 60px 0;
    position: relative;
}

.music::before{
    background-color: #fff;
    content: '';
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
    z-index: 0;
}
.music > * {
    position: relative;
    z-index: 2;
}

.music h2 {
    color: #090c10;
    font-size: 60px;
    margin-bottom: 40px;
    text-align: center;
    text-transform: uppercase;
}

.music-list {
	display: flex;
	flex-wrap: wrap;
	grid-gap: 0 12%;
	justify-content: flex-start;
}

.music-list .item {
	flex: 0 0 100%;
	margin-bottom: 40px;
	max-width: 44%;
}

.music-list img {
	aspect-ratio: 1/1;
	margin-bottom: 28px;
}

.music-list h4.music-title {
	color: #090c10;
	font-size: 42px;
	line-height: 1.1;
	margin: 0 0 20px;
	text-align: center;
	text-transform: uppercase;
}

.music-list ul.music-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
	padding: 0;
}

.music-list .music-links li {
	flex: 0 0 25%;
	list-style: none;
	position: relative;
}

.music-list .music-links li a {
	display: block;
	font-size: 0;
	height: 60px;
	position: relative;
}

.music-list .music-links li a::before {
	background-position: center;
	background-size: contain;
	content: '';
	display: block;
	height: 60px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
	transition: filter .2s ease-in-out;
	width: 60px;
}

.music-list .music-links li a:focus::before,
.music-list .music-links li a:hover::before {
	filter: brightness(0.2);
}

.music-list .music-links li a.amazon::before {
	background-image: url("../images/Amazon-logo.svg");
}

.music-list .music-links li a.apple::before {
	background-image: url("../images/Apple-logo.svg");
}

.music-list .music-links li a.spotify::before {
	background-image: url("../images/Spotify-logo.svg");
}

.music-list .music-links li a.youtube::before {
	background-image: url("../images/Youtube-logo.svg");
}


/* Events
--------------------------------------------- */

.events {
    color: #090c10;
    padding: 60px 0;
    position: relative;
}

.events::before{
    background-blend-mode: multiply;
    background-color: #c3c1bb;
    background-image: url("../images/vintage-concrete.png");
    background-position: center;
    background-repeat: repeat;
    content: '';
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
    z-index: 0;
}

.events > * {
    position: relative;
    z-index: 2;
}

.events h2 {
    color: #090c10;
    font-size: 60px;
    margin-bottom: 40px;
    text-align: center;
    text-transform: uppercase;
}

.events .event {
    align-items: center;
    border-bottom: 1px solid #090c10;
    column-gap: 20px;
    display: grid;
    grid-template-columns: auto 1fr auto 120px;
    grid-template-rows: auto;
    grid-template-areas: "date venue location link";
    line-height: 1.25;
    padding: 15px 0;
    row-gap: 7px;
    text-transform: uppercase;
}

.events .event:last-child {
    border: none;
}

.events .event-date {
    grid-area: date;
    font-weight: 700;
}

.events .event-venue {
    grid-area: venue;
}

.events .event-location {
    grid-area: location;
}

.events .event-button {
    grid-area: link;
}

.events .event-button a {
    background-color: #090c10;
    border-radius: none;
    color: #bdb59b;
    display: block;
    font-weight: 700;
    padding: 8px 15px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.events .event-button a:focus,
.events .event-button a:hover {
    color: #fff;
    background-color: #333;
}

/* Videos
--------------------------------------------- */

.videos {
    padding: 60px 0;
    position: relative;
}

.videos::before{
    background-color: #fff;
    content: '';
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
    z-index: 0;
}
.videos > * {
    position: relative;
    z-index: 2;
}

.videos h2 {
    color: #090c10;
    font-size: 60px;
    margin-bottom: 40px;
    text-align: center;
    text-transform: uppercase;
}


/* Media Queries
---------------------------------------------------------------------------- */

@media only screen and (min-width: 960px) {

	.absolute > img {
        object-fit: contain !important;
        object-position: center top;
    }

}

@media only screen and (max-width: 767px) {
    
    .events .event {
        grid-template-columns: 1fr 100px;
        grid-template-areas: "date date link" "venue venue link" "location location link";
    }
    
    .events .event-button {
        display: block;
        grid-area: link / col3-start / last-line / 3;
        height: 100%;
    }
    
    .events .event-button a {
        align-items: center;
        display: flex;
        flex-wrap: nowrap;
        height: 100%;
        justify-content: center;
    }
    
}

@media only screen and (max-width: 649px) {

	.music-list .item {
		max-width: none;
	}

    .events h2 {
        font-size: 48px;
    }

}

@media only screen and (max-width: 500px) {
 
    .events .event {
        grid-template-columns: 1fr;
        grid-template-areas: "date" "venue" "location" "link";
        padding: 30px 0;
        text-align: center;
    }
    
    .events .event-button {
        grid-area: link;
    }
    
    .events .event-button a {
        display: inline-block;
    }
    
}
