@charset "UTF-8";

/* HOME */

main.home div.grid-container {
    display: grid;
    row-gap: 30px;
}

main.home .grid-item:not(.commission) {
    padding-top: 16px;
}

main.home div.intro figure.profile {
    display: inline-block;
    position: relative;
    border-radius: 10px;
    width: 100%;
    overflow: hidden;
}

main.home div.intro figure.profile img {
    width: 100%;
}

main.home div.intro figure.profile figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    font-size: 10px;
    text-align: center;
    color: #888;
    background-color: rgba(0,0,0,0.7);
}

img.signature {
    float: right;
    width: 140px;
}



/* TILES */

div.tiles {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

div.tiles > div.tile {
    position: relative;
    flex: 1 0 auto;
    height: calc(200vh/4);
    min-height: 150px;
    border: 1px solid #444;
    border-radius: 10px;
    overflow: hidden;
    background-color: rgb(24,24,27);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all 0.3s;
    cursor: pointer;
}

div.tiles > div.tile > a {
    display: block;
    height: 100%;
    transition: all 0.3s;
}

.no-touch div.tiles > div.tile:hover {
    box-shadow: 0 0 10px rgba(255,255,255,0.5);
}

.no-touch div.tiles > div.tile > a:hover {
    background-color: rgba(0,0,0,0);
}

div.tiles img {
    object-fit: cover;
    height: 100%;
    width: 100%;
    position: absolute;
}

div.tiles div.content {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    z-index: 30;
}

div.tiles header {
    position: relative;
    margin: 0;
    min-height: 34px;
    font-size: 22px;
    font-weight: 400;
    line-height: 34px;
    background-color: rgba(0,0,0,0.8);
    transition: all 0.3s;
}

div.tiles header[data-tagline]::after {
    display: block;
    position: absolute;
    bottom: 0;
    padding: 0 8px;
    width: 100%;
    content: attr(data-tagline);
    font-size: 14px;
    color: #888;
    opacity: 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    transition: all 0.3s;
}

.no-touch div.tiles a:hover header {
    min-height: 54px;
    background-color: rgba(0,0,0,0.9);
    color: #0077c9;
}

.no-touch div.tiles a:hover header[data-tagline]::after {
    opacity: 1;
}


/* BUTTONS */

div.button-group > div.system-button:first-child {
    margin-right: 8px;
}

div.system-button {
    border-color: #888;
    background-color: rgba(128, 128, 128, 0.5);
    text-shadow: none;
}

div.system-button:hover {
    background-color: rgba(128, 128, 128, 0.8);
}

div.system-button + div.system-button {
    margin-top: 12px;
    margin-left: 0;
}

div.system-button.icon {
    padding-left: 30px;
    background-repeat: no-repeat;
    background-position: left 12px center;
    background-size: 16px;
}

div.system-button.icon.email {
    background-image: url("../icon/envelope-dddddd.svg");
}

div.system-button.icon.phone {
    background-image: url("../icon/phone-alt-dddddd.svg");
}

div.system-button.icon.cart {
    margin-top: 8px;
    background-image: url("../icon/shopping-cart-dddddd.svg");
}



/* ZOOMABLE IMAGES */

a.zoomable,
img.zoomable {
    /* this rule correctly wraps an anchor tag around a floating image to make the entire image accept an event */
    position: relative;
    z-index: 10;
}

.no-touch img.zoomable.inset:hover,
.no-touch img.zoomable:hover {
    cursor: zoom-in;
}

a.file:not(.inset),
a.zoomable:not(.inset) {
    display: inline-block;
}

div.node img.zoomable {
    display: inherit;
}


/* FRONTBACK OVERLAY */

div.frontback-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.6);
    background-position: center;
    background-size: 50%;
    background-repeat: no-repeat;
    background-image: url("../icon/frontback.svg");
    z-index: 11;
    opacity: 0;
    transition: all 0.7s;
    cursor: zoom-in;
}

figure.hero div.frontback-overlay {
    width: 180px;
    height: 180px;
}

.no-touch div.node div.patch div.frontback-overlay {
    transform: translate(-50%, -50%);
    width: 50px;
    height: 50px;
}

