:root {
	--type-xl: 3.375rem; /* 54px */
	--type-l: 2.250rem; /* 36px */
	--type-m: 1.500rem; /* 24px */
	--type-s: 1.063rem; /* 18px */
	--type-xs: 0.813rem; /* 13px */
	--type-xxs: 0.65rem; /* 10px */
	
	--color-background: #38D530; /* verde */
	--color-background: white; /* verde */
	--color-front: #FF4BC4; /* rosa */
	
	--margin: 48px;
	--margin-top: 38px;
	--columns: repeat(3, 1fr);
	--border-width: 3px;
}

@media screen and (max-width: 768px) {
	:root {
		--type-xl: 2.375rem; /* 38px */
		--type-m: 1.125rem; /* 24px */
		--type-xs: 0.813rem; /* 13px */
		--type-xxs: 0.375rem; /* 6px */
		
		--margin: 24px;
		--margin-top: 24px;
		--columns: repeat(2, 1fr);
		--border-width: 2px;
	}
}

@media screen and (max-width: 480px) {
	:root {
		--type-xl: 1.7rem; /* 24px */
		--type-l: 1.7rem; /* 36px */
		--type-m: 1.4rem; /* 24px */
		--type-xs: 0.813rem; /* 13px */
		
		--margin: 14px;
		--margin-top: 16px;
		--columns: repeat(1, 1fr);
	}
}

html {
	background-color: var(--color-background);
}

html, body {
    font-family: "B", sans-serif;
	font-size: 100%;
}

.ccm-page {
	display: grid;
	grid-template-areas:
	"nav"
	"hero"
	"pre-main"
	"title"
	"heading"
	"main"
	"logos"
	"footer";
}

.content-block {
	position: relative;
}

.is-home .content-block {
	justify-self: start;
}

.film-thumb img,
.film-poster img {
	max-width: 100%;
	height: auto;
	display: block;
	box-sizing: border-box;
}

.film-thumb img{
	width: 100%;
}

.dot {
	position: relative;
	line-height: 1;
}

.dot::after {
	content: ".";
	transform: rotate(-45deg);
	position: absolute;
	transform-origin: center;
	top: -.13em;
	left: .06em;
}

/* @group backgrounds */

#esk-main::before,
#esk-main::after {
	
	content: "";
	
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 60%;
	animation: pairar 6s cubic-bezier(0.645, 0.045, 0.355, 1) 0s infinite alternate;
	z-index: -3;
	width: 40vw;
	height: 100vh;
	position: fixed;
	top: 0;
	
}

#esk-main::before {
	left: 0;
	right: auto;
	background-image: url(../images/ficlo_artwork_01.png);
}

#esk-main::after {
	left: auto;
	right: 0;
	background-image: url(../images/ficlo_artwork_01.png);
}

.page-type-page-list #esk-main::before {
	background-image: url(../images/ficlo_artwork_06-polvos.png);
	background-size: cover;
	animation: none;
	width: 100vw;
}

.page-type-page-list #esk-main::after {
	content: none;
	display: none;
}

/* @end */

/* @group nav */

