/***GLOBAL VARIABLES
*****************************************************/
:root {
/***TEXT***/
    /*--fontSize: clamp(1rem, 1.25vw, 1.5rem);*/
    --fontSizeSmall: 1.2rem;
    --fontSizeXSmall: 0.9rem;
    --fontSizeMedium: 1.5rem;
    --fontSizeLarge: 2rem;
    --fontSizeXLarge: 2.9rem;
    --fontWeight: 400;
    --letterSpacing: .05em;
    --wordSpacing: 0em;
    --lineHeight: 1.2;
    --lineHeightHigh: 1.4;
    --lineHeightSemiLow: 1.1;
    --lineHeightLow: 1;

/***SPACES***/
    --spaceY: calc(var(--fontSizeSmall) * 0.9);
    --spaceX: calc(var(--fontSizeSmall) * 0.9);
    --bodySpaces: 0;
    /*--rowGutter: calc(var(--fontSizeSmall) * var(--lineHeight));*/
    --rowGutterXSmall: calc(var(--fontSizeXSmall) * var(--lineHeightHigh));
    --rowGutterSmall: calc(var(--fontSizeSmall) * var(--lineHeightHigh));
    --rowGutterMedium: calc(var(--fontSizeMedium) * var(--lineHeight));
    --rowGutterLarge: calc(var(--fontSizeLarge) * var(--lineHeight));
    --rowGutter: calc(var(--fontSizeSmall) / 3);
    --colGutter: calc(var(--fontSizeSmall) / 3);
    --mainTopSpace: calc(var(--spaceY)*3 + var(--rowGutterLarge));
    --mainBottomSpace: calc(var(--rowGutterSmall) * 4);

/***SIZES***/
    --headerHeight: calc(var(--spaceY)*1.33 + var(--rowGutterSmall));
    --menuHeight: calc(var(--spaceY)*3 + var(--rowGutterLarge));
    --mainWidth: 100%;
    --footerHeight: calc(var(--spaceY)*4 + var(--rowGutterXSmall)*3);
    --mainHeight: calc(100vh - var(--headerHeight) - var(--footerHeight));
    --dataSheetCol: calc((100vw - (var(--spaceX)*2) - (var(--colGutter) * 23) / 24));

/***GRIDS***/
    --colsGrid_1: repeat(1, 1fr);
    --colsGrid_3: repeat(3, 1fr);
    --colsGrid_4: repeat(4, 1fr);
    --colsGrid_6: repeat(6, 1fr);
    --colsGrid_8: repeat(8, 1fr);
    --colsGrid_12: repeat(12, 1fr);
    --colsGrid_22: repeat(22, 1fr);
    --colsGrid_24: repeat(24, 1fr);
    --colWidth: calc((100vw - (var(--colGutter)*23)) / 24);
    --gridGap: var(--rowGutter) var(--colGutter);

/***COLOR***/
    --paletteWhite: #FFFFFF;
    --paletteGray: #ECECEC;
    --paletteDarkGray: #E1E1E1;
    --paletteBrown: #6a6055;
    --paletteBlack: #221f20;
    --paletteViolet: #7270de;
    --paletteLightViolet: #ADBCFF;
    --paletteGreen: #d9fabd;
    --paletteAlpha: transparent;
    --backColor: var(--paletteGray);
    --textColor: var(--paletteBrown);
    --linkColor: var(--paletteBrown);
    --hoverColor: var(--paletteGray);

/***DECORATION***/
    --linkDeco: underline;
    --borderWidth: 1px;
    --borderLine: var(--borderWidth) solid var(--textColor);
    --borderLineDark: var(--borderWidth) solid var(--paletteGray);
    --borderRadius: 3px;
    --boxShadowLarge: 0 calc(var(--spaceX)*-1) var(--spaceX) 0px rgba(0, 0, 0, 0.25);
    --boxShadowMedium: -0.3vw 0.3vw 0.9vw rgba(0,0,0,.25);
    --boxShadowSmall: -0.15vw 0.15vw 0.3vw rgba(0,0,0,.25);
    --boxShadowNull: 0vw 0vw 0vw rgba(0,0,0,0);

/***TRANSITION***/
    --transitionDuration: 0.3s;
    --transitionDurationSlow: 0.6s;
}
  
/***FONTS
*****************************************************/
* {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
	text-size-adjust: 100%;
    -webkit-font-smoothing: smooth;
	-moz-font-smoothing: smooth;
    -moz-osx-font-smoothing: smooth;
	-ms-font-smoothing: smooth;
    -o-font-smoothing: smooth;
    text-rendering: geometricPrecision;
}
@font-face {
    font-family: Genath Regular;
    src: url("Genath-Regular.woff");
}
@font-face {
    font-family: Genath Italic;
    src: url("Genath-Italic.woff");
}
@font-face {
    font-family: Roboto Regular;
    src: url("Roboto-Regular.woff");
}
@font-face {
    font-family: Roboto Italic;
    src: url("Roboto-Italic.woff");
}
@font-face {
    font-family: Roboto Light;
    src: url("Roboto-Light.woff");
}
@font-face {
    font-family: Roboto Light Italic;
    src: url("Roboto-LightItalic.woff");
}
@font-face {
    font-family: Roboto Medium;
    src: url("Roboto-Medium.woff");
}
@font-face {
    font-family: Roboto Medium Italic;
    src: url("Roboto-MediumItalic.woff");
}
.font_size_XS {
    font-family: Roboto Regular;
    font-size: var(--fontSizeXSmall);
    letter-spacing: var(--letterSpacing);
    line-height: var(--lineHeightHigh);
}
/*
.font_size_S {
    font-family: Roboto Regular;
    font-size: var(--fontSizeSmall);
    letter-spacing: var(--letterSpacing);
    line-height: var(--lineHeight);
}
*/
.font_size_S_Sans {
    font-family: Roboto Regular;
    font-size: var(--fontSizeSmall);
    line-height: var(--lineHeightHigh);
}
.font_size_S_Serif {
    font-family: Genath Regular;
    font-size: var(--fontSizeSmall);
    letter-spacing: var(--letterSpacing);
    line-height: var(--lineHeightHigh);
}
/*
.font_size_Menu {
    font-family: Roboto Light;
    font-size: var(--fontSizeLarge);
    line-height: var(--lineHeight);
}
*/
.font_size_M_Sans {
    font-family: Roboto Regular;
    font-size: var(--fontSizeMedium);
    letter-spacing: var(--letterSpacing);
    line-height: var(--lineHeight);
}
.font_size_M_Sans i {
    font-family: Roboto Italic;
    font-size: var(--fontSizeMedium);
    line-height: var(--lineHeight);
}
.font_size_M_Serif {
    font-family: Genath Regular;
    font-size: var(--fontSizeMedium);
    line-height: var(--lineHeight);
}
.font_size_L_Sans {
    font-family: Roboto Light;
    font-size: var(--fontSizeLarge);
    line-height: var(--lineHeight);
}
.font_size_L_Sans m {
    font-family: Roboto Medium;
}
.font_size_L_Serif {
    font-family: Genath Regular;
    font-size: var(--fontSizeLarge);
    line-height: var(--lineHeight);
}
.font_size_XL {
    font-family: Genath Regular;
    font-size: var(--fontSizeXLarge);
    line-height: var(--lineHeightLow);
}
.font_size_XL i {
    font-family: Genath Italic;
}
.uppercase {
    text-transform: uppercase;
}
.lowercase {
    text-transform: lowercase;
}