.no-touch a.zoomable.backside:hover div.frontback-overlay {
    opacity: 1;
}


/* FANCYBOX */

.fancybox__caption {
    text-align: center;
}


/* ZOOM-IN & PDF BUTTON */

div.file,
div.zoom-in {
    position: absolute;
    left: 2px;
    top: 2px;
    width: 44px;
    height: 44px;
    background-repeat: no-repeat;
    background-position: center;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 11;
}

div.zoom-in {
    background-size: 24px;
    background-image: url("../icon/zoom-plus.svg");
}

div.file {
    background-size: 20px;
    background-image: url("../icon/file.svg");
}

.no-touch div.file:hover,
.no-touch div.zoom-in:hover {
    background-color: rgba(128, 128, 128, 0.8);
}

img.zoomable.inset + div.zoom-in {
    top: 0;
    left: 0;
}

img.zoomable.inset.right + div.zoom-in {
    left: auto;
    right: 0;
}

.no-touch img.zoomable:hover {
    cursor: zoom-in;
}


/* ZOOM-IN COLLECTION BUTTON */

div.zoom-in.collection {
    padding-left: 40px;
    padding-right: 10px;
    width: auto;
    font-size: 32px;
    line-height: 44px;
    color: #fff;
    text-shadow: none;
    border-radius: 998px;
    text-align: right;
    background-position: left 10px center;
}


/* ZOOM-IN + FRONTBACK ICON */

div.zoom-in.frontback {
    width: 76px;
    border-radius: 998px;
    background-size: 24px, 26px;
    background-position: left 10px center, right 10px center;
    background-image: url("../icon/zoom-plus.svg"), url("../icon/frontback.svg");
}
/* ------------------------------------- */



/* ACCORDION LAYOUT */

section.group > header {
    margin-bottom: 20px;
    border-bottom: 1px solid #666;
    padding-bottom: 8px;
    font-size: 26px;
}

section.group.accordions > header {
    margin-bottom: 0;
}

div.accordion[data-count]::after {
    position: absolute;
    right: 16px;
    content: attr(data-count);
}

div.accordion {
    position: relative;
    padding-left: 40px;
    padding-right: 60px;
    font-size: 22px;
    color: #71bae8;
    border-bottom: 1px solid #666;
    line-height: 40px;
    background-color: rgba(255,255,255,0.1);
    text-shadow: 1px 1px 1px #000;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all 0.3s;
}

.no-touch div.accordion:hover {
    background-color: rgba(0,0,0,0.4);
    color: #3a8bbb;
    cursor: pointer;
}

div.accordion::before {
    content: '';
    display: block;
    position: absolute;
    height: 40px;
    width: 40px;
    top: 50%;
    left: 0;
    background-repeat: no-repeat;
    background-size: 18px auto;
    background-position: center;
    background-image: url(../acf/img/close-dddddd.svg);
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
}

div.accordion.active,
div.accordion.active:hover {
    background-color: rgba(0,0,0,1);
    border-bottom-color: transparent;
    border-top: 1px solid #666;
    color: #3a8bbb;
    cursor: pointer;
}

div.accordion.active::before {
    background-size: 18px auto;
    transform: translateY(-50%) rotate(0deg);
}

div.accordion + section {
    margin: 0 12px 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all 0.3s;
}

.accordion:not(.active) + section + .accordion.active {
    border-top: none;
}

div.accordion.active + section {
    margin: 16px 12px 40px;
    max-height: 1000000px;
    opacity: 1;
}

div.accordion + section p.intro {
    margin: 0 0 24px;
}

div.collection + div.collection,
div.collection + article.image {
    margin-top: 16px;
    border-top: 5px solid #444;
    padding-top: 20px;
}

article.image + div.collection {
    margin-top: 16px;
    border-top: 1px dashed #444;
    padding-top: 16px;
}

div.expand-collection + article.image,
div.collection article.image + article.image,
article.image.fade-in {
    display: none;
    opacity: 0;
    transition: opacity 0.5s linear;
}

div.expand-collection + article.image.flex,
div.collection article.image + article.image.flex,
article.image.fade-in.flex {
    display: flex;
}

