/* ## Site Containers
--------------------------------------------- */

.content-sidebar-wrap,
.wrap {
    margin: 0 auto;
    padding-left: 6vw;
    padding-right: 6vw;
    @include breakpoint(sm) {
        width: 90%;
        max-width: map-get($breakpoints, xl);
        padding-left: 0;
        padding-right: 0;
    }
    .wrap {
        max-width: 100%;
        width: auto;
        padding: 0;
    }
}

.site-inner {
    clear: both;
    .page-builder & {
        border-top: $site-border;
        border-bottom: $site-border;
    }
}

.content-sidebar-wrap {
    max-width: map-get($breakpoints, xl);
    padding-top: 9vw;
    padding-bottom: 9vw;
    @include breakpoint(md) {
        padding: 4rem 0;
    }
    @include breakpoint(md) {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        &:before,
        &:after {
            display: none; // Flex fix.
        }
        .sidebar-content & {
            flex-direction: row-reverse;
        }
    }
}


/* ## Content Widths and Positions
--------------------------------------------- */

@include breakpoint(md) {
    .content {
        width: 100%;
    }
	.sidebar-primary {
		width: 25%;
    }
    .narrow-content,
	.sidebar-content,
    .content-sidebar {
		.content {
			width: calc(75% - 4rem);
		}
    }
    .narrow-content {
        .content {
            margin: 0 auto;
        }
    }
    .home {
        .content {
            width: 100%;
        }
    }
}


/* ## Column Classes (including fifths)
--------------------------------------------- */

.columns {
    > div {
        background-color: $light;
        padding: 1.618em;
        margin-bottom: $margin;
        text-align: center;
        text-transform: capitalize;
        font-size: 1.4rem;
        font-weight: $bolder;
        box-shadow: 0 1rem 1rem -1rem rgba($dark,0.2);
        @include transition;
        &:hover {
            box-shadow: 0 2rem 1rem -1rem rgba($dark,0.1);
        }
    }
}

@include breakpoint(sm) {
    .one-half,
    .one-third,
    .one-fourth,
    .one-fifth,
    .one-sixth,
    .two-thirds,
    .two-fourths,
    .two-fifths,
    .two-sixths,
    .three-fourths,
    .three-fifths,
    .three-sixths,
    .four-fifths, // Commish'.
    .four-sixths,
    .five-sixths {
        float: left;
        margin-left: 2.564102564102564%;
    }
    .one-half,
    .three-sixths,
    .two-fourths {
        width: 48.717948717948715%;
    }
    .one-third,
    .two-sixths,
    .gallery-columns-3 .gallery-item {
        width: 31.623931623931625%;
    }
    .four-sixths,
    .two-thirds {
        width: 65.81196581196582%;
    }
    .one-fourth,
    .gallery-columns-4 .gallery-item {
        width: 23.076923076923077%;
    }
    .three-fourths {
        width: 74.35897435897436%;
    }
    .one-fifth,
    .gallery-columns-5 .gallery-item {
        width: 17.9487179487179488%;
    }
    .two-fifths {
        width: 38.4615384615384616%;
    }
    .three-fifths {
        width: 58.9743589743589744%;
    }
    .four-fifths {
        width: 79.4871794871794872%;
    }
    .one-sixth,
    .gallery-columns-6 .gallery-item {
        width: 14.52991452991453%;
    }
    .five-sixths {
        width: 82.90598290598291%;
    }
    .first {
        clear: both;
        margin-left: 0;
    }
}

/* ## Masonry
--------------------------------------------- */

.layout-masonry {
    .content {
        display: flex;
        flex-wrap: wrap;
        @include breakpoint(sm) {
            padding: 0 6rem 6rem;
        }
    }
    .entry {
        border: $site-border;
        box-shadow: 0 2rem 1rem -0.75rem rgba($dark,0.1);
        padding: 3rem;
        @include transition;
        @include breakpoint(xs) {
            width: $one-half;
            margin-left: $margin;
            margin-bottom: $margin;
            &:nth-of-type(odd) {
                margin-left: 0;
            }
        }
        @include breakpoint(md) {
            width: $one-third;
            &:nth-of-type(odd) {
                margin-left: $margin;
            }
            &:nth-of-type(3n + 1) {
                margin-left: 0;
            }
        }
        &:hover {
            box-shadow: 0 0.75rem 1rem -0.75rem rgba($dark,0.1);
        }
    }
    .entry-image-link {
        margin: -3rem -3rem 3rem;
        img {
            width: 100%;
        }
    }
    .entry-title {
        font-size: 1.1em;
    }
    .entry-content {
        font-size: 1.6rem;
    }
}

