/***DESKTOPS (XX-LARGE SCREEN)
*****************************************************/
@media (min-width: 1600px) {  
}

/***DESKTOPS (X-LARGE SCREEN)
*****************************************************/
@media (min-width: 1600px) { 
}

/***DESKTOPS (LARGE SCREEN)
*****************************************************/
@media (min-width: 1440px) {
}

/***DESKTOPS (MEDIUM SCREEN)
*****************************************************/
@media (min-width: 1281px) {
}

/***DESKTOP (NOTEBOOKS and DESKTOPS)
*****************************************************/
@media (min-width: 1025px) {
	.mobile {
    	display: none;
    }
}

/***FROM TABLETS TO MOBILES (LANDSCAPE and PORTRAIT)
*****************************************************/
@media (max-width: 1024px) {
    /***VIEWPORT HEIGHT***/
    :root {
    	--viewportHeight: calc(var(--vh, 1vh) * 100);
        /*
    	--fontSize: 1rem;
        --spaceY: calc(var(--fontSizeSmall) * var(--lineHeight));
    	--spaceX: calc(var(--fontSizeSmall) * var(--lineHeight));
        --fontSizeLarge: 2rem;
        */
        --headerMobileHeight: calc(var(--rowGutterLarge) + (var(--spaceY)*0.75) - var(--borderWidth));
        --colWidth: calc(100vw / 12);
        --mainMenuWidth: calc(var(--colWidth)*8);
        --mainMenuHeight: calc(100% - var(--headerMobileHeight));
        --sectionNavWidth: 100%;
        --sectionContentWidth: 100%;
	}
    body {
        height: calc(100vh - var(--headerMobileHeight) - var(--borderWidth)); /* Fallback */
        height: calc(var(--viewportHeight) - var(--headerMobileHeight) - var(--borderWidth));
    }
    .desktop {
    	display: none;
    }
    nav.site_name {
    	width: calc(100% - var(--spaceX)*2);
       	height: var(--headerMobileHeight);
        left: var(--spaceX);
        /*padding: calc(var(--spaceY)*0.75) var(--spaceX);*/
        padding: calc(var(--spaceY)*0.75) 0;
        display: flex;
        justify-content: start;
        border-right: 0;
        border-bottom: var(--borderLine);
        gap: 0;
        transition: gap var(--transitionDurationSlow);
        z-index: 150;
    }
    nav.site_name.expanded {
        gap: calc(50% - 2.2rem)
    }
    nav.site_name span {
    	width: 1.33rem;
    	align-self: center !important;
        display: flex;
        align-items: center;
    }
    nav.site_name span:nth-child(1) {
    	margin-right: calc(var(--spaceX)*0.33);
    }
    nav.site_name span:nth-child(2) {
    	margin-right: calc(var(--spaceX)*0.165);
    }
    nav.site_name .menu_button.mobile {
    	position: absolute;
        top: 0;
        right: 0;
        z-index: 300;
        display: flex;
        align-items: center;
        height: 100%;
        opacity: 1;
        transition-property: rotate, opacity;
        transition-duration: var(--transitionDuration);
    }
    nav.site_name.open .menu_button.mobile {
    	rotate: 45deg;
    }
    nav.site_name .menu_button.mobile.hide {
    	opacity: 0;
    }
    .menu_button.mobile svg.plus_icon {
        width: 1.2rem;
        height: auto;
        fill: none;
        stroke: var(--textColor);
        stroke-width: 1px;
        cursor: pointer;
	}
    .menu_button.mobile svg.plus_icon line {	
		vector-effect: non-scaling-stroke;
	}
    nav.menu {
    	height: var(--mainMenuHeight);
        top: var(--headerMobileHeight);
    	left: calc(var(--mainMenuWidth)*-1);
        padding: calc(var(--spaceY)*.5) var(--spaceX) var(--spaceY);
        z-index: 100;
        background: var(--backColor);
        transition: var(--transitionDuration);
    }
    nav.menu.mobile {
    	display: flex;
    	flex-direction: column;
    }
    nav.menu.open {
    	left: 0;
    }
    nav.menu header.header_root {
    	display: none;
    }
    nav.menu li.menu_item:not(.active) a:hover {	
		padding-left: calc(var(--spaceX)*2);
	}
    nav.menu li.menu_item.active {
    	padding-left: calc(var(--spaceX)*2);
    }
    nav.menu .menu_footer {
    	padding: var(--spaceY) var(--spaceX) var(--spaceY) 0;
	}
    .close_button, .open_button {
		display: none;
	}
    header.header_root {
    	padding-top: var(--spaceY);
    	padding-bottom: var(--spaceY);
        margin-left: var(--spaceX);
	}
    body.exhibitions header.header_root,
    body.fairs header.header_root {
    	padding-bottom: 0;
    }
	main.content,
    main.content.compressed {
    	width: 100%;
		height: auto;
		position: static;
		right: auto;
		left: auto;
        margin-top: calc(var(--headerMobileHeight) - var(--borderWidth));
		overflow-y: scroll;
	}
    body.artist section.section_nav,
    body.exhibition section.section_nav,
    body.fair section.section_nav,
    body.publication section.section_nav,
    body.news section.section_nav,
    body.about section.section_nav {
    	border-right: 0;
    }
    body.exhibitions .nav_article a:hover .article_title,
	body.fairs .nav_article a:hover .article_title,
	body.publications .nav_article a:hover .article_title {
		padding-left: calc(var(--spaceX)*2);
	}
    body.artist main.content,
    body.exhibition main.content,
    body.fair main.content,
    body.publication main.content,
    body.news main.content,
    body.about main.content {
    	flex-direction: column;
    }
    section.section_nav, section.section_content {
    	height: auto;
        overflow: inherit;
    }
    section.section_nav {
    	position: relative;
    	padding: 0 var(--spaceX);
	}
    section.section_content,
    body:not(.publications) section.section_content:not(.full) {
    	padding: var(--spaceY) var(--spaceX) calc(var(--rowGutter)*2);
    }
    section.section_nav .article_subtitle {
    	padding-left: calc(var(--spaceX)*2);
    }
    body:not(.publications) .section_nav .nav_article:nth-child(3) {
    	border-top: none;
	}
    body.publications section.section_nav {
    	width: 100%;
    	border-right: 0;
	}
    body.publications section.section_content {
    	display: none;
    }
    section.section_content {
    	position: static;
    }
    section.section_content header.header_root {
    	display: none;
	}
    body.news_index .nav_article .article_date {
    	text-align: center;
    }
    body.news_index .nav_article a .article_thumbs {
        opacity: 1;
    }
    body.news_index .nav_article a .article_thumbs img {
        max-height: calc(var(--rowGutterLarge)*3);
    }
    body.exhibition .mini_thumbnail_grid {
    	display: none;
    }
    body.about .article_title {
    	display: none;
	}
    /*
    body.artist main.content section.section_content:not(.full) .media_grid,
    body.news main.content section.section_content:not(.full) .media_grid,
    body.news main.content section.section_content:not(.full) .media_grid {
    	margin-top: 0;
    }
    */
    main.content section.section_content .media_grid {
    	/*
    	display: grid;
    	grid-template-columns: var(--twoColsGrid);
        */
        gap: calc(var(--rowGutter)*2) calc(var(--spaceX)*1);
    }
    .article_footer, .about_footer {
        margin-top: calc(var(--rowGutter)*1);
        padding-top: var(--rowGutter);
        padding-bottom: var(--rowGutter);
        padding-left: 0;
        border-top: var(--borderLine);
        border-bottom: var(--borderLine);
	}
    .about_footer {
    	margin-top: calc(var(--rowGutter)*0.25);
    }
    body.about main.content.compressed .slider,
    body.about main.content.expanded .slider {
    	width: 50%;
    }
    body.about main.content.compressed .slider .slides,
    body.about main.content.expanded .slider .slides {
    	height: 30vw;
    };
}