div.expand-collection + article.image.active,
div.collection article.image + article.image.active,
article.image.fade-in.active {
    opacity: 1;
}

article.image h3 {
    color: #ddd;
}
/* ------------------------------------- */



/* EXPAND COLLECTION */

div.expand-collection {
    margin-top: 16px;
    height: 44px;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center bottom 10px;
    background-size: 30px;
    background-image: url("../acf/img/chevron-down-wide-ffffff.svg");
}

div.expand-collection a {
    display: block;
    height: 100%;
}
/* ------------------------------------- */



/* CROPPED TEXT: SHOW MORE */

div.cropped-text {
    position: relative;
    width: 100%;
    max-height: 80px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s;
}

div.cropped-text.active {
    max-height: 10000px;
}

div.cropped-text div.show-more {
    position: absolute;
    bottom: 0;
    right: 0;
    padding-left: 30px;
    background-image: linear-gradient(90deg, rgba(24,24,24,0.1), rgba(24,24,24, 1) 36px);
    color: #71bae8;
    transition: all 0.3s;
}

div.cropped-text.active div.show-more {
    display: none;
}

div.cropped-text div.show-more::after {
    content: '... Show more';
}

div.cropped-text p {
    cursor: pointer;
    transition: all 0.2s;
}

.no-touch div.cropped-text:not(.active):hover p {
    color: #ccc;
}

.no-touch div.cropped-text:not(.active):hover div.show-more {
    color: #3a8bbb;
}
/* ------------------------------------- */



/* HOME PAGE PHOTOS */

main.home {
    overflow: hidden;
}

figure.collage {
    position: relative;
    margin: 0 0 40px 0;
    height: calc(100vh - 120px);
}

figure.collage img {
    position: absolute;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: calc(100vh - 120px);
    border: 1.5vw solid #eee;
    box-sizing: border-box;
    box-shadow: 1px 3px 4px 4px rgb(0 0 0 / 40%);
    transition: all 0.3s;
}

main.home figure.collage.set1 img.photo1 {
    right: 4%;
    top: 6%;
    width: 72%;
    transform: rotate(-6deg);
    z-index: 96;
}

main.home figure.collage.set1 img.photo2 {
    left: 6%;
    top: 3%;
    width: 51%;
    transform: rotate(7deg);
    z-index: 97;
}

main.home figure.collage.set1 img.photo3 {
    left: 6%;
    bottom: 5%;
    width: 62%;
    transform: rotate(4deg);
    z-index: 99;
}

main.home figure.collage.set1 img.photo4 {
    right: 5%;
    bottom: 2%;
    width: 55%;
    transform: rotate(-7deg);
    z-index: 100;
}

main.home figure.collage.set1 img.photo5 {
    right: 17%;
    top: 32%;
    width: 66%;
    transform: rotate(2deg);
    z-index: 98;
}

main.home figure.collage div.announcement {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    padding: 8px 24px;
    margin: 0;
    font-size: 36px;
    font-weight: 900;
    text-align: center;
    text-shadow: 0 0 10px #000, 1px 0 10px #000, 0 1px 10px #000, -1px 0 10px #000, 0 -1px 15px #000, 0 0 15px #000, 2px 0 15px #000, 0 2px 15px #000, -2px 0 15px #000, 0 -2px 15px #000;
    text-transform: uppercase;
    color: #ffffff;
    z-index: 110;
}

.video-container {
    position: relative;
    padding-bottom: 66.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* HOME PAGE TILE PHOTOS */

div.tile img.pic1 { z-index: 10; }
div.tile img.pic2 { z-index: 15; display: none; }
div.tile img.pic3 { z-index: 20; display: none; }

div.tile.t2 img.pic2 {
    transform: rotate(5deg) scale(1.2);
    top: -30px;
}

div.tile.t3 img.pic1 {
        object-position: top;
}

div.tile.t3 img.pic2 {
    object-fit: contain;
    object-position: top;
}

/* BRAIN BLURBS */

#BrainBlurbsTile {
    width: 100%;
    max-height: 196px;
}

#BrainBlurbsTile article * {
    color: #aaa;
}