/***RESET
*****************************************************/
::-webkit-scrollbar {
    display: none;
}
::-webkit-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-moz-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-ms-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::-o-selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
::selection {
    color: var(--backColor);
    background-color: var(--textColor);
}
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    scroll-behavior: smooth;
}
body {
    position: relative;
    margin: var(--bodySpaces);
    color: var(--textColor);
    background: var(--backColor);
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--fontSizeSmall);
    letter-spacing: var(--letterSpacing);
    line-height: var(--lineHeight);
}
ul {
    display: block;
    list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    padding-inline-start: 0;
}
li {
  display: inline;
}
a {	
    color: var(--linkColor);
    text-decoration: none;
    transition-property: color;
    transition-duration: var(--transitionDuration);
}
a:hover {	
    transition-property: color;
    transition-duration: var(--transitionDuration);
}
h1, h2, h3 {
    margin: 0;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding: 0;
    font-size: var(--fontSizeSmall);
    font-style: normal;
    font-weight: 400;
}
p {
    display: block;
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    padding-inline-start: 0;
}
span {
    display: inline;
}
img, video {
    vertical-align: middle;
}
form, input, textarea, submit,
button, iframe, embed, audio {
    margin: 0;
    padding: 0;
    color: var(--textColor);
    background: transparent;
    border: 0;
    outline: none;
    font: inherit;
    font-size: inherit;
}
input:focus, textarea:focus {
    outline: none;
}
input[name="submit"] {
	cursor: pointer;
}
:-webkit-input-placeholder {
	/*internet explorer*/
	color: var(--textColor);
}
::-moz-input-placeholder {
	/*mozilla edge*/
    color: var(--textColor);
}
::-ms-input-placeholder {
	/*microsoft edge*/
    color: var(--textColor);
}
::-o-input-placeholder {
	/*microsoft edge*/
    color: var(--textColor);
}
::placeholder {
	/*chrome, firefox, opera, safari*/
    color: var(--textColor);
}

/***HEADER AND MENU
*****************************************************/
header {
    width: 100%;
    min-height: var(--headerHeight);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    /*padding: var(--spaceY) var(--spaceX);*/
    display: flex;
    justify-content: space-between;
    align-items: start;
    background: var(--backColor);
    z-index: 200;
}
header:not(.dark) {
    background: var(--paletteDarkGray);
}
header.cart {
    background: var(--paletteLightViolet);
}
h1.site_name {
    /*min-height: var(--rowGutterSmall);*/
    padding: var(--spaceY) var(--spaceX) calc(var(--spaceY)*0.33);
    text-transform: uppercase;
    z-index: 50;
}
.tool_bar {
    display: flex;
    gap: calc(var(--spaceX)*1.75);
    height: var(--headerHeight);
    padding: calc(var(--spaceY)*0.9) var(--spaceX) calc(var(--spaceY)*0.5);
    z-index: 100;
    transition: color var(--transitionDuration);
}
.tool_bar .open_menu_button,
.tool_bar .close_menu_button {
    cursor: pointer;
}
.tool_bar .open_menu_button {
    opacity: 1;
    pointer-events: auto;
    transition: opacity var(--transitionDuration);
}
.tool_bar.active .open_menu_button {
    opacity: 0;
    pointer-events: none !important;
}
.tool_bar svg.close_menu_button {
    width: var(--fontSizeLarge);
    height: calc(var(--rowGutterMedium)*0.5);
    position: absolute;
    right: var(--spaceX);
    /*padding-left: calc(var(--spaceX)*2);*/
    margin-top: calc(var(--spaceY)*0.5);
    fill: none;
    stroke: var(--backColor);
    stroke-width: 0.1rem;
    stroke-linecap: butt;
    opacity: 0;
    cursor: pointer;
    pointer-events: none;
    transition: opacity var(--transitionDuration);
}
.tool_bar svg.close_menu_button line {
    vector-effect: non-scaling-stroke;
}
.tool_bar .cart_trigger {
    cursor: pointer;
}
.tool_bar img {
    width: auto;
    height: 80%;
    padding-bottom: 0px;
    transition: filter var(--transitionDuration);
}
.tool_bar .search_form {
    position: relative;
}
.tool_bar .search_form form.search {
    position: absolute;
    top: 0;
    right: 100%;
}
.tool_bar .search_form form.search input[type="search"] {
    border-bottom: var(--borderLine);
}
.tool_bar .search_form form.search input[type="submit"] {
    width: 20px;
    height: 25px;
    position: absolute;
    top: 0;
    right: -20px;
}
.tool_bar.active {
    color: var(--backColor);
    pointer-events: auto !important;
}
.tool_bar.active svg.close_menu_button {
    opacity: 1;
    pointer-events: auto !important;
}
.tool_bar.active img {
    filter: brightness(2.4) grayscale(1);
}
nav.menu {
    position: absolute;
    display: inherit;
    z-index: 75;
    height: 100%;
    width: 100%;
    padding: var(--spaceY) var(--spaceX) calc(var(--spaceY)*0.33);
    pointer-events: none;
    background: var(--paletteBlack);
    opacity: 0;
    transition: opacity var(--transitionDuration);
}
nav.menu.active {
    opacity: 1;
    pointer-events: auto !important;
}
nav.menu ul {
    display: flex;
    justify-content: end;
    gap: var(--colGutter);
    color: var(--paletteGray);
}
nav.menu li.menu_item {
    display: inherit;
}
nav.menu li.menu_item span,
nav.menu li.menu_item a {
    color: var(--paletteGray);
}
nav.menu li.menu_item span:hover,
nav.menu li.menu_item a:hover {
    font-weight: bold;
}