/***TABLETS (LANDSCAPE)
*****************************************************/
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
	main.content section.section_content .media_grid {
    	display: grid;
    	grid-template-columns: var(--twoColsGrid);
        /*gap: calc(var(--rowGutter)*2) calc(var(--spaceX)*1);*/
    }
	main.content.compressed section.section_content .media_grid .media_item {
    	width: 100%;
    	/*width: calc(50% - var(--spaceX));*/
    }
}

/***TABLETS (PORTRAIT)
*****************************************************/
@media (min-width: 768px) and (max-width: 1024px) {
}

/***SMALL TABLETS, MOBILES (LANDSCAPE)
*****************************************************/
@media (max-width: 767px) {
	:root {
    	--fontSize: 1.25rem;
        --fontSizeLarge: 2rem;
        --spaceY: calc(var(--fontSizeSmall) * var(--lineHeight));
    	--spaceX: calc(var(--fontSizeSmall) * var(--lineHeight));
	}
    a.external_link {
    	text-decoration: var(--linkDeco);
    }
    header.header_root {
    	padding-top: calc(var(--spaceY)*1.5);
        margin-left: calc(var(--spaceX)*2);
	}
    body.artist main.content section.section_content .media_grid {
    	display: grid;
    	grid-template-columns: var(--twoColsGrid);
    }
    body.artists main.content .thumbnail_grid a.single_thumb .thumb_data {
    	transition: padding-left var(--transitionDuration);
    }
    body.artists main.content .thumbnail_grid a.single_thumb:hover .thumb_data {
    	padding-left: calc(var(--spaceX)*2);
    }
    body.about main.content.compressed .slider,
    body.about main.content.expanded .slider {
    	width: 100%;
    }
    body.about main.content.compressed .slider .slides,
    body.about main.content.expanded .slider .slides {
    	height: 60vw;
    };
}

/***MOBILES (PORTRAIT)
*****************************************************/
@media (max-width: 480px) {
	.menu_footer p:first-child {
        padding-bottom: calc(var(--rowGutterSmall)*1);
    }
	.menu_footer p:last-child {
        padding-top: calc(var(--rowGutterSmall)*1);
    }
	body.news_index .nav_article a .article_thumbs img {
        max-height: 100%;
    }
    body.news_index .nav_article a .article_thumbs img {
    	width: 100%;
        height: auto;
	}
    body.news_index .nav_article a .article_thumbs img:not(:first-child) {
    	display: none;
	}
    body.artists .section_text {
    	display: none;
    }
    body.artists .thumbnail_grid {
    	display: block;
        margin-top: 0;
    }
    body.artists .thumbnail_grid .thumb_media {
    	display: none;
	}
    body.artists .thumbnail_grid .thumb_data {
    	padding: 0;
        font-size: var(--fontSizeLarge);
        text-transform: none;
	}
    body.artist main.content section.section_content .media_grid {
    	display: flex;
    	/*grid-template-columns: var(--oneColsGrid);*/
    }
    body.about .about_footer {
        gap: calc(var(--spaceY)*2) var(--spaceX);
    }
    body.about .about_footer > * {
        grid-column: 1/3;
    }
    .about_footer form.subscription_form {
    	width: 75%;
    }
}