#BrainBlurbsTile article {
    padding: 16px;
}

#BrainBlurbsTile h3,
.brain-blurbs h3 {
    color: #eee;
}

.brain-blurbs article + article {
    margin-top: 24px;
    border-top: 1px solid #444;
    padding-top: 20px;
}

.brain-blurbs p.date {
    font-size: 14px;
    color: #888 !important;
}

/* EMAIL ALERT & WHATS NEW */

#WhatsNew {
    pointer-events: none;
}

#WhatsNew,
#EmailAlert {
    min-height: fit-content;
    height: fit-content;
}

#WhatsNew article,
#EmailAlert article {
    padding: 16px;
}

#WhatsNew h3,
#EmailAlert h3 {
    margin-top: 0;
    padding-left: 30px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px;
    color: #eee;
}

#WhatsNew h3 small,
#EmailAlert h3 small {
    color: #aaa;
}

#EmailAlert h3 {
    background-image: url("../icon/envelope-bbbbbb.svg");
}

#WhatsNew h3 {
    background-image: url("../icon/gift-bbbbbb.svg");
}

#WhatsNew p,
#EmailAlert p {
    margin: 0;
}

.no-touch #EmailAlert:hover {
    box-shadow: none;
    cursor: default;
}

#BrainBlurbs hr,
#EmailAlert hr {
    border-top: 1px dashed #999;
    border-bottom: 0px;
}


/* DIALOG ELEMENTS */

/* DIALOG OVERLAY */

#dialog-mask {
	display: block;
	position: fixed;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	background-color: rgba(255, 255, 255, 0.2);
    opacity: 0;
    transition: opacity 0.5s;
	z-index: -1;
}

#dialog-mask.active {
    opacity: 1;
    z-index: 300;
}

.no-touch #dialog-mask.active:hover {
	cursor: default;
}


/* DIALOG */

.dialog {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-height: 0;
    opacity: 0;
    transition: all 0.5s;
    border-radius: 10px;
    box-shadow: 0px 5px 26px 0px rgba(0, 0, 0, 0.42), 0px 20px 28px 0px rgba(0, 0, 0, 0.50);
    overflow: hidden;
    z-index: -1;
}

.dialog.clone {
    z-index: 301;
}

.dialog.clone.active {
    opacity: 1;
    max-height: calc(100vh - 32px);
}

.dialog.clone div.container {
    background-color: #111;
    overflow: hidden;
}

.dialog.clone div.container header {
    display: flex;
    height: 40px;
    padding-left: 16px;
    padding-right: 8px;
    align-items: center;
}

.dialog.clone div.container header div.title {
    font-weight: 500;
    flex: 1 0 auto;
    color: #eee;
    text-overflow: ellipsis;
    font-size: 18px;
}

.dialog.clone div.container header div.close {
    height: 30px;
    width: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 16px;
    background-image: url("../icon/close-ffffff.svg");
    background-color: transparent;
    border-radius: 50%;
    transition: all 0.5s;
}

.no-touch .dialog.clone div.container header div.close:hover {
    cursor: pointer;
    background-color: rgba(128, 128, 128, 0.8);
}

.dialog.clone div.container main {
    max-height: calc(100vh - 72px);
    padding: 4px 16px 8px;
    font-weight: 400;
    color: #aaa;
    text-shadow: 3px 3px 6px #000;
    overflow-x: hidden;
    overflow-y: auto;
}
/* ------------------------------------- */



/* SHARE DIALOG */

.dialog.share {
    width: calc(100vw - 32px);
    max-width: 984px;
}
/* ------------------------------------- */


/* VEIW TRANSCRIPTION */

div.include-transcription div.system-button.view-transcription {
    margin-top: 8px;
    width: 100%;
    color: #85d7ff;
    line-height: 36px;   
}

div.include-transcription div.system-button.view-transcription:hover {
    color: #37beff;
    transform: scale(1);
}

div.transcript h4 {
    margin-top: 32px;
    color: #eee;
}
/* ------------------------------------- */


/* AUDIO */

audio {
    margin-top: 8px;
    max-height: 54px;
    width: 100%;
    text-shadow: none;
}