/***HEADER DARK***/
header.dark {
    background: var(--paletteBlack);
}
header.dark a {
    color: var(--paletteGray);
}
header.dark form img {
    filter: grayscale(1) brightness(2.5);
}
header.dark .cart_trigger span {
    color: var(--paletteGray);
}
header.dark .cart_trigger img {
    filter: grayscale(1) brightness(2.5);
}
header.dark .open_menu_button,
header.dark .close_menu_button {
    color: var(--paletteGray);
}

/***MAIN CONTENT
*****************************************************/
main.content {
    min-height: var(--mainHeight);
    position: relative;
    /*margin-top: var(--rowGutter);*/
    /*
    padding-left: var(--spaceX);
    padding-right: var(--spaceX);
    */
}
/***DARK PAGES***/
main.content.dark {
    padding: var(--mainTopSpace) var(--spaceX) var(--mainBottomSpace);
    color: var(--paletteGray);
    background: var(--paletteBlack);
}
main.content.dark a {
    color: var(--paletteGray);
}
main.content.dark .section_header {
    /*padding-bottom: var(--spaceY);*/
    padding-bottom: var(--rowGutterLarge);
    border-bottom: var(--borderLineDark);
}
.section_header h2.section_name {
    text-align: center;
}
/***CART PAGE***/
main.content.cart {
    padding: var(--mainTopSpace) var(--spaceX) var(--mainBottomSpace);
    /*color: var(--paletteGray);*/
    background: var(--paletteLightViolet);
}
main.content.cart a {
    color: var(--paletteGray);
}
main.content.cart .section_header {
    /*padding-bottom: var(--spaceY);*/
    padding-bottom: var(--rowGutterLarge);
    border-bottom: var(--borderLineDark);
}


/***HOME
*****************************************************/
.books_menu {
    width: 100%;
    min-height: var(--menuHeight);
    position: -webkit-sticky;
    position: sticky;
    top: var(--headerHeight);
    background: var(--paletteDarkGray);
    z-index: 300;
}
.books_menu ul {
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    gap: 0 var(--colGutter);
    padding: calc(var(--spaceY)*2) var(--spaceX) var(--spaceY);
}
.books_menu ul li.menu_item {
    text-align: center;
}
.books_menu ul li.menu_item:hover,
.books_menu ul li.menu_item.active {
    font-family: Roboto Medium;
}
/***HOME SLIDER***/
.news {
    position: relative;
    /*
    display: flex;
    align-items: end;
    */
    width: 100vw;
    /*height: calc(100vh - var(--headerHeight) - var(--menuHeight));*/
    margin-bottom: var(--rowGutter);
    /*margin-left: calc(var(--spaceX) * -1);*/
    background: var(--paletteDarkGray);
}
.news .news_slider {
    width: 100%;
    height: calc(100vh - var(--headerHeight) - var(--menuHeight));
    position: relative;
    overflow: hidden;
}
.news .slides {
    /*
    display: flex;
    justify-content: center;
    */
    width: 100%;
    height: 100%;
    margin-left: 25vw;
    overflow-x: scroll;
}
.news .slide {
    width: 50vw;
    height: 100%;
    position: absolute;
    /*transition: transform 0.3s;*/
    /*padding: 0 var(--spaceX);*/
}
.news .slide .slide_media {
    width: 100%;
    height: 100%;
}
.news .slide .slide_media img {
    /*
    position: absolute;
    width: auto;
    */
    width: 100%;
    height: calc(100vh - var(--headerHeight) - var(--menuHeight) - (var(--rowGutterLarge)*2));
    object-fit: contain;
    -webkit-filter: drop-shadow(-0.75vw 3vw 1.75vw rgba(0,0,0,.35));
    filter: drop-shadow(-0.75vw 3vw 1.75vw rgba(0,0,0,.35));
    transition-property: margin-top, filter;
    transition-duration: .5s;
}
.news .slide:hover .slide_media img {
    margin-top: -1.5vw;
    -webkit-filter: drop-shadow(-0.75vw 4.5vw 1.75vw rgba(0,0,0,.35));
    filter: drop-shadow(-0.75vw 4.5vw 1.75vw rgba(0,0,0,.35));
}
.news .next, .news .prev {
    height: 100%;
    width: 25%;
    padding: 10px;
    position: absolute;
    z-index: 100;
    display: grid;
    align-items: center;
    /*background: rgba(0, 255, 0, 0.5);*/
    cursor: pointer;
}
.news .next {
    top: 0;
    right: 0;
}
.news .prev {
    top: 0;
    left: 0;
}
.news .slide .slide_data {
    display: none;
}
.news .slider_data {
    /*width: calc(100vw - var(--spaceX)*2);*/
    width: 100vw;
    position: absolute;
    bottom: 0;
    padding: var(--spaceY) 0;
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    gap: var(--gridGap);
}
.news .slider_data .slide_data_title {
    grid-column: 2/10;
}
.news .slider_data .slide_data_author {
    grid-column: 10/17;
}
.news .slider_data .slide_data_collection {
    grid-column: 17/21;
}
.news .slider_data .slide_data_price {
    grid-column: 21/24;
}