.esk-nav ul.nav,
ul.nav-dropdown-item  {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.esk-nav {
	grid-area: nav;
	padding-left: var(--margin);
	padding-right: var(--margin);
	padding-top: var(--margin-top);
	display: grid;
	grid-template-columns: 1fr auto;
	grid-auto-flow: column;
	z-index: 3;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
}

.esk-nav ul.nav {
	display: grid;
	grid-template-columns: repeat(3, auto);
	font-size: var(--type-xl);
	text-transform: uppercase;
	justify-content: space-between;
}

a.nav-item-link {
	color: black;
	text-decoration: none;
	border-bottom: var(--border-width) solid transparent;
	display: inline-block;
	line-height: 1;
	padding-bottom: 0;
}

a.nav-item-link:hover {
	color: var(--color-front);
}

a.nav-item-link.nav-selected,
a.nav-item-link.nav-path-selected {
	border-bottom: var(--border-width) solid black;
	color: black;
}

ul.nav-dropdown-item {
	position: absolute;
	display: grid;
	justify-content: start;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.nav-dropdown:hover > .nav-dropdown-item {
	opacity: 1;
	visibility: visible;
	pointer-events: unset;
}

ul.nav-dropdown-item .nav-item {
	display: grid;
}

ul.nav-dropdown-item .nav-item-link {
	background-color: var(--color-background);
	justify-self: start;
	padding-right: .1em;
}

/* @end */

/* @group heading */

.page-title {
	margin: 1em 0;
	padding: 0 var(--margin);
	font-size: var(--type-m);
	grid-area: title;
	max-width: 900px;
	text-transform: uppercase;
}

.page-subtitle {
	font-size: var(--type-m);
	display: block;
	font-style: italic;
	text-transform: none;
}

.heading {
	padding: 0 var(--margin);
	grid-area: heading;
	/*text-transform: uppercase;*/
	margin-bottom: var(--margin);
	margin-bottom: 1.4rem;
}

.heading p {
	margin: 0;
	font-size: var(--type-xs);
	padding-left: 1.2em;
	position: relative;
	font-style: italic;
}

.heading p::before {
	content: "";
	width: 4px;
	height: 5.2px;
	background: black;
	display: block;
	transform: rotate(-45deg) ;
	position: absolute;
	left: .3em;
	top: 35%;
	/*transform: translateY(-50%);*/
}

.esk-hero {
	grid-area: hero;
	margin-right: var(--margin);
	margin-left: var(--margin);
	margin-top: .5em;
}

/*.film-poster img,
.esk-page-list-image,
.esk-hero,*/
.ccm-block-topic-list-topic {
	border: var(--border-width) solid black;
}

.ccm-block-topic-list-topic.topic-selected,
.no-touchevents .esk-page-list-item:hover .esk-page-list-image,
.no-touchevents .ccm-block-topic-list-topic:hover {
	border: var(--border-width) solid var(--color-front);
}

.no-touchevents .esk-page-list-item:hover .esk-page-list-image {
	border: var(--border-width) solid var(--color-front);
}


/* @end */

/* @group main */

#esk-main {
	display: grid;
	grid-area: main;
}

#esk-main.page-not-found {
	padding: var(--margin);
	min-height: 100vh;
	align-content: center;
	justify-items: center;
	grid-template-areas: unset;
	grid-template-columns: unset;
	grid-template-rows: unset;
}

#esk-main.page-not-found .page-title,
#esk-main.page-not-found .page-subtitle {
	grid-area: unset;
}

#esk-main.page-not-found .page-title a {
	color: black;
	text-decoration: none;
}

.content-block {
	font-size: var(--type-s);
	justify-self: center;
	max-width: 768px;
	padding: 0 var(--margin);
	box-sizing: border-box;
}

.page-template-film #esk-main .content-block {
	grid-area: content;
}

.content-block h2 {
	margin: 0;
	font-size: var(--type-m);
	text-transform: uppercase;
}

.content-block h2:not(:first-of-type) {
	margin-top: calc(var(--margin));
}

.content-block h3 {
	margin: 0;
	font-size: var(--type-s);
	text-transform: uppercase;
	color: var(--color-front);
}

.content-block h4 {
	margin: 0;
	font-size: var(--type-m);
	text-transform: uppercase;
}

.content-block p {
	margin: 0;
	margin-bottom: 1em;
}

.esk-text-small {
	font-size: var(--type-xs);
}

.content-block p a {
	color: black;
}

.no-touchevents .fileset-list-item a:hover,
.no-touchevents .content-block p a:hover {
	color: var(--color-front);
}

.ccm-block-testimonial-wrapper {
	grid-column: span 4;
	padding: 2rem;
	margin: 0;
}

.ccm-block-testimonial-name {
	font-size: 2rem;
}

.ccm-block-testimonial-position {
	font-size: 1.4rem;
}

.content-block > ul {
	list-style-type: none;
	padding: 0;
	margin: 1em 0 1em 1em;
	position: relative;
	
}

.content-block > ul > li {
	margin: 0;
	/*font-size: var(--type-xs);*/
	padding-left: 1.2em;
	position: relative;
}

.content-block > ul > li::before {
	content: "";
	width: 4px;
	height: 5.2px;
	background: black;
	display: block;
	transform: rotate(-45deg) ;
	position: absolute;
	left: .3em;
	top: .4em;
	/*transform: translateY(-50%);*/
}

/* @end */

/* @group filmes */

.page-template-film #esk-main {
	grid-template-columns: repeat(6, 1fr);
	grid-template-rows: auto auto auto 1fr;
	grid-template-areas:
		
		"specs specs specs specs . poster"
		"ficha ficha ficha ficha . poster"
		"cat cat content content content poster"
		"event event content content content poster"
		". . awards awards awards .";
	grid-gap: 6px;
	align-content: start;
	padding-right: var(--margin);
	margin-top: 0;
}

