blocksy-tainacan/tainacan-blocksy/sass/tainacan-item-single.scss

755 lines
27 KiB
SCSS

/* Single Item Page */
.tainacan-item-single-page {
// Default spacing and alignment, when inside grid.
.tainacan-item-section {
max-width: var(--block-max-width);
align-self: flex-start;
align-self: start;
margin-bottom: 2.5rem;
}
.tainacan-item-single {
// Overall page layout structure -------------------
@include display-grid;
align-items: start;
grid-column-gap: 48px;
column-gap: 48px;
.tainacan-item-section--document,
.tainacan-item-section--gallery { grid-area: document }
.tainacan-item-section--attachments { grid-area: attachments }
.tainacan-item-section--metadata,
.tainacan-item-section--metadata-sections { grid-area: metadata }
.tainacan-item-section--items-related-to-this { grid-area: related }
&.tainacan-item-single--layout-type-dam {
grid-template-areas:
'document'
'attachments'
'metadata'
'related';
grid-template-columns: 100%;
}
&.tainacan-item-single--layout-type-dma {
grid-template-areas:
'document'
'metadata'
'attachments'
'related';
grid-template-columns: 100%;
}
&.tainacan-item-single--layout-type-mda {
grid-template-areas:
'metadata'
'document'
'attachments'
'related';
grid-template-columns: 100%;
}
&.tainacan-item-single--layout-type-mg {
grid-template-areas:
'metadata document'
'metadata attachments'
'metadata related'
'metadata .';
grid-template-columns: 60% 40%;
@media only screen and (max-width: 960px) {
grid-template-areas:
'metadata'
'document'
'attachments'
'related';
grid-template-columns: 100% !important;
}
}
&.tainacan-item-single--layout-type-gm {
grid-template-areas:
'document metadata'
'attachments metadata'
'related metadata'
'. metadata';
grid-template-columns: 60% 40%;
@media only screen and (max-width: 960px) {
grid-template-areas:
'document'
'attachments'
'metadata'
'related';
grid-template-columns: 100% !important;
}
}
&.tainacan-item-single--layout-type-gtm {
grid-template-areas:
'metadata'
'related';
grid-template-columns: 100%;
}
// Headings and spacing ----------------------------
h1 {
--fontSize: 30px;
--theme-font-size: 30px;
}
h2:not(.tainacan-single-item-section) {
--fontSize: 22px;
--theme-font-size: 22px;
}
h3:not(.tainacan-metadata-label) {
--fontSize: 20px;
--theme-font-size: 20px;
}
h4 {
--fontSize: 18px;
--theme-font-size: 18px;
}
h5 {
--fontSize: 16px;
--theme-font-size: 16px;
}
h6 {
--fontSize: 14px;
--theme-font-size: 14px;
}
.tainacan-single-item-section {
text-align: var(--section-alignment, left);
}
// Metadata list -------------------------------------
.tainacan-item-section__metadata {
height: 100%;
-moz-column-width: var(--metadata-column-width, 400px);
-webkit-column-width: var(--metadata-column-width, 400px);
column-width: var(--metadata-column-width, 400px);
div {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
&:not(.tainacan-content-embed__wrapper):not(.tainacan-compound-group):not(.tainacan-compound-metadatum):not(.tainacan-relationship-metadatum-header) {
display: inline-block;
}
}
&>div,
.tainacan-metadatum {
width: 100%;
}
@media only screen and (min-width: 768px) {
-moz-column-gap: 0;
-moz-column-rule: none;
-webkit-column-gap: 0;
-webkit-column-rule: none;
column-gap: 4rem;
column-rule: none;
}
@media only screen and (min-width: 1366px) {
-moz-column-gap: 7rem;
-moz-column-rule: none;
-webkit-column-gap: 7rem;
-webkit-column-rule: none;
column-gap: 7rem;
column-rule: none;
}
h3 {
padding-right: 1rem;
margin-bottom: 0.25rem;
margin-top: 0.5rem;
width: 100%;
&:first-of-type:last-of-type {
display: inline-block;
}
}
h4,
label {
padding-right: 0.875rem;
width: 100%;
&:first-of-type:last-of-type {
display: inline-block;
}
}
p {
word-wrap: break-word;
}
iframe {
border: none;
}
.tainacan-metadata-label {
text-align: var(--metadata-label-alignment, left);
}
.tainacan-metadata-value {
text-align: var(--metadata-value-alignment, left);
font-family: var(--theme-font-family, var(--fontFamily));
font-size: var(--theme-font-size, var(--fontSize));
font-weight: var(--theme-font-weight, var(--fontWeight));
font-style: var(--theme-font-style, var(--fontStyle, inherit));
line-height: var(--theme-line-height, var(--lineHeight));
letter-spacing: var(--theme-letter-spacing, var(--letterSpacing));
text-transform: var(--theme-text-transform, var(--textTransform));
-webkit-text-decoration: var(--theme-text-decoration, var(--textDecoration));
text-decoration: var(--theme-text-decoration, var(--textDecoration));
margin-bottom: 0.75rem;
padding-bottom: 0.75rem;
border-bottom: var(--metadata-value-border, 0px solid rgba(125, 125, 125, 0.5));
}
.tainacan-item-section__metadata-thumbnail img {
border-radius: var(--theme-border-radius, var(--borderRadius, 3px));
}
p:empty {
display: none;
visibility: hidden;
}
// Metadata type textarea has different separator
.multivalue-separator {
color: #a5a5a5;
margin: 0 8px;
}
.hierarchy-separator {
color: #a5a5a5;
}
.metadata-type-geocoordinate>div {
width: 100%;
}
.metadata-type-compound,
.metadata-type-textarea {
.multivalue-separator {
display: block;
max-height: 1px;
width: 45%;
background: var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
content: none;
color: transparent;
margin: 0.875rem auto;
}
}
.tainacan-compound-group {
padding-top: 0.5em;
margin-bottom: .75rem;
padding-left: 1.5rem;
border-left: 1px solid var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
.label {
margin: 0;
padding: 0;
font-style: normal;
}
p {
margin-top: 0rem;
margin-bottom: 0.5rem;
}
&>.multivalue-separator {
margin: 1em auto 1.5em -1.5em;
}
}
.tainacan-relationship-group {
.tainacan-relationship-metadatum {
.tainacan-relationship-metadatum-header {
display: flex;
align-items: center;
margin-bottom: 0.5em;
img {
margin-right: 12px;
max-width: 28px;
max-height: 28px;
}
.label {
font-weight: normal;
font-style: normal;
margin-top: 0;
margin-left: 0;
margin-bottom: 0;
margin-right: 0;
padding: 0;
}
}
.tainacan-metadatum {
padding-left: 40px;
.label {
font-size: 1em;
line-height: 1em;
margin-top: 0px;
margin-bottom: 2px;
}
p {
margin-top: 0.25rem;
margin-bottom: 0.5rem;
}
}
}
&>.multivalue-separator {
display: block;
max-height: 1px;
width: calc(100% - 40px);
background: var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
content: none;
color: transparent;
margin: 0.5em 0 0.5em 40px;
}
}
&.metadata-type-2 {
.tainacan-item-section__metadatum {
display: flex;
flex-wrap: nowrap;
.tainacan-metadata-label {
flex-basis: 40%;
margin-bottom: .75rem;
border-right: var(--metadata-label-border, 0px solid rgba(125, 125, 125, 0.5));
}
.tainacan-metadata-value {
flex-basis: 60%;
padding-left: 1rem;
}
@media only screen and (max-width: 767px) {
flex-wrap: wrap;
.tainacan-metadata-label {
flex-basis: 100%;
margin-bottom: 0.25rem;
}
.tainacan-metadata-value {
flex-basis: 100%;
padding-left: 0;
}
}
}
}
}
}
/* Metadata section layouts */
.tainacan-item-section--metadata-sections {
.metadata-section-layout--tabs {
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
.tainacan-item-section {
width: 100%;
display: none;
padding: 2rem 42px 1rem 42px;
border-top: 1px solid var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
}
label {
width: 100%;
text-align: center;
margin: 0;
cursor: pointer;
opacity: 0.85;
border-bottom: 3px solid transparent;
transition: border-bottom 0.2s ease;
.tainacan-single-item-section {
margin: 0.75rem 1.5rem;
}
&:hover {
opacity: 1.0;
}
}
input {
position: absolute;
opacity: 0;
}
input:checked+label {
opacity: 1.0;
border-bottom-color: var(--theme-palette-color-1, var(--paletteColor1, #3eaf7c));
}
input:checked+label+.tainacan-item-section {
display: block;
}
@media screen and (min-width: 768px) {
label {
width: auto;
}
.tainacan-item-section {
order: 99;
}
}
}
.metadata-section-layout--collapses,
.metadata-section-layout--accordion {
box-sizing: border-box;
.tainacan-item-section {
width: 100%;
display: none;
padding: 2rem 42px 1rem 42px;
border-bottom: 1px solid var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
margin-bottom: 0;
}
label {
display: flex;
align-items: center;
width: 100%;
margin: 0;
cursor: pointer;
opacity: 0.85;
border-bottom: 1px solid var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
transition: opacity 0.2s ease;
.tainacan-single-item-section {
margin: 0.75rem;
}
.tainacan-icon {
color: var(--theme-palette-color-1, var(--paletteColor1, #3eaf7c));
transform: rotate(0deg);
transition: transform 0.2s ease;
&::before {
font-size: 1.75em;
}
}
&:hover {
opacity: 1.0;
border-bottom: 1px solid var(--theme-form-field-border-initial-color, var(--form-field-border-initial-color, #e0e5eb));
}
}
input {
position: absolute;
opacity: 0;
}
input:checked+label {
opacity: 1.0;
.tainacan-icon {
transform: rotate(90deg);
}
}
input:checked+label+.tainacan-item-section {
display: block;
}
}
}
/* Items related to this section */
.tainacan-item-section--items-related-to-this .wp-block-tainacan-dynamic-items-list {
margin-top: 0.25em;
margin-bottom: 0.5em;
}
}
.tainacan-item-single-page,
.tainacan-gallery-above-title {
// Tainacan Media Component (attachments gallery)
.tainacan-media-component {
--swiper-theme-color: var(--theme-palette-color-1, var(--paletteColor1, #3eaf7c));
--swiper-navigation-color: var(--theme-palette-color-1, var(--paletteColor1, #3eaf7c));
--swiper-navigation-size: 2.5rem;
--tainacan-media-background: var(--background-color, #ffffff);
--tainacan-media-main-carousel-height: var(--document-height, 60vh);
--tainacan-media-main-carousel-width: var(--document-width, 100%);
--tainacan-media-thumbs-carousel-width: var(--attachments-carousel-width, 100%);
--tainacan-media-thumbs-carousel-item-size: var(--attachments-size, 140px);
.tainacan-media-component__swiper-main {
.swiper-slide-metadata__name,
.swiper-slide-metadata__caption,
.swiper-slide-metadata__description {
font-family: var(--theme-font-family, var(--fontFamily));
font-size: var(--theme-font-size, var(--fontSize));
font-weight: var(--theme-font-weight, var(--fontWeight));
font-style: var(--theme-font-style, var(--fontStyle, inherit));
line-height: var(--theme-line-height, var(--lineHeight));
letter-spacing: var(--theme-letter-spacing, var(--letterSpacing));
text-transform: var(--theme-text-transform, var(--textTransform));
-webkit-text-decoration: var(--theme-text-decoration, var(--textDecoration));
text-decoration: var(--theme-text-decoration, var(--textDecoration));
}
}
.tainacan-media-component__swiper-thumbs {
font-weight: normal;
transition: font-weight 0.3s ease;
img {
border-radius: var(--theme-border-radius, var(--borderRadius, 3px));
border-bottom: 4px solid transparent;
margin-bottom: 4px;
transition: border 0.3s ease;
}
.swiper-slide-metadata__name {
display: block;
margin-top: 0.5rem;
font-family: var(--theme-font-family, var(--fontFamily));
font-size: var(--theme-font-size, var(--fontSize));
font-weight: var(--theme-font-weight, var(--fontWeight));
font-style: var(--theme-font-style, var(--fontStyle, inherit));
line-height: var(--theme-line-height, var(--lineHeight));
letter-spacing: var(--theme-letter-spacing, var(--letterSpacing));
text-transform: var(--theme-text-transform, var(--textTransform));
-webkit-text-decoration: var(--theme-text-decoration, var(--textDecoration));
text-decoration: var(--theme-text-decoration, var(--textDecoration));
}
}
}
@media screen and (min-width: 960px) {
// Document and attachments fixed column
.tainacan-item-single--affix-column .tainacan-item-section.tainacan-item-section--gallery {
position: sticky;
top: 2rem;
}
}
// Document Download button -------------------------------------
.tainacan-item-file-download {
position: absolute;
opacity: 0;
transform: scale(0);
border-radius: 24px;
width: 36px;
height: 36px;
bottom: 0px;
right: calc(50% - 18px);
cursor: pointer;
font-size: 0;
background-color: var(--theme-palette-color-1, var(--paletteColor1, #3eaf7c));
color: white;
transition: opacity 0.3s ease, transform 0.3s ease, font-size 0.3s ease;
a {
height: 38px;
width: 38px;
display: block;
position: relative;
z-index: 99;
background: transparent !important;
padding: 0px !important;
}
&::after {
position: relative;
top: -38px;
display: inline-block;
font: normal normal normal 20px/1 "TainacanIcons";
font-size: 1.25rem !important;
line-height: 2.25rem;
text-rendering: auto;
vertical-align: middle;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 1.25em;
text-transform: none !important;
letter-spacing: normal !important;
content: 'download';
display: flex;
justify-content: center;
align-items: center;
}
}
.tainacan-item-section__document {
position: relative;
&>.twitter-tweet,
&>iframe.wp-embedded-content {
margin-left: auto;
margin-right: auto;
}
}
.tainacan-media-component__swiper-main,
.tainacan-item-section__document {
&:hover .tainacan-item-file-download {
opacity: 1;
transform: scale(1);
}
}
}
// Tainacan Gallery above title
.tainacan-gallery-above-title {
background-color: var(--tainacan-media-background-color, var(--theme-palette-color-7, var(--paletteColor7)));
margin-top: calc(-1 * var(--content-vertical-spacing));
margin-bottom: var(--content-vertical-spacing);
margin-left: var(--has-boxed, calc(-1 * var(--boxed-content-spacing)));
margin-right: var(--has-boxed, calc(-1 * var(--boxed-content-spacing)));
padding-top: calc(var(--content-vertical-spacing)/2);
padding-bottom: calc(var(--content-vertical-spacing)/2);
&:empty {
display: none;
visibility: hidden;
}
.tainacan-media-component {
--tainacan-media-background: var(--tainacan-media-background-color, var(--theme-palette-color-7, var(--paletteColor7)));
--swiper-navigation-color: var(--tainacan-media-accent-color, var(--theme-palette-color-1, var(--paletteColor1)));
--swiper-theme-color: var(--tainacan-media-accent-color, var(--theme-palette-color-1, var(--paletteColor1)));
--tainacan-label-color: var(--tainacan-media-color, --tainacan-label-color);
--tainacan-info-color: var(--tainacan-media-color, --tainacan-info-color);
}
.tainacan-item-section {
margin: 0 auto;
}
}
/* Media gallery with minimum spacing */
.tainacan-media-component-wrapper-spacing--minimum {
--theme-border-radius: 0px;
.tainacan-media-component {
gap: 0px;
.tainacan-media-component__swiper-main {
ul.swiper-wrapper {
max-height: var(--tainacan-media-main-carousel-height, 60vh);
}
li.swiper-slide {
padding: 0;
}
.swiper-slide-content {
text-align: center;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
a:first-of-type,
p:first-of-type {
padding: 0;
flex-grow: 1;
}
img {
width: auto;
height: 100%;
max-width: unset;
object-fit: cover;
object-position: center;
}
@media (min-aspect-ratio: 1/1) {
img {
width: 100%;
height: auto;
}
}
video,
audio {
margin: calc( 1.5 * var(--swiper-navigation-size) );
}
}
li.swiper-slide .swiper-slide-metadata {
background-color: var(--tainacan-media-background-color,var(--theme-palette-color-7,var(--paletteColor7)));
border-radius: 2px;
padding: 0.5rem 1rem;
margin: 1rem;
bottom: 0;
position: absolute;
z-index: 99;
left: calc( 1.5 * var(--swiper-navigation-size) );
}
.swiper-button-prev,
.swiper-button-next {
border-radius: 100em;
padding: 1.5em;
width: var(--swiper-navigation-size);
background: rgba(255,255,255,0.0);
transition: background-color 0.2s ease;
}
&:hover,
&:focus {
.swiper-button-prev,
.swiper-button-next {
background: var(--tainacan-media-background-color,var(--theme-palette-color-7,var(--paletteColor7)));
}
}
}
.tainacan-media-component__swiper-thumbs {
ul.swiper-wrapper {
max-width: 100%;
margin: 0;
}
li.swiper-slide {
max-width: var(--tainacan-media-thumbs-carousel-item-size, 136px);
}
}
}
}
/* Media gallery with thumbnails to the left or right */
@media only screen and (min-width: 961px) {
.tainacan-media-component-wrapper-thumbnails-at--right,
.tainacan-media-component-wrapper-thumbnails-at--left {
.tainacan-media-component {
display: flex;
flex-direction: row;
gap: 0px;
max-height: var(--tainacan-media-main-carousel-height, 60vh);
.tainacan-media-component__swiper-main {
.swiper-slide-content {
@media (min-aspect-ratio: 4/3) {
img {
width: 100%;
height: auto;
}
}
}
}
.tainacan-media-component__swiper-thumbs {
flex-basis: var(--tainacan-media-thumbs-carousel-item-size, 140px);
flex-shrink: 0;
.swiper-wrapper {
max-height: var(--tainacan-media-main-carousel-height, 60vh);
width: 100%;
max-width: 100%;
margin-left: 0px;
margin-right: 0px;
.swiper-slide {
height: auto;
img {
margin: 0;
border-bottom: none;
}
}
}
.swiper-start-border {
background-image: linear-gradient(180deg, var(--tainacan-media-background, #ffffff) 25%, transparent);
width: 100%;
height: calc(32px + var(--swiper-navigation-size, 44px));
}
.swiper-end-border {
background-image: linear-gradient(0deg, var(--tainacan-media-background, #ffffff) 25%, transparent);
width: 100%;
height: calc(32px + var(--swiper-navigation-size, 44px));
bottom: 0px;
top: unset;
}
}
}
}
.tainacan-media-component-wrapper-thumbnails-at--left {
.tainacan-media-component__swiper-thumbs {
margin-right: 0px;
}
.tainacan-media-component__swiper-main {
margin-left: 0px;
}
.tainacan-media-component {
flex-direction: row-reverse;
}
}
.tainacan-media-component-wrapper-thumbnails-at--right {
.tainacan-media-component__swiper-thumbs {
margin-left: 0px;
}
.tainacan-media-component__swiper-main {
margin-right: 0px;
}
}
}