/***BOOKS PAGES
*****************************************************/
.books_nav_container {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--headerHeight) + var(--menuHeight));
    /*padding: 0 var(--spaceX);*/
    background: var(--paletteDarkGray);
    border-bottom: var(--rowGutter) solid var(--backColor);
    z-index: 100;
}
nav.books_sub_menu {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    gap: 0 var(--colGutter);
    padding: calc(var(--spaceY)*2) var(--spaceX) calc(var(--spaceY)*0.5);
    transition: opacity var(--transitionDuration);
}
nav.books_sub_menu:not(.active) {
    opacity: 0;
    pointer-events: none;
}
nav.books_sub_menu.active {
    opacity: 1;
    pointer-events: auto;
}
nav.books_sub_menu .list_view_button {
    grid-column: 1/4;
    cursor: pointer;
}
nav.books_sub_menu .collections_button {
    position: relative;
    grid-column: 4/13;
}
nav.books_sub_menu .collections_button .dropdown_menu {
    width: calc(100% + var(--spaceX)*1.5);
    height: calc(100vh - var(--headerHeight) - var(--menuHeight) - var(--rowGutterSmall) - (var(--spaceY)*2));
    position: absolute;
    margin-top: calc(var(--spaceY)*0.5);
    margin-left: calc(var(--spaceX)*-1.5);
    padding: var(--rowGutterXSmall) calc(var(--spaceX)*1.5) var(--mainBottomSpace);
    background: var(--paletteDarkGray);
    overflow-y: scroll;
    transition: opacity var(--transitionDuration);
}
nav.books_sub_menu .collections_button .dropdown_menu:not(.active) {
    opacity: 0;
    pointer-events: none;
}
nav.books_sub_menu .collections_button .dropdown_menu.active {
    opacity: 1;
    pointer-events: auto;
}
nav.books_sub_menu .collections_button .dropdown_menu li {
    display: block;
}
nav.books_sub_menu .collections_button .dropdown_menu .dropdown_group {
    line-height: var(--lineHeightSemiLow);
    letter-spacing: -0.0001rem;
}

/***BOOKS COLUMNS AND THUMBNAILS (GRID VIEW)***/
.books_columns {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--headerHeight) + var(--menuHeight));
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    gap: 0 var(--colGutter);
    height: calc(100vh - var(--headerHeight) - var(--menuHeight) - var(--rowGutter));
    /*** REVISAR ***/
    overflow-x: hidden;
    overflow-y: scroll;
}
.books_grid {
    /*margin-top: var(--rowGutter);*/
    display: grid;
    grid-template-columns: var(--colsGrid_4);
    gap: var(--gridGap);
    /*height: calc(100vh - var(--headerHeight) - var(--menuHeight));*/
    /*** REVIEW ***/
    /*
    overflow-x: hidden;
    overflow-y: scroll;
    */
}
.books_columns .sub_header {
    width: 100%;
    height: auto;
    text-align: center;
    position: absolute;
    margin-top: calc(var(--spaceY)*0.5);
    z-index: 100;
    pointer-events: none;
}
.books_columns .column_thumbs {
    /*
    display: flex;
    flex-direction: column;
    align-items: center;
    */
    height: calc(100vh - var(--headerHeight) - var(--menuHeight));
    padding-block: var(--rowGutterLarge);
    overflow: hidden;
    overflow-y: scroll;
    background: var(--paletteDarkGray);
}
.books_columns .thumb_item,
.books_grid .thumb_item {
    width: 100%;
    position: relative;
    cursor: pointer;
}
.books_columns .thumb_item {
    /*height: calc((100vw - var(--colGutter)*2) / 3);*/
    position: relative;
    display: grid;
    grid-template-columns: var(--colsGrid_8);
    column-gap: var(--colGutter);
    padding-block: var(--rowGutterLarge);
}
.books_grid .thumb_item {
    padding: calc(var(--spaceY)*1.33) calc(var(--spaceX)*1.33);
    background: var(--paletteDarkGray);
}
.books_columns .thumb_item .thumb_media,
.books_grid .thumb_item .thumb_media {
    height: 21vw;
    display: flex;
    justify-content: center;
    align-items: center;
    /*position: relative;*/
    /*padding: 0 calc(var(--spaceX)*2.5);*/
}
.books_columns .thumb_item .thumb_media {
    grid-column: 2/8;
}
.books_columns .thumb_item .thumb_media img,
.books_grid .thumb_item .thumb_media img {
    max-width: 100%;
    max-height: 100%;
    /*
    margin-top: 50%;
    margin-left: 50%;
    transform: translate(-50%, -50%);
    */
    box-shadow: var(--boxShadowMedium);
    opacity: 1;
    transition: opacity var(--transitionDuration);
}
.books_columns .thumb_item .thumb_data,
.books_grid .thumb_item .thumb_data {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity var(--transitionDuration);
}
.books_columns .thumb_item .thumb_data {
    grid-column: 2/8;
    padding: var(--colWidth) 0;
}
.books_grid .thumb_item .thumb_data {
    padding: calc(var(--spaceY)*1) calc(var(--spaceX)*1);
}
.books_columns .thumb_item .thumb_data .thumb_header,
.books_grid .thumb_item .thumb_data .thumb_header {
    align-self: start;
    width: 100%;
    height: 100%;
}
.books_columns .thumb_item .thumb_data .thumb_footer,
.books_grid .thumb_item .thumb_data .thumb_footer {
    align-self: end;
    width: 100%;
    text-align: right;
    color: var(--paletteViolet);
}
.books_columns .thumb_item .thumb_data,
.books_columns .thumb_item .thumb_data .thumb_sub_title, 
.books_grid .thumb_item .thumb_data,
.books_grid .thumb_item .thumb_data .thumb_sub_title {
    line-height: var(--lineHeightLow);
}
.books_columns .thumb_item .thumb_data .thumb_header .thumb_author {
    margin-bottom: calc(var(--spaceY)*0.75);
}
.books_columns .thumb_item:hover .thumb_media img,
.books_grid .thumb_item:hover .thumb_media img {
    opacity: 0;
}
.books_columns .thumb_item:hover .thumb_data,
.books_grid .thumb_item:hover .thumb_data {
    opacity: 1;
}
/***THUMBNAIL GRID***/
/*
section.thumb_grid {
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    grid-gap: var(--gridGap);
}
article.thumb .thumb_media {
    display: flex;
    justify-content: center;
    align-items: center;
}
article.thumb .thumb_media img {
    width: 100%;
    max-height: auto;
    object-fit: contain;
    object-position: center;
}
article.thumb .thumb_data {
    margin-top: calc(var(--rowGutterSmall)*0.25);
}
*/