.film-categories {
	margin: var(--margin) auto var(--margin) var(--margin);
	text-transform: uppercase;
	grid-area: cat;
	color: var(--color-front);
	background-color: var(--color-background);
	align-self: center;
}

.film-specs, .film-credits {
	grid-column: 1 / span 3;
	margin: 0;
	font-size: var(--type-xs);
	padding: 0 var(--margin);
}

.film-specs {
	grid-area: specs;
	font-style: italic;
}

.film-credits {
	grid-area: ficha;
	list-style-type: none;
/*	display: grid;
	grid-template-columns: auto 1fr;
	grid-gap: 0 .2em;*/
}

.film-credits-item-dt {
	text-transform: uppercase;
	display: inline-block;
	font-style: italic;
	clear: left;
}

.film-credits-item-dd {
	/*display: inline-block;*/
	margin: 0;
	margin-right: auto;
}

.film-poster {
	grid-area: poster;
	box-sizing: border-box;
}

.film-poster::after,
.film-thumb::after {
	content: attr(data-description);
	font-size: var(--type-xxs);
}

.film-awards {
	grid-area: awards;
	margin: 0;
	margin-top: var(--margin);
	padding: 0 var(--margin) var(--margin) var(--margin);
	font-size: var(--type-xs);
	list-style-type: none;
	font-style: italic;
}

.event-dates {
	grid-area: event;
	padding: 0 0 1em var(--margin);
	margin: 0;
}

.ccm-block-calendar-event-dates {
	margin: 0 0 1em;
}

.esk-page-list-item-dates .ccm-block-calendar-event-dates {
	margin: 0;
}

.ccm-block-calendar-event-date-time {
	/*text-transform: uppercase;*/
}

.ccm-block-calendar-event-attributes {
	font-size: var(--type-xs);
	/*margin-top: .5rem;*/
	/*margin-bottom: 2rem;*/
}

/* @end */

/* @group poster */

.esk-footer {
	grid-area: footer;
	background: var(--color-background);
	display: grid;
	grid-template-areas: "foo foo foo";
	grid-template-rows: auto 1fr auto;
}

.poster-ficlo {
	font-size: var(--type-l);
	padding: var(--margin);
	min-height: 100vh;
	box-sizing: border-box;
	display: grid;
	grid-template-rows: auto 1fr auto;
	background: url(../images/ficlo-olhao.png) right no-repeat, url(../images/ficloficlo.svg) 0 bottom repeat-x;
	background-size: contain;
	grid-area: foo;
}

.poster-ficlo-data {
	display: grid;
	grid-template-columns: auto 1fr auto;
	text-align: center;
	padding-top: calc(var(--type-xl) + var(--margin-top));
}

.poster-ficlo-title {
	align-self: end;
}

.poster-ficlo-title-en {
	margin-left: 49px;
}

.olhao-en {
	display: none;
}

.poster-ficlo-logos {
	align-self: end;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-areas: 
		"cineclube algarve"
		"olhao algarve";
	grid-gap: 1em;
	margin-top: 1em;
	padding: 6px;
	/*background-color: var(--color-background);*/
	justify-self: start;
	border-radius: 4px;
}

.poster-ficlo-logos img{
	/*mix-blend-mode:multiply;*/
	display: block;
}

.poster-ficlo-logos > * {
	padding: 4px;
	border-radius: 4px;
}

.poster-logo-cct {
	width: 100px;
	grid-area: cineclube;
}

.poster-logo-olhao {
	width: 140px;
	grid-area: olhao;
	background-color: var(--color-background);
}

.poster-logo-algarve {
	width: 120px;
	grid-area: algarve;
}

.ccm-block-social-links {
	grid-row: 1;
	grid-column: -2;
	justify-self: end;
	align-self: end;
	margin-bottom: calc(var(--margin) * 1);
	margin-right: calc(var(--margin) * 1);
	position: relative;
	background: var(--color-background);
	border-radius: 4px;
	padding: 4px;
}

.ccm-block-social-links ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	text-align: ce;
}

.ccm-block-social-links li {
	display: block;
	margin-top: .4rem;
	text-align: center;
}

.ccm-block-social-links a{
	color: black;
	font-size: var(--type-m);
}

.no-touchevents .ccm-block-social-links a:hover{
	color: var(--color-front);
}