/* ## Gallery
--------------------------------------------- */

.gallery,
.gallery-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.gallery {
    a {
        display: block;
        min-height: 100%;
    }
    img {
        height: auto;
        width: 100%;
        display: block;
    }
}

.gallery-caption {
    display: block;
}

.gallery-item {
    width: 100%;
    margin: 0 0 5vw;
    text-align: center;
    display: block;
    @include breakpoint(xs) {
        width: 48.71794871794871%;
        margin-bottom: 2.564102564102564%;
    }
    img {
        box-shadow: 0 0rem 1rem -1rem rgba($dark,0.1);
        @include transition;
        &:hover {
            box-shadow: 0 2.5rem 1rem -1rem rgba($dark,0.1);
        }
    }
}

/* ## Portfolio
--------------------------------------------- */

.post-type-archive-portfolio {
    .content {
        display: flex;
        flex-wrap: wrap;
        @include breakpoint(sm) {
            padding: 5rem 0;
        }
    }
    .entry {
        padding: 0;
        margin: 0 0 6vw;
        position: relative;
        box-shadow: 0 0rem 1rem -1rem rgba($dark,0);
        overflow: hidden;
        @include transition;
        @include breakpoint(xs) {
            width: $one-half;
            margin-left: $margin;
            margin-bottom: $margin;
            &:nth-of-type(odd) {
                margin-left: 0;
            }
        }
        @include breakpoint(sm) {
            width: $one-third;
            &:nth-of-type(odd) {
                margin-left: $margin;
            }
            &:nth-of-type(3n+1) {
                margin-left: 0;
            }
        }
        &:hover {
            box-shadow: 0 3rem 1.5rem -1rem rgba($dark,0.1);
            .entry-header {
                background-color: rgba($dark,0.3);
            }
            .entry-title {
                margin-top: 0;
            }
        }
        &:last-of-type {
            margin-bottom: $margin;
        }
        img {
            width: 100%;
        }
    }
    .entry-header {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
        background-color: rgba($dark,0);
        @include transition;
    }
    .entry-title {
        font-size: 1.8rem;
        margin-top: 100%;
        @include transition;
        a {
            color: $white;
        }
    }
    .pagination {
        width: 100%;
    }
}

/* ## Pricing Tables
--------------------------------------------- */

.pricing-table {
    border: $site-border;
    border-radius: $site-radius;
    margin-bottom: 6rem;
    @include clearfix;
    >div {
        padding: 1em;
        text-align: center;
        margin-bottom: 5rem;
        border-radius: $site-radius;
        @include transition;
        &.featured {
            transform: scale(1.1);
            background-color: $white;
            border: $site-border;
            box-shadow: 0 2rem 2rem -1rem rgba($dark,0.1);
            &:hover {
                box-shadow: 0 1rem 2rem -1rem rgba($dark,0.1);
            }
        }
        ul {
            margin-left: 0;
            font-size: smaller;
            li {
                list-style-type: none;
            }
        }
    }
    small {
        font-family: $font-heading;
    }
    big {
        font-size: 3em;
        font-family: $font-heading;
    }
}

.pricing-table {
    @include breakpoint(sm) {
        .one-half,
        .one-third,
        .one-fourth,
        .one-sixth,
        .two-thirds,
        .two-fourths,
        .two-sixths,
        .three-fourths,
        .three-sixths,
        .four-sixths,
        .five-sixths {
            margin: 0;
        }
        .one-half,
        .three-sixths,
        .two-fourths {
            width: 50%;
        }
        .one-third,
        .two-sixths {
            width: 33.33333333333333%;
        }
        .four-sixths,
        .two-thirds {
            width: 66.66666666666666%;
        }
        .one-fourth {
            width: 25%;
        }
        .three-fourths {
            width: 75%;
        }
        .one-sixth {
            width: 16.666666666666667%;
        }
        .five-sixths {
            width: 83.333333333333333%;
        }
    }
}