/***LIST VIEW
*****************************************************/
.books_sheet_header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    gap: 0 var(--colGutter);
    padding: calc(var(--spaceY)*2) var(--spaceX) calc(var(--spaceY)*0.5);
    /*border-bottom: var(--borderLine);*/
    transition: opacity var(--transitionDuration);
}
.books_sheet_header:not(.active) {
    opacity: 0;
    pointer-events: none;
}
.books_sheet_header.active {
    opacity: 1;
    pointer-events: auto;
}
.books_sheet_header .grid_view_button {
    grid-column: 1/4;
    cursor: pointer;
}
.books_sheet_header span,
.books_data_sheet span  {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.books_sheet_header .sheet_header_title,
.books_data_sheet .sheet_row_title {
    grid-column: 4/12;
}
.books_sheet_header .sheet_header_authorship,
.books_data_sheet .sheet_row_authorship  {
    grid-column: 12/17;
}
.books_sheet_header .sheet_header_collection,
.books_data_sheet .sheet_row_collection {
    grid-column: 17/21;
}
.books_sheet_header .sheet_header_print,
.books_data_sheet .sheet_row_print {
    grid-column: 21/23;
}
.books_sheet_header .sheet_header_ebook,
.books_data_sheet .sheet_row_ebook {
    grid-column: 23/25;
}
.books_data_sheet {
    position: absolute;
    width: 100%;
    height: calc(100vh - var(--headerHeight) - var(--menuHeight) - var(--rowGutterSmall) - (var(--spaceY)*2));
    /*height: 100%;*/
    margin-top: var(--rowGutter);
    padding: var(--spaceY) var(--spaceX) var(--mainBottomSpace);
    background: var(--paletteDarkGray);
    z-index: 100;
    overflow-y: scroll;
    transition: opacity var(--transitionDuration);
}
.books_data_sheet:not(.active) {
    opacity: 0;
    pointer-events: none;
}
.books_data_sheet.active {
    opacity: 1;
    pointer-events: auto;
}
/*
.books_data_sheet .line_row_gutter {
    width: 100%;
    height: var(--rowGutter);
    background: var(--backColor);
}
*/
.books_data_sheet .data_sheet_row {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    gap: 0 var(--colGutter);
}
.books_sheet_header span,
.books_data_sheet span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*** SIDE PANELS
*****************************************************/
section.side_panel {
    width: calc(100vw - var(--spaceX)*4);
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
    z-index: 300;
    transition: right var(--transitionDurationSlow);
}
section.side_panel.open {
    right: 0;
}
/***MAIN PANEL***/
section.side_panel .main_panel {
    width: 55%;
    height: 100%;
    position: absolute;
    right: 0;
    padding: 0 var(--spaceX) var(--mainBottomSpace);
    color: var(--textColor);
    background: var(--backColor);
    box-shadow: var(--boxShadowLarge);
    overflow-y: scroll;
    transition: right var(--transitionDurationSlow);
}
body#books section.side_panel .main_panel {
    right: 0;
    z-index: 150;
}
body#authors section.side_panel .main_panel {
    right: -55%;
    z-index: 0;
}
body#authors section.side_panel .main_panel.open {
    right: 45%;
}
section.side_panel .main_panel .header_panel {
    background: var(--backColor);
    z-index: 300;
}
section.side_panel .main_panel .content_panel {
    width: calc(100% - var(--spaceX)*6);
}
body#blog section.side_panel .main_panel .content_panel {
    margin-top: var(--mainTopSpace);
}
body#blog section.side_panel .main_panel .content_panel .media {
    margin-top: var(--rowGutterMedium);
}
section.side_panel .main_panel .relation_trigger {
    cursor: pointer;
}
section.side_panel .main_panel .relation_trigger {
    border-bottom: 1px solid transparent;
}
section.side_panel .main_panel .relation_trigger:hover {
    border-bottom: var(--borderLine);
}
section.side_panel .main_panel .related_products .related_thumb_item .thumb_data .thumb_footer {
    color: var(--paletteViolet);
}
.main_panel .header_panel svg.close_main_panel_button {
    /*min-height: var(--headerHeight);*/
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--spaceY) 0;
    cursor: pointer;
}
svg.close_main_panel_button {
    width: var(--fontSizeLarge);
    height: auto;
    fill: none;
    stroke: var(--paletteBrown);
    stroke-width: 0.1rem;
    stroke-linecap: butt;
}
svg.close_main_panel_button line {
    vector-effect: non-scaling-stroke;
}
button.add_product,
a.e_book {
    cursor: pointer;
    transition: color var(--transitionDuration);
}
button.add_product:hover,
a.e_book:hover {
    color: var(--paletteViolet);
}
.related_products .related_thumbs {
    grid-gap: calc(var(--rowGutterLarge)*2) var(--colGutter);
}

/***RELATED PANEL***/
section.side_panel .related_panel {
    width: 45%;
    height: 100%;
    position: absolute;
    right: 0;
    padding: 0 var(--spaceX) var(--mainBottomSpace);
    color: var(--paletteGray);
    background: var(--paletteBrown);
    box-shadow: var(--boxShadowLarge);
    overflow-y: scroll;
    transition: right var(--transitionDurationSlow);
}
section.side_panel .related_panel.open {
    right: 55%;
}
section.side_panel .related_panel .header_panel {
    background: var(--paletteBrown);
}
section.side_panel .header_panel svg.close_related_panel_button {
    position: absolute;
    top: 0;
    right: 0;
    padding: var(--spaceY) 0;
    color: var(--paletteGray);
    cursor: pointer;
}
svg.close_related_panel_button {
    width: var(--fontSizeLarge);
    height: auto;
    fill: none;
    stroke: var(--backColor);
    stroke-width: 0.1rem;
    stroke-linecap: butt;
}
svg.close_related_panel_button line {
    vector-effect: non-scaling-stroke;
}
section.side_panel .related_panel .content_panel {
    width: 100%;
    margin-top: calc(var(--spaceY) + var(--rowGutterMedium)*3);
}
section.side_panel .related_panel .related_products .related_thumb_item .thumb_data .thumb_footer {
    color: var(--paletteGreen);
}
/***PANEL HEADER***/
section.side_panel {
    padding-bottom: var(--mainBottomSpace);
}
section.side_panel .header_panel {
    position: sticky;
    top: 0;
    padding: var(--spaceY) 0;
}
section.side_panel .header_panel .root {
    text-align: center;
}
section.side_panel .product {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: end;
    margin-top: calc(var(--spaceY)*1);
}
section.side_panel .product * {
    text-align: right;
}