/* @end */

/* @group switch language */

.switch-language {
	display: grid;
	text-transform: uppercase;
	margin-left: 1em;
	font-size: var(--type-xs);
	align-content: center;
	grid-gap: 6px;
	text-align: center;
}

.switch-language a {
	color: black;
	text-decoration: none;
	display: block;
}

.switch-language-active{
	border-bottom: 1px solid black;
	grid-row: 1;
}


/* @end */

/* @group page list */

.esk-page-list {
	
	list-style-type: none;
	margin: 0;
	padding: 0;
	
	display: grid;
	grid-gap: 2em;
	grid-template-columns: var(--columns);
	padding: var(--margin);

	position: relative;
	transform: translateZ(0);
	
}

.esk-page-list-item {
	display: grid;
	align-content: center;
	position: relative;
	
	grid-template-areas: "category" "image" "title";
}

.no-touchevents .esk-page-list-item:hover {
	/*background-color: var(--color-background);*/
}

.no-touchevents .esk-page-list-item:hover .esk-page-list-image{
	/*filter: brightness(.7);*/
}

.esk-page-list-item-dates {
	grid-area: image;
	z-index: 1;
	position: relative;
	/*text-transform: uppercase;*/
	
	align-self: end;
}


.ccm-block-calendar-event-dates,
.esk-page-list-item-date {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: 
		"date venue"
}

.date-formatter {
	display: grid;
	grid-template-columns: minmax(40px, auto) auto auto;
	grid-template-areas: 
		"day weekday . venue"
		"day month hour venue";
	grid-gap: 2px 1rem;

	justify-content: start;
	align-items: end;
	font-size: var(--type-xs);
	margin-top: 1em;
}

.date-weekday{
	grid-area: weekday;
}

.date-day{
	grid-area: day;
	font-size: var(--type-l);
	display: grid;
	/*align-items: center;*/
	align-content: center;
	line-height: .6;
	align-self: center;
}

.date-month{
	grid-area: month;
}

.date-hour{
	grid-area: hour;
}

.ccm-block-calendar-event-attributes,
.esk-page-list-item-venue {
	font-size: var(--type-xs);
	grid-area: venue;
	align-self: end;
}

.esk-page-list-item-category {
	grid-area: category;
	align-self: start;
	justify-self: start;
	
	z-index: 1;
	position: relative;
	padding: 1rem;
	
	margin: 0;
	padding: 2px;
	display: inline;
	
	font-size: var(--type-xs);
	color: var(--color-front);
	text-transform: uppercase;
	letter-spacing: .03em;
}

.esk-page-list-item-category span {
	background-color: var(--color-background);
	box-shadow: 3px 0 0 var(--color-background), -3px 0 0 var(--color-background);
	box-decoration-break: clone;
}

.esk-page-list-image {
	max-width: 100%;
	display: block;
	height: auto;
	box-sizing: border-box;
	grid-area: image;
}

.esk-page-list-item:hover .esk-page-list-image {
	/*display: block;*/
}

.esk-page-list-text {
	grid-area: title;
	padding-top: 6px;
}

.esk-page-list-title {
	margin: 0;
	font-size: var(--type-s);
	text-transform: uppercase;
}

.esk-page-list-author {
	margin: 0;
	font-size: var(--type-s);
	font-style: italic;
}

.esk-page-list-title-link {
	color: black;
	text-decoration: none;
	/*font-style: italic;*/
}

.esk-page-list-item-link {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 5;
	
	/*pointer-events: none;*/
}

/* @end */

/* @group event-list */

.ccm-block-calendar-event-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 4rem 1rem;
	padding: 1em var(--margin);
	font-size: var(--type-xs);
	align-items: start;
}

.ccm-block-calendar-event-list-day {
	display: grid;
	/*grid-gap: 1rem 0;*/
	/*grid-auto-flow: dense;*/
	grid-template-columns: 50px 1fr;
	grid-template-areas: 
		"days month"
		"days weekday";
	grid-template-rows: auto auto;
}

.ccm-block-calendar-event-list-day-day {
	font-size: var(--type-l);
	line-height: .7em;
	grid-area: days;
	display: grid;
	align-content: center;
	/*grid-row: 1 / 3;*/
}

.ccm-block-calendar-event-list-day-item {
		margin-top: 2rem;
		grid-column: span 2;
}