/***PANEL CONTENT***/
section.side_panel .content_panel .sub_sub_title_panel {
    margin-bottom: var(--rowGutterLarge);
}
.media {
	width: 100%;
	height: auto; /* set via slider script */
    /*position: relative;*/
}
.media .slider {
	width: 100%;
	height: 100%;
	position: relative;
}
.media .slider .slides {
	width: 100%;
	/*height: 100%;*/
	position: relative;
}
.slider .slides .slide {
	width: 100%;
	height: auto;
	/*position: absolute;*/
}
.slider .slides .slide:not(.active) {
    display: none;
	/*opacity: 0;*/
}
.slider .slides .slide.active {
    display: inline-block;
	/*opacity: 1;*/
}
.slider .slides .slide img {
	width: 100%;
	height: auto;
}
.slider_nav {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	display: flex;
	justify-content: space-between;
}
.slider_nav .prev,
.slider_nav .next {
	width: 50%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
section.side_panel .content_panel .data_sheet {
    width: 100%;
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    margin-top: var(--spaceY);
}
section.side_panel .content_panel .data_sheet .data_rows {
    grid-column: 1/3;
}
section.side_panel .content_panel .data_sheet .data_rows .single_data_row {
    display: flex;
}
section.side_panel .content_panel .data_sheet .data_rows .single_data_row * {
    flex: 1;
}
section.side_panel .content_panel .data_sheet .download_pdf {
    grid-column: 3/4;
    text-align: right;
}
section.side_panel .content_panel .data_sheet .download_pdf a:hover {
    text-decoration: underline;
}
section.side_panel .content_panel .drophead,
section.side_panel .content_panel .synopsis {
    margin-top: var(--rowGutterMedium);
}
/***RELATED PRODUCTS***/
section.side_panel .content_panel .related_products {
    margin-top: var(--rowGutterMedium);
}
.related_products .related_thumbs {
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    margin-top: var(--rowGutterMedium);
}
.related_products .related_thumb_item {
    width: 100%;
    cursor: pointer;
}
.related_products .related_thumb_item .thumb_media {
    display: flex;
    justify-content: center;
    position: relative;
    padding: 0 22.5%;
}
.related_products .related_thumb_item .thumb_media img {
    max-width: 100%;
    max-height: 22.5vw;
    box-shadow: -0.5vw 0.5vw 1vw rgba(0,0,0,.35);
    opacity: 1;
    transition: opacity var(--transitionDuration);
}
.related_products .related_thumb_item .thumb_media .thumb_data {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity var(--transitionDuration);
}
.related_products .related_thumb_item .thumb_data .thumb_header {
    align-self: start;
    width: 100%;
    height: 100%;
}
.related_products .related_thumb_item .thumb_data .thumb_footer {
    align-self: end;
    width: 100%;
    text-align: right;
}
.related_products .related_thumb_item:hover .thumb_media img {
    opacity: 0;
}
.related_products .related_thumb_item:hover .thumb_media .thumb_data {
    opacity: 1;
}

/***CART PANEL
*****************************************************/
section.cart_panel {
    width: calc(100vw - var(--spaceX)*4);
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
    z-index: 300;
    color: var(--textColor);
    transition: right var(--transitionDurationSlow);
}
section.cart_panel.open {
    right: 0;
}
section.cart_panel .header_panel {
    min-height: var(--headerHeight);
    position: sticky;
    top: 0;
    display: flex;
    justify-content: end;
    padding: var(--spaceY) 0 calc(var(--spaceY)*0.33);
    background: var(--paletteLightViolet);
}
section.cart_panel .main_panel {
    width: 55%;
    height: 100%;
    position: absolute;
    right: 0;
    z-index: 150;
    padding: 0 var(--spaceX) var(--mainBottomSpace);
    background: var(--paletteLightViolet);
    box-shadow: var(--boxShadowLarge);
    overflow-y: scroll;
}
section.cart_panel .main_panel .content_panel {
    padding-top: var(--menuHeight);
}
section.cart_panel .main_panel .cart_products {
    margin-top: calc(var(--rowGutterSmall));
}
section.cart_panel .main_panel .products_data_header {
    display: grid;
    grid-template-columns: var(--colsGrid_12);
    column-gap: var(--colGutter);
    padding: calc(var(--spaceY)* 0.5) 0;
    border-top: var(--borderLine);
    border-bottom: var(--borderLine);
}
section.cart_panel .main_panel .products_data_row {
    display: grid;
    grid-template-columns: var(--colsGrid_12);
    column-gap: var(--colGutter);
    padding: calc(var(--spaceY)* 1) 0;
}
section.cart_panel .main_panel .products_data_row {
    border-bottom: var(--borderLine);
}
section.cart_panel .main_panel .products_data_footer {
    display: grid;
    grid-template-columns: var(--colsGrid_12);
    column-gap: var(--colGutter);
    padding: calc(var(--spaceY)* 0.5) 0;
    border-bottom: var(--borderLine);
}
section.cart_panel .main_panel .product_col {
    grid-column: 1/8;
}
section.cart_panel .main_panel .remove_col {
    grid-column: 1/2;
}
section.cart_panel .main_panel .cover_col {
    grid-column: 2/4;
}
section.cart_panel .main_panel .cover_col img {
    max-width: 66%;
    box-shadow: var(--boxShadowSmall);
}
section.cart_panel .main_panel .title_col {
    grid-column: 4/8;
}
section.cart_panel .main_panel .quantity_col {
    grid-column: 9/11;
}
section.cart_panel .main_panel .price_col {
    grid-column: 11/13;
    text-align: right;
}
section.cart_panel .main_panel .subtotal_col {
    grid-column: 1/8;
}
.cart_panel_buttons {
    width: 100%;
    display: flex;
    justify-content: end;
    gap: var(--colGutter);
    margin-top: calc(var(--spaceY)* 4);
}
.cart_panel_buttons button {
    text-align: right;
    padding: calc(var(--spaceY)/4) calc(var(--spaceX)/2);
    color: var(--paletteBlack);
    background: var(--paletteGray);
    border-radius: var(--borderRadius);
    box-shadow: var(--boxShadowSmall);
    transition-property: color, background;
    transition-duration: var(--transitionDuration);
    cursor: pointer;
}
.cart_panel_buttons button:hover {
    color: var(--paletteGray);
    background: var(--paletteBrown);
}
.cart_button a,
.checkout_button a {
    color: var(--textColor) !important;
}
.cart_button a:hover,
.checkout_button a:hover {
    color: var(--backColor) !important;
}

/***SUBSCRIPTION PANEL
 *****************************************************/
section.subscription_panel {
    width: calc(100vw - var(--spaceX)*4);
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
    z-index: 300;
    transition: right var(--transitionDurationSlow);
}
section.subscription_panel.open {
    right: 0;
}
section.subscription_panel .header_panel {
    min-height: var(--headerHeight);
    position: sticky;
    top: 0;
    display: flex;
    justify-content: end;
    padding: var(--spaceY) 0 calc(var(--spaceY)*0.33);
}
section.subscription_panel .main_panel {
    width: 55%;
    height: 100%;
    position: absolute;
    right: 0;
    z-index: 150;
    padding: 0 var(--spaceX) var(--mainBottomSpace);
    box-shadow: var(--boxShadowLarge);
    overflow-y: scroll;
}
section.subscription_panel .main_panel .content_panel {
    padding-top: var(--menuHeight);
}
section.subscription_panel .subscription_form {
    margin-top: calc(var(--rowGutterSmall));
    /*border-bottom: var(--borderWidth) solid var(--paletteGreen);*/
}
/*
section.subscription_panel .subscription_form input.subscription_email::placeholder {
    color: var(--paletteGreen);
}
*/
section.subscription_panel .label_select {
    margin-top: calc(var(--rowGutterSmall)*1);
}
section.subscription_panel .label_select form {
    margin-top: calc(var(--rowGutterSmall)*1);
}
/*
section.subscription_panel .label_select form label,
section.subscription_panel .label_select form input {
    color: var(--backColor);
}
*/
section.subscription_panel .label_select form input {
    padding: calc(var(--spaceY)/4) calc(var(--spaceX)/2);
    border-radius: var(--borderRadius);
    transition: color var(--transitionDuration), background var(--transitionDuration);
}
section.subscription_panel:not(.dark) .header_panel,
section.subscription_panel:not(.dark) .main_panel {
    color: var(--textColor);
    background: var(--backColor);
}
section.subscription_panel.dark .header_panel,
section.subscription_panel.dark .main_panel {
    color: var(--paletteGray);
    background: var(--paletteBlack);
}
section.subscription_panel:not(.dark) .subscription_form,
section.subscription_panel:not(.dark) .subscription_form input.subscription_email::placeholder {
    color: var(--paletteViolet) !important;
    border-bottom: var(--borderWidth) solid var(--paletteViolet);
} 
section.subscription_panel.dark .subscription_form,
section.subscription_panel.dark .subscription_form input.subscription_email::placeholder {
    color: var(--paletteGreen) !important;
    border-bottom: var(--borderWidth) solid var(--paletteGreen);
}
section.subscription_panel:not(.dark) .label_select form label,
section.subscription_panel:not(.dark) .label_select form input {
    color: var(--textColor);
}
section.subscription_panel.dark .label_select form label,
section.subscription_panel.dark .label_select form input {
    color: var(--backColor);
}
section.subscription_panel .label_select form input {
    transition-property: color, background;
    transition-duration: var(--transitionDuration);
}
section.subscription_panel:not(.dark) .label_select form input {
    color: var(--backColor);
    background: var(--textColor);
}
section.subscription_panel:not(.dark) .label_select form input:hover {
    color: var(--backColor);
    background: var(--paletteViolet);
}
section.subscription_panel.dark .label_select form input {
    color: var(--textColor);
    background: var(--backColor);
}
section.subscription_panel.dark .label_select form input:hover {
    color: var(--textColor);
    background: var(--paletteGreen);
}
section.subscription_panel:not(.dark) .header_panel svg.close_main_panel_button {
    stroke: var(--textColor);
}
section.subscription_panel.dark .header_panel svg.close_main_panel_button {
    stroke: var(--backColor);
}

/***ABOUT
*****************************************************/
.section_about {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    column-gap: var(--colGutter);
    padding-top: var(--spaceY);
}
.section_about .col_about {
    grid-column: 2/14;
}
.section_about .text_about {
    margin-bottom: var(--rowGutterMedium);
}
.section_about .labels_about > p {
    padding-bottom: var(--spaceY);
    border-bottom: var(--borderLineDark);
}
.section_about .labels_about {
    width: 100%;
}
.section_about .labels_about .single_label {
    width: 100%;
    padding: calc(var(--spaceY)*.5) 0;
    border-bottom: var(--borderLineDark);
}
.section_about .labels_about .single_label .single_label_logo {
    width: 100%;
    height: calc((var(--rowGutterLarge)*1.1));
    opacity: 1;
    transition: opacity var(--transitionDuration);
    cursor: pointer;
}
.section_about .labels_about .single_label .single_label_logo:hover {
    opacity: .5;
}
.section_about .labels_about .single_label .single_label_logo img {
    width: auto;
    height: 100%;
    /*
    object-fit: contain;
    object-position: left;
    */
}
.section_about .labels_about .single_label .single_label_content {
    width: 100%;
    max-height: 0;
    opacity: 0;
    /*padding: calc(var(--spaceY)*.5) 0;*/
    overflow: hidden;
    transition-property: opacity, max-height;
    transition-duration: var(--transitionDurationSlow);
}
.section_about .labels_about .single_label.active .single_label_content {
    max-height: 100vh;
    opacity: 1;
    /*padding-bottom: calc(var(--spaceY)*.5);*/
}
.section_about .labels_about .single_label .single_label_content img {
    width: 100%;
    padding: calc(var(--spaceY)*.5) 0;
}
.section_about .labels_about .single_label .single_label_content p {
    width: 100%;
    padding: calc(var(--spaceY)*.5) 0;
}
.section_about .credits_about {
    margin-top: calc(var(--spaceX)*2);
    display: grid;
    grid-template-columns: var(--colsGrid_3);
    column-gap: var(--colGutter);
}
/*
.section_about .credits_about .sub_col {
}
*/
.section_about .col_press {
    grid-column: 15/24;
}
h3.sub_section_name {
    margin-bottom: var(--rowGutterSmall);
}
.section_about .col_press .tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--colGutter);
    margin-bottom: var(--spaceY);
}
.section_about .col_press button {
    padding: calc(var(--spaceY)/4) calc(var(--spaceX)/2);
    color: var(--paletteBlack);
    background: var(--paletteGray);
    border-radius: var(--borderRadius);
    transition: background var(--transitionDuration);
}
.section_about .col_press button:hover {
    background: var(--paletteGreen);
}
.section_about .col_press button.active {
    color: var(--paletteBlack);
    background: var(--paletteGreen);
}
/*
.section_about .col_press .rows_press {
}
*/
.section_about .col_press .rows_press .single_row_press {
    padding: var(--spaceY) 0;
}
.section_about .col_press .rows_press .single_row_press:not(:last-child) {
    border-bottom: var(--borderLineDark);
}
.section_about .col_press .rows_press .single_row_press .header_row_press {
    display: flex;
    justify-content: space-between;
    /*margin-bottom: calc(var(--rowGutterXSmall)/4);*/
}
/*
.section_about .col_press .row_press .single_row_press .title_row_press {
}
*/

/***AUTHORS
*****************************************************/
.section_authors .data_sheet_group {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    column-gap: var(--colGutter);
    padding: var(--spaceY) 0 calc(var(--spaceY)*2);
    border-bottom: var(--borderLineDark);
}
.section_authors .data_sheet_group .sheet_group_title {
    grid-column: 1/4;
}
.section_authors .data_sheet_group .sheet_group_itmes {
    grid-column: 4/25;
    column-count: 4;
    column-gap: var(--colGutter);
}
.section_authors .data_sheet_group .sheet_group_itmes .single_group_item .sheet_row_title {
    cursor: pointer;
    transition: color var(--transitionDuration);
}
.section_authors .data_sheet_group .sheet_group_itmes .single_group_item .sheet_row_title:hover {
    color: var(--textColor);
}

/***BLOG
*****************************************************/
.section_blog {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    column-gap: var(--colGutter);
    padding-top: var(--rowGutterSmall);
}
.section_blog .tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--colGutter);
    margin-bottom: calc(var(--spaceY)*2);
    grid-column: 2/24;
}
.section_blog .tags button {
    padding: calc(var(--spaceY)/4) calc(var(--spaceX)/2);
    color: var(--paletteBlack);
    background: var(--paletteGray);
    transition: background var(--transitionDuration);
    border-radius: var(--borderRadius);
}
.section_blog .tags button:hover {
    background: var(--paletteGreen);
}
.section_blog .tags button.active {
    color: var(--paletteBlack);
    background: var(--paletteGreen);
}
.section_blog .blog_posts_list {
    grid-column: 2/24;
}
.section_blog .blog_posts_list .blog_posts_row {
    width: 100%;
    display: grid;
    grid-template-columns: var(--colsGrid_22);
    column-gap: var(--colGutter);
    cursor: pointer;
    transition: color var(--transitionDuration);
}
.section_blog .blog_posts_list .blog_posts_row:hover {
    color: var(--textColor);
}
.section_blog .blog_posts_list .blog_posts_row > div {
    height: var(--rowGutterMedium);
    display: flex;
    align-items: end;
}
.section_blog .blog_posts_list .blog_posts_row > div span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.section_blog .blog_posts_list .posts_row_title {
    grid-column: 1/12;
}
.section_blog .blog_posts_list .posts_row_date {
    grid-column: 15/19;
}
.section_blog .blog_posts_list .posts_row_label {
    grid-column: 19/23;
}