.ccm-block-calendar-event-list-day-weekday {
	/*font-size: var(--type-l);*/
	/*grid-column: 2;
	grid-row: 2;*/
	grid-area: weekday;
	align-self: end;
}

.ccm-block-calendar-event-list-day-month {
	/*font-size: var(--type-l);*/
	/*align-self: end;*/
	/*grid-column: 2;
	grid-row: 1;*/
	grid-area: month;
}

.ccm-block-calendar-event-list-day-item p {
	margin: 0;
	font-style: italic;
}

p.ccm-block-calendar-event-list-day-item-hour {
	font-style: normal;
}

p.ccm-block-calendar-event-list-day-item-title {
	text-transform: uppercase;
	font-style: normal;
}

p.ccm-block-calendar-event-list-day-item-venue {
	font-style: normal;
}

p.ccm-block-calendar-event-list-day-item-topic {
	text-transform: uppercase;
	font-style: normal;
	color: var(--color-front);
	margin-top: .5em;
}

.ccm-block-calendar-event-list-day-item-title a {
	color: black;
	text-decoration: none;
}

.no-touchevents .ccm-block-calendar-event-list-day-item-title a:hover {
	color: var(--color-front);
}

/* @end */

/* @group topics */

.ccm-block-topic-list-page-topics {
	display: grid;
	grid-template-columns: var(--columns);
	list-style-type: none;
	margin: 0;
	padding: var(--margin);
	grid-gap: 6px;
	position: relative;
	overflow: hidden;
	background-color: white;
}

.ccm-block-topic-list-page-topics::after {
	content: "";
	position: absolute;
	width: 200vw;
	height: 100%;
	top: 0;
	left: 0;
	background-color: var(--color-background);
	background-image: url(../images/ficlo_artwork_04-flame_2.png);
	background-size: contain;
	background-position: 0 0;
	animation: flybyby 3s ease-in-out 0s infinite alternate;
}

.ccm-block-topic-list-topic {
	display: grid;
	justify-content: start;
	align-items: start;
	text-transform: uppercase;
	padding: 6px;
	box-sizing: border-box;
	z-index: 1;
}

.ccm-block-topic-list-topic.topic-selected .ccm-block-topic-list-topic-link::before {
	content: "X ";
	color: var(--color-front);
}

.ccm-block-topic-list-topic-link {
	color: black;
	text-decoration: none;
	font-size: var(--type-m);
	display: inline-block;
}

.ccm-block-topic-list-topic.topic-selected .ccm-block-topic-list-topic-link {

}

/* @end */

/* @group pre-main */

.pre-main {
	grid-area: pre-main;
}

/* @end */

/* @group image-slider */

.ccm-page .slider-controls-previous,
.ccm-page .slider-controls-next {
	margin: calc(var(--margin) / 2);
	background: url(../images/ficlo_artwork_04-setas.png) transparent;
	background-size: contain;
	background-repeat: no-repeat;
	color: var(--color-background);
	font-size: var(--type-l);
	font-family: inherit;
	text-align: center;
	width: 60px;
	height: 60px;
}

.no-touchevents .ccm-page .slider-controls button:hover {
    color: var(--color-front);
    cursor: pointer;
}

.esk-image-slide-text {
	padding: calc(var(--margin) / 2);
	grid-area: frame;
	justify-self: end;
	max-width: 50%;
	font-size: var(--type-l);
	/*color: white;*/
	font-weight: normal;
	box-sizing: border-box;
}

.esk-image-slide-text p {
	margin: 0;
	font-style: italic;
	color: white;
}

.esk-image-slide-text .esk-image-slide-title {
	text-transform: uppercase;
	font-style: normal;
	/*font-size: var(--type-l);*/
}

.esk-image-slide-more {
	pointer-events: auto;
}

.esk-image-slide-image {
	max-height: calc(100vh - var(--margin-top) - var(--margin) - var(--type-xl) * 2);
	object-fit: cover;
}


.ccm-toolbar-visible .esk-image-slide-image {
	max-height: calc(100vh - var(--margin-top) - var(--margin) - var(--type-xl) * 2 - 47px);
	object-fit: cover;
}
/* @end */

/* @group infographics */

.esk-image-infographics {
	font-size: var(--type-xs);
	color: var(--color-front);
	padding: 0 var(--margin) var(--margin);
	
}

.esk-image-infographics-item {
	grid-gap: 1em;
}

.esk-image-infographics-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	max-height: 500px;
	/*object-position: 0% 50%;*/
}