/***DISTRIBUTION
*****************************************************/
.section_distribution .data_sheet_group {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    column-gap: var(--colGutter);
    padding: var(--spaceY) 0 calc(var(--spaceY)*2);
    border-bottom: var(--borderLineDark);
}
.section_distribution .data_sheet_group .sheet_row_country {
    grid-column: 1/9;
}
.section_distribution .data_sheet_group .sheet_row_shop {
    grid-column: 9/17;
}
.section_distribution .data_sheet_group .sheet_row_address {
    grid-column: 17/25;
}

/***CART
*****************************************************/
.section_cart {
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    column-gap: var(--colGutter);
    /*padding-top: var(--spaceY);*/
}

.sub_section_header {
    padding-bottom: var(--rowGutterLarge);
    border-bottom: var(--borderLine);
}
.section_cart .col_products {
    grid-column: 2/14;
}
.section_cart .col_shipping {
    grid-column: 15/24;
}

/***FOOTER
*****************************************************/
footer {
    width: 100%;
    min-height: var(--footerHeight);
    position: relative;
    display: grid;
    grid-template-columns: var(--colsGrid_24);
    gap: var(--gridGap);
    padding: calc(var(--spaceY)*2) var(--spaceX);
}
footer:before {
    content: "";
    position: absolute;
    top: 0;
    left: var(--spaceX);
    width: calc(100% - var(--spaceX)*2);
}
footer:not(.dark) {
    background: var(--paletteDarkGray);
}
footer.dark {
    color: var(--paletteGray);
    background: var(--paletteBlack);
}
footer:not(.dark):before {
    border-top: var(--borderLine);
}
footer.dark:before {
    border-top: var(--borderLineDark);
}
footer.dark a {
    color: var(--paletteGray);
}
footer.cart {
    background: var(--paletteLightViolet);
}
footer .footer_contact {
    grid-column: 1/6;
}
footer .footer_mails {
    grid-column: 6/12;
}
footer .footer_subscribe {
    grid-column: 20 / 23;
    border-top: 0;
}
footer .footer_subscribe span {
    cursor: pointer;
}
footer .footer_social {
    grid-column: 23 / 25;
    display: flex;
    justify-content: space-between;
}
body#books footer:not(.dark) {
    margin-top: var(--rowGutter);
}
body#books footer:not(.dark):before {
    border-top: 0;
}