.esk-image-infographics-text {
	
}

.esk-image-infographics-text ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	
	display: grid;
	grid-gap: 1em;
	align-content: end;
	grid-template-columns: 1fr;
	height: 100%;
}

.esk-image-infographics-text ul li a{
	/*text-decoration: none;*/
	color: inherit;
}

/* @end */

/* @group logos */

.esk-logos {
	grid-area: logos;
	padding: var(--margin);
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-gap: 2rem;
	background: var(--color-background);
	/*border: var(--border-width) solid black;*/
	/*margin: var(--margin);*/
	/*align-items: stretch;*/
	/*grid-template-areas:
		"organizacao apoio apoio apoio apoio apoio . coproducao "
		"programacao institucionais institucionais institucionais institucionais   divulgacao divulgacao divulgacao"
		"media media media media media media media media"
		"parceiros parceiros parceiros parceiros parceiros parceiros parceiros parceiros"
		"hotel hotel hotel  uni uni uni principais principais "
		"patrocinios patrocinios patrocinios patrocinios patrocinios patrocinios patrocinios patrocinios"
		"apoio2 apoio2 apoio2 apoio2 apoio2 . . .";*/
	margin-top: var(--margin);
}

.esk-logowall-wrapper::before {
	font-size: var(--type-xxs);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.esk-logowall-item {
	margin: 1em;
}

.esk-logowall-item-logo {
	mix-blend-mode: multiply;
}

.logos-apoio .esk-logowall-item:last-child .esk-logowall-item-logo{
	max-width: 190px;
}

.logos-parceiros-media .esk-logowall-item:first-child .esk-logowall-item-logo{
	max-width: 50px;
}

.logos-universidade-associada .esk-logowall-item:first-child .esk-logowall-item-logo{
	max-width: 160px;
}

.logos-parceiros-de-programacao .esk-logowall-item-logo {
	max-height: 140px;
}

.logos-parceiros .esk-logowall-item:last-child .esk-logowall-item-logo{
	max-width: 80px;
}

.logos-patrocinios .esk-logowall-item .esk-logowall-item-logo{
	max-width: 180px;
	max-height: 50px;
}

.logos-apoio-2 .esk-logowall-item-logo{
	max-width: 180px;
	max-height: 50px;
}

.logos-patrocinios .esk-logowall-item:last-child .esk-logowall-item-logo{
	max-height: 60px;
}

.logos-parceiros-institucionais .esk-logowall-item-logo{
	max-width: 160px;
	max-height: 60px;
}




.logos-organizacao {
	/*grid-area: organizacao;*/
	grid-column: 1 / span 2;
	grid-row: 1;
}

.logos-organizacao .esk-logowall{
	justify-content: flex-start;
}

.logos-apoio {
	/*grid-area: apoio;*/
	grid-column: 6 / 13;
	/*grid-row: 1;*/
}

.logos-co-producao {
	/*grid-area: coproducao;*/
	grid-column: 3 / span 2;
	grid-row: 1;
}

.logos-parceiros-institucionais {
	/*grid-area: institucionais;*/
	grid-column: span 3;
}

.logos-parceiros-media {
	/*grid-area: media;*/
	grid-column: 4 / span 6;
}

.logos-parceiros-de-divulgacao {
	/*grid-area: divulgacao;*/
	/*justify-content: start;*/
	grid-column: span 3;
}

.logos-parceiros-de-programacao {
	/*grid-area: programacao;*/
	grid-column: span 2;
	
}

.logos-parceiros-de-programacao .esk-logowall,
.logos-co-producao .esk-logowall{
	justify-content: flex-start;
}

.logos-hotel-oficial {
	/*grid-area: hotel;*/
	grid-column: 3 / span 3;
	grid-row: 3;
}

.logos-universidade-associada {
	/*grid-area: uni;*/
	grid-column: span 4;
	grid-row: 3;
}

.logos-patrocinadores-principais {
	/*grid-area: principais;*/
	grid-column: span 3;
	grid-row: 3;
}

.logos-parceiros {
	/*grid-area: parceiros;*/
	grid-column: span 12;
	grid-gap: 1em;
}

.logos-patrocinios {
	/*grid-area: patrocinios;*/
	grid-column: span 12;
}

.logos-apoio-2 {
	/*grid-area: apoio2;*/
	/*grid-column: span 6;*/
	grid-column: span 12;
}

/* @end */

/* @group downloads */

.fileset-list-wrapper {
	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	/*justify-items: end;*/
	margin: 0 var(--margin) 1em;
	justify-self: end;
}

.fileset-list-title {
	text-transform: uppercase;
	font-size: var(--type-s);
	margin: 0;
}

.fileset-list {
	list-style-type: none;
	margin: 0;
	padding: .5em 0 1em 2em;
	position: relative;
}

.fileset-list::before {
	content: "";
	background-image: url(../images/ficlo_artwork_08-tigre.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: right center;
	height: 40px;
	width: 80px;
	display: block;
	position: absolute;
	top: .3em;
	left: auto;
	right: auto;
	/*right: -30%;*/
	left: -23%;
	z-index: -1;
}

.fileset-list-item {
	margin: 0;
	font-size: var(--type-xs);
	padding-left: 1.2em;
	position: relative;
	font-style: italic;
}

.fileset-list-item::before {
	content: "";
	width: 4px;
	height: 5.2px;
	background: black;
	display: block;
	transform: rotate(-45deg) ;
	position: absolute;
	left: .3em;
	top: 35%;
	/*transform: translateY(-50%);*/
}

.fileset-list-item a {
	color: black;
	text-decoration: none;
}


/* @end */

/* @group search */

.ccm-search-block-form {
	display: none;
}

/* @end */

/* @group animations */

@keyframes flybyby {
	0% {
		transform: translateX(0);
	}
	
	100% {
		transform: translateX(-50%);
	}
}

@keyframes pairar {
	0% {
		transform: scale(.9);
	}	
	
	100% {
		transform: scale(1.1);
	}
}


/* @end */

@media screen and (max-width: 1280px) {
	
	.logos-apoio {
		grid-column: 6 / -1;
	}
	
	.logos-parceiros-institucionais {
		grid-column: 1 / span 4;
		grid-row: 2;
	}
	
	.logos-parceiros-media {
		grid-column: 5 / span 8;
		grid-row: 2;
	}
	
	.logos-parceiros-de-divulgacao {
		grid-column: 1 / span 3;
		grid-row: 3;
	}
	
	.logos-parceiros-de-programacao {
		grid-column: 4 / span 2;
		grid-row: 3;
	}
	
	.logos-hotel-oficial {
		grid-column: span 2;
		grid-row: 3;
	}
	
	.logos-universidade-associada {
		grid-column: span 3;
		grid-row: 3;
		
	}
	
	.logos-universidade-associada .esk-logowall-item:first-child .esk-logowall-item-logo{
		max-width: 150px;
	}
	
	.logos-patrocinadores-principais {
		grid-column: span 2;
		grid-row: 3;
	}
	
	.logos-parceiros {
		grid-column: span 12;
	}
	
	.logos-patrocinios {
		grid-column: span 12;
	}
	
	.logos-apoio-2 {
		grid-column: span 8;
	}
}

@media screen and (max-width: 1024px) {
	
	.page-template-film #esk-main {
		grid-template-columns: repeat(6, 1fr);
		grid-template-rows: auto auto auto 1fr;
		grid-template-areas:
			"specs specs specs specs . ."
			"ficha ficha ficha ficha . ."
			"cat cat content content content content"
			"poster poster content content content content"
			"poster poster event event event ."
			"poster poster awards awards awards ."
			;
		grid-gap: 6px;
		align-content: start;
		padding-right: var(--margin);
		margin-top: 0;
	}
	
	.film-poster {
		margin-left: var(--margin);
	}
	
	.esk-logos {
		grid-gap: 1rem;
	}
	
	.logos-co-producao {
		grid-column: 4 / 6;
	}
	
	.logos-apoio {
		grid-column: 1 / -1;
		grid-row: 2;
	}
	
	.logos-parceiros-institucionais {
		grid-column: span 6;
		grid-row: 3;
	}

	.logos-parceiros-de-divulgacao {
		grid-column: span 6;
		grid-row: 3;
	}
	
	.logos-parceiros-media {
		grid-column: 1 / -1;
		grid-row: 4;
	}
	
	.logos-hotel-oficial {
		grid-column: span 5;
		grid-row: 5;
	}
	
	.logos-universidade-associada {
		grid-column: span 7;
		grid-row: 5;
		
	}
	
	.logos-parceiros-de-programacao {
		grid-column: span 4;
		grid-row: 6;
	}
	
	.logos-patrocinadores-principais {
		grid-column: span 7;
		grid-row: 6;
	}
	
	.logos-parceiros {
		grid-column: span 12;
		grid-row: 7;
	}
	
	.logos-patrocinios {
		grid-column: span 12;
		grid-row: 8;
	}
	
	.logos-apoio-2 {
		grid-column: 1 / -1;
		grid-row: 9;
	}
	
}


@media screen and (max-width: 768px) {
	
	#esk-main {
		margin-top: calc(var(--margin) * 2);
	}
	
	.page-template-film #esk-main {
		grid-template-rows: auto auto auto auto 1fr;
		grid-template-areas:
			"specs specs specs specs poster poster"
			"ficha ficha ficha ficha poster poster"
			
			"cat cat cat cat poster poster"
			". content content content content content"
			". awards awards awards awards awards"
			". event event event event event";
			
			padding-left: var(--margin);
			/*display: none;*/
	}
	
	.film-specs, .film-credits {
		padding: 0;
	}
	
	.esk-logos .logos-organizacao {
		grid-column: 1 / 6;
	}
	
	.esk-logos .logos-co-producao {
		grid-column: 6 / span 6;		
	}
	
	.esk-logos .esk-logowall-item-logo {
		max-height: 60px;
		max-width: 100px;
	}
	
	.logos-apoio .esk-logowall-item:last-child .esk-logowall-item-logo{
		max-width: 140px;
	}
	
	.logos-parceiros-media .esk-logowall-item:first-child .esk-logowall-item-logo{
		max-width: 40px;
	}
	
	.logos-parceiros-de-programacao .esk-logowall-item-logo {
		max-height: 100px;
	}
	
	.logos-universidade-associada .esk-logowall-item:first-child .esk-logowall-item-logo{
		max-width: 150px;
	}
	
	.logos-patrocinios .esk-logowall-item .esk-logowall-item-logo{
		max-width: 100px;
		max-height: 50px;
	}
	
	.logos-apoio-2 .esk-logowall-item-logo {
		max-width: 80px;
		max-height: 30px;
	}
	
	.logos-patrocinios .esk-logowall-item:last-child .esk-logowall-item-logo{
		max-height: 50px;
	}
	
	#esk-main::before {		
		background-position: center bottom;
		background-size: 70%;
		width: 100vw;
	}
	
	#esk-main::before {
		left: 0;
		right: 0;
	}
	
	#esk-main::after {
		content: none;
		display: none;
	}
	
	.ccm-block-calendar-event-list {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 3rem 1rem;
	}
	
	.ccm-page .esk-image-infographics-item {
		grid-template-columns: 1fr;
		grid-template-areas: "image" "text";
	}
	
	.esk-image-infographics-text ul {
		grid-template-columns: 1fr 1fr;
	}


}

@media screen and (max-width: 480px) {
	
	.page-template-film #esk-main {
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto auto  auto 1fr1fr;
		grid-template-areas:
			
			"specs specs specs"
			"ficha ficha ficha"
			
			"cat cat poster"
			"content content content"
			"awards awards awards"
			"event event event";
	}
	
	.page-template-film .content-block {
		padding: 0;
	}
	
	
	
	.esk-logos .esk-logowall-item-logo {
		max-height: 50px;
		max-width: 60px;
	}
	
	.logos-apoio .esk-logowall-item:last-child .esk-logowall-item-logo{
		max-width: 120px;
	}
	
	.logos-universidade-associada .esk-logowall-item:first-child .esk-logowall-item-logo{
		max-width: 100px;
	}
	
	.logos-parceiros-media .esk-logowall-item:first-child .esk-logowall-item-logo{
		max-width: 30px;
	}
	
	.logos-parceiros-de-programacao .esk-logowall-item-logo {
		max-height: 100px;
	}
	
	.logos-patrocinios .esk-logowall-item .esk-logowall-item-logo{
		max-width: 80px;
		max-height: 40px;
	}
	
	.esk-image-slide-text {
		max-width: 100%;
		font-size: var(--type-s);
	}
	
	.ccm-page .slider-controls-previous,
	.ccm-page .slider-controls-next {
		width: 40px;
		height: 40px;
	}
	
	.esk-image-infographics-text ul {
		grid-template-columns: 1fr;
	}
	
	.poster-logo-cct {
		width: 80px;
	}
	
	.poster-logo-olhao {
		width: 100px;
	}
	
	.poster-logo-algarve {
		width: 80px;
	}
	
	
}