/* CSS Document  Designed at publiSITIO */
@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Pliant:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root{
	color-scheme: light dark;
	--main-black: #1d1d1b;
	--main-color: #e30613;
	--nav-color: #fff;
	--anime-speed: .3s;
	--body-font: 'Pliant', sans-serif;
	--title-font: 'DM Sans', sans-serif;
	--letter-spacing: 0;
	--rg-space: 5vh;
	--transition: all .3s ease-in-out;
}
/*html {
  --top-spacing: 100px;
  scroll-padding-top: var(--top-spacing);
}*/
body{
	font: 400 26px/126% var(--body-font);
	color: light-dark(var(--main-black), #fff);
	background: light-dark(#fff, var(--main-black));
	/*Show it is fixed to the top*/
  padding-top: 128px;
  letter-spacing: -0.025em;
}
@media (prefers-color-scheme: dark) {
  body {
    font-weight: 300;
  }
}
@media (max-width: 767.98px) { 
	body {
		font-size: 22px;
		line-height: 120%;
	}
}
hr{
	opacity: 1;
}
#active{
	font-weight: 400;
  text-decoration-line: underline overline;
  text-decoration-thickness: 0.2rem;
  text-underline-offset: 3px;
}
/* anchor margin-top */
#submissao{
	scroll-margin-top: 250px;
}/*
.btn-submit {
  background: #0d6efd;
  color: #fff;
  border: none;
  padding: 12px 30px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.btn-submit:hover {
    background: #084298;
    transform: translateY(-2px);
}
*/
.container {
  max-width: calc(91.66666667% - 8.33333333%);
}
@media (max-width: 767.98px) { 
	.container {
		max-width: 95%;
	}
}

/* -----------------------------------
	GLOBAL ELEMENTS
----------------------------------- */
.eyebrow{
	font-family: var(--body-font);
  text-transform: uppercase;
  letter-spacing: -0.01em;
  text-align: left;
  line-height: 1;
  margin-bottom: 1rem;
}
.title{
  font-family: var(--title-font);
  font-weight: 300;
  letter-spacing: -0.04em;
  padding: 1rem 0;

  span{
  	display: block;
  	font-weight: 700;
	}
}

.fullWidthImg{
	display: flex;
	justify-content: space-between;
	margin-bottom: 5rem;

	figure{
		width: 91.66666667%;
		margin: auto;

		img{
			width: 100%;
		}
	}
}
.fullWidthGallery{
	margin: 5rem 0;

	.inner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 91.66666667%;
		margin: auto;

		figure{
			&:after{
				display: none;
			}

			img{
				width: 100%;
			}
		}
	}
}

/* general calendar card */
.section-calendar{

	.item{
  	border: solid light-dark(var(--main-black), #fff);
    border-width: 1px 0 0 0px;
    text-decoration: none;
    color: inherit;
    display: block;

    &:hover p{
	    	padding-left: 1rem;
	    }

		.eyebrow {
		  font-size: 1rem;
	    color: light-dark(var(--main-black), #fff);
	    display: flex;
	    flex-direction: row-reverse;
	    justify-content: space-between;
	    align-items: center;
	    margin-bottom: 0;
	    
	    .date{
	    	
	    }
	    .type{
	    	color: light-dark(#fff, var(--main-black));
	    	background: light-dark(var(--main-black), #fff);
		    padding: 0.8rem 1rem 0.6rem 1rem;
		    display: inline-block;
	    }
		}

		.image-hover {
      position: relative;
      overflow: hidden;
    }

    .image-hover img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;

      transform: scale(1.2) translate(0, 0);
      transition: transform 2.5s cubic-bezier(.16, 1, .3, 1);
      will-change: transform;
    }

		.title{
			font-family: var(--title-font);
			font-size: 36px;
			padding: 1rem 0 0 0;
  		margin: 0;
		}

		p{
			font-size: 24px;
			transition: var(--transition);
		}
	}
}
/* -----------------------------------
	PAGE HEADER ALL PAGES
----------------------------------- */
.section-header {
	padding: var(--rg-space) 0;
  font-family: var(--title-font);
  text-wrap: balance;

  .eyebrow {
	  font-size: 1.1rem;

	  span {
			/*font-weight: 500;*/
		  color: var(--main-color);

		  &::after{
		  	content: ' ]';
		  	color: var(--main-black);
		  	font-weight: 700;
		  }
		  &::before{
		  	content: '[ ';
		  	color: var(--main-black);
		  	font-weight: 700;
		  }
		}
	}

	.title{
		--fts: clamp(3.0rem,11.4063vw,7.125rem);
		font-size: var(--fts);
		line-height: calc(var(--fts) / 1.1);
		margin: 0rem 0 1rem 0;
		text-transform: uppercase;
	}

	.text{
		width: 50%;
	}
}
@media (max-width: 767.98px) { 
	.section-header {
		.text{
			width: 100%;
		}
	}
}



.section-paragraph{

	.eyebrow{
	  font-size: 1.5rem;
	}
}

.section-info{
	width: 20%;

	@media (max-width: 767.98px) {
		width: 100%;
	}

	.eyebrow{
	  font-size: 1.5rem;
    background: light-dark(#a2fffb, var(--main-black));
    padding: 1rem;
    margin-bottom: 0;
	}
	ul{
		margin: 0;
		padding: 0;
		list-style: none;
		border: solid  light-dark(currentColor, #a2fffb);
		border-width: 8px 0 0 0;
		padding: 1rem 0;

	  	li{
				font-size: 1.1rem;
				letter-spacing: -0.02em;
				line-height: 1;
				margin-bottom: .5rem;

				span{
		  		display: block;
		  		font-weight: 500;
		  	}
	  	}

	  	.date{
	  		font-size: 2rem;
		  }
		  .location{
		  	font-size: 1.3rem;
		  	margin-bottom: 1.5rem;
		  }
		  .destinatarios{
		  	
		  }

	  } 
}
.section-nota-bio{
	color: inherit;

	.eyebrow{
	  font-size: 1rem;
	}
	.name{
		color: inherit;
	}
	.bio{
		font-size: 21px;
		line-height: 1.2;

		a{
			display: block;
			color: inherit;
			margin-top: 1rem;
		}
	}
}
.section-filme{
	background: var(--main-black);
	color: #fff;
	padding: 7vw 0;
	text-align: left;

	.eyebrow{
	  font-size: 1rem;
	}
	.title{
		font-size: clamp(3.0rem,11.4063vw,7.125rem);
		line-height: 1;
	}
	.ficha{
		font-size: 1.5rem;
		font-weight: 400;

		span{
			font-weight: 300;
		}
	}
	.text{
		font-size: 22px;
	}
}

/* ----------------------------------- 
PAGINA PREMIO 
----------------------------------- */
.section-award-prizes{

	ul{
		padding: 0;

		li{
			display: flex;
			justify-content: space-between;
			border-bottom: 1px solid currentColor;
      padding: 0.8rem 0;

      small{
      	display: block;
      	line-height: 1;
      	font-size: 14px;
      }

      sup{
      	font-size: 12px;
        top: -10px;
      	left: 2.5px;
      }

      &:first-child{
      	text-transform: uppercase;
      }

      &:last-child{
      	border-width: 0px;
      }
		}
	}
}
.section-juri{

	.eyebrow{
		font-size: 1.1rem;
	  color: var(--main-color);

	  &::after{
	  	content: ' ]';
	  	color: var(--main-black);
	  }
	  &::before{
	  	content: '[ ';
	  	color: var(--main-black);
	  }
	}
	.title{
    --fts: clamp(3.0rem,11.4063vw,7.125rem);
    font-size: var(--fts);
    line-height: calc(var(--fts) / 1.1);
    margin: 0rem 0 1rem 0;
    padding: 0;
    text-transform: uppercase;
    font-weight: 300;
  }

	.juri{
		.juri-name{
			font-size: 36px;
			margin-top: 2rem;
		}
		.juri-activity{
			font-size: 18px;
			font-weight: 400;
			margin-bottom: 2rem;
		}
		.juri-bio{
			font-size: 22px;
			line-height: 25px;
		}

		figure{
			img{
				display: block;
				margin: auto;
			}
		}
	}
}
.section-filmografia{

	ul{
		padding: 0;

		li{
			font-size: 20px;
			display: flex;
			justify-content: space-between;
			border-bottom: 1px solid currentColor;
      padding: 0.8rem 0;

      &:last-child{
      	border-width: 0px;
      }
		}
	}
}
.catch-frase{
	font-size: clamp(3.0rem,11.4063vw,6.125rem);
	font-weight: 300;
  letter-spacing: -0.045em;
	line-height: 1;
	text-transform: uppercase;

	span{
		display: block;
		font-weight: 600;
	}
}

.intro{
	--fts: 6.25vw;
	padding: calc(var(--rg-space) * 2);

  h1 {
	  font-size: var(--fts);
	  font-weight: 400;
	  letter-spacing: -0.035em;
	  line-height:  var(--fts);
	  text-transform: uppercase;
	}

	p {
		font-size: calc(var(--fts) / 1.8);
		line-height: 1;
		font-weight: 100;
	}
}
@media (max-width: 767.98px) { 
	.intro{
		padding: calc(var(--rg-space) / 2);

		h1 {
		  font-size: 11.25vw;
		  line-height: 1;
		}

		p{
			font-size: calc(var(--fts) * 1.1);
		}
	}
}
.teaser-title{
	
	h1{
		font-family: var(--title-font);
  	font-size: clamp(3.0rem,11.4063vw,7.125rem);
  	letter-spacing: -0.04em;
	  line-height: 1;
	  margin-bottom: 0;
	  font-weight: 300;

	  span{
	  	display: block;
	  	font-weight: 700;
	  }
  }
	
	h3{
		font-weight: 400;
	}
}

/* ----------------------------------- 
	COMPETICAO
----------------------------------- */
.openCall{
	--fts: 2.1vw;
	--bkgrd: #ffd600 /*#f5fd01*/;
	position: relative;
	background-image: linear-gradient(
	  135deg,
	  #FFEA00 0%,
	  #FFEA00 20%,
	  #FFDD00 20%,
	  #FFDD00 40%,
	  #FFD000 40%,
	  #FFD000 60%,
	  #FFC300 60%,
	  #FFC300 80%,
	  #FFB700 80%,
	  #FFB700 100%
	);
	padding: 4vw;
	z-index: 0;


	ul{
		display: flex;
		justify-content: space-between;
		list-style: none;
		margin: 3rem 0 0 0;
		padding: 0;

		li{
			width: 100%;
			border: solid #000;
			border-width: 1px 0 1px 1px;
			text-align: center;

			a{
				display: block;
				padding: 1rem;
				color: inherit;
				text-decoration: none;
				font-size: var(--fts);
				transition: all .5s ease-in-out;

				&:hover{
					color: var(--bkgrd);
					background: var(--main-black);
				}
			}
			&:last-child{
				border-right-width: 1px;
			}
		}
	}
}
@media (max-width: 767.98px) { 
	.openCall{
		padding: 1.5rem;

		ul{
			flex-direction: column;

			li{
				margin-bottom: 1rem;
				border: 1px solid #000;

				a{
					font-size: calc(var(--fts) * 2.5);
				}
			}
		}
	}
}

/* ----------------------------------- 
	REGULAMENTO
----------------------------------- */
.regulamento{

	li{
	  padding: 0 0 .6rem 0;

	  &::marker {
		  color: #937b00;
		  font-weight: bold;
		}

		ul{
			margin: 2rem 0;
			/*list-style: none;
			padding-left: 0;*/

			&:has(a){
				list-style: none;
      	padding-left: 0;
			}

			li ul{
				margin-bottom: 0;
			}

		}

		a{
      display: inline-block;
			text-decoration: none;
			color: #fff;
			border: 2px solid var(--main-black);
			background: var(--main-black);
			text-transform: uppercase;
			padding: 8px 14px;
			margin-bottom: 1rem;
			transition: all var(--anime-speed) ease-in-out;

			&:hover{
				color: var(--main-black);
				background: transparent;
			}
		}
	}
}

/* ----------------------------------- 
	SUBMISSAO
----------------------------------- */
.plataformas{
	display: flex;
	justify-content: center;
	background: var(--main-black);
	text-align: center;
	aspect-ratio: 16/9;
}
/* OFF DOC */
.offDoc{
	background: antiquewhite;
	padding: 5vw;

	.actividade span{
		filter: blur(3px);
		font-weight: 800;
		display: inline-block;
	}
}

/* ----------------------------------- 
	PROGRAMA
----------------------------------- */
.calendario{
	text-decoration: none;
	color: var(--main-black);
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--main-black);
  padding: 35px 0;
  transition: .25s ease;

  span{
  	margin-left: auto;
  }

  &:hover{
  	padding-left: 1rem;
  }
}
[class*="col-"]:last-child .programa-card{
  	border-right-width: 1px;
  }
.programa-card{
	position: relative;
	text-decoration: none;
  height: 60vh;
  width: 100%;
  /*margin-bottom: .5rem;
  border: 1px solid #000;
  border-width: 1px 0 1px 1px;*/
  color: #fff;
	background: #000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all .5s ease-in-out;

  img{
  	transition: inherit;
  	opacity: 1;
  	width: inherit;
    height: inherit;
  	object-fit: cover;
    position: absolute;
  }
  
  &:hover{
  	border-radius: 2vw;

	  img{
	  	transition: all .5s ease-in-out;
	  	opacity: .25;
	  }
  }

  ul{
  	position: relative;
    list-style: none;
    padding: 2vw;
    margin: 0;
    height: inherit;
    display: flex;
    flex-direction: column;

    li{
    	font-weight: 300;

      &:first-child{
        display: flex;
        justify-content: space-between;
        margin-bottom: 1vw;
      }
      .hora{
      	font-weight: 700;
      }

      &:last-child{
        margin-top: auto;
        font-size: 90%;
        font-weight: 700;
      }
    }

    .hora{
      font-weight: 700;

      span{
        font-size: 80%;
      }
    }
  }
}
figure {
  position: relative;
  margin: 0;

  &:after{
  	content: '';
  	position: absolute;
  	top: 0;
  	right: 0;
  	bottom: 0;
  	left: 0;
  	margin: auto;
  	width: 35%;
  	aspect-ratio: 1/1;
  	background:url(../img/brand/brackets.svg) no-repeat center;
  	/*mix-blend-mode: soft-light;*/
  }

  img{
  	display: block;
  	margin: auto;
  }

	figcaption {
		font-size: 10px;
		text-transform: uppercase;
	  padding: 6px 0 0 12px;
	  line-height: 1.5;
	  position: absolute;
	  bottom: 0;
	  right: 0;
	  text-align: right;
	  color: light-dark(var(--main-black), #fff);
	  background: light-dark(#fff, var(--main-black));
	  letter-spacing: 0.0em;
	}
}
/* HOMEPAGE viana do castelo city */
.section-label {
  font-family: "DM Mono", monospace;
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .1em;
}
/* -------------- CITY -------------- */
.city {
  min-height: 750px;
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.city-image {
  position: absolute;
  inset: 0;
  background: #252525;

    & img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.city-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent,rgba(0, 0, 0, 0.54));
}
.city-content {
  position: relative;
  z-index: 2;
  padding: calc(var(--rg-space) * 2);
}
.city-title {
  font-size: clamp(4rem, 11vw, 10rem);
  line-height: .75;
  letter-spacing: -6px;
  color: #ffea00;
}
/* contactos */
.contacts{
	--fts: 5.25vw;

	p{
		font-size: calc(var(--fts) / 1.8);
    line-height: 1;
    font-weight: 200;
	}

	ul{
		list-style: none;
		padding-left: 0;
		/*margin-top: 2rem;*/

		li{
			margin-bottom: 1rem;
			white-space: pre-line;

        a{
        	transition: var(--transition);

        	&:hover{
        		opacity: .5;
        	}
        }

			span{
				background: var(--main-black);
				color: #fff;
				padding: .5rem;
				margin-bottom: -0.3rem;
        display: inline-block;
			}
		}
	}
}

/* ----------------------------------- 
	PARCEIROS
----------------------------------- */
.parceiros{
	h1{
		font-size: 1.5rem;
		font-weight: 400;
	}
	ul{
		margin: 0;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;

		li{
			list-style: none;

			a{
				display: block;
			}
		}
	}
}

/* ----------------------------------- 
	FOOTER
----------------------------------- */
.footerCredits{
  /*padding-top: 2vw;*/
}
.footer-organizacao{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.footer-organizacao ul{
  list-style: none;
  padding: 0;

	li{
	  display: inline-block;
	  font-weight: 400;
	  /*vertical-align: top;*/

	  &:first-child{
		  display: block;
		  font-size: 14px;
		  margin-bottom: .25rem;
		}
	}
}
.footer-organizacao ul:nth-child(2) li a{
  display: block;
  margin: .5rem;
}
.social{

	img{
		filter: opacity(.5);
		transition: filter .3s linear;

		&:hover{
			filter: opacity(1);
		}
	}
}
.credits {
	font-size: 11px;
  line-height: 14px;
	margin-bottom: 12px;
	letter-spacing: -0.02em;
}

a[href="https://www.publisitio.eu"] {
	color: inherit;
  transition: var(--transition);
 	font-weight: 600;

  &:hover{
  	color: dimgrey;
  }
}

/* ----------------------------------- 
	BOOTSTRAP
----------------------------------- */
.navbar-toggler {
  padding: 0.65rem 0.65rem;
  font-size: 1.35rem;
  line-height: 1;
  color: light-dark(var(--main-black), #fff);
  background-color: transparent;
  border: 1px solid light-dark(var(--main-black), #fff);
  border-radius: 0;
  transition: var(--bs-navbar-toggler-transition);
}
.navbar{
	background: inherit;
	padding-bottom: calc(.9rem * 1);
}
@media (prefers-color-scheme: dark) {
	.navbar-toggler-icon {
	  width: 1.5em;
	  height: 1.5em;
	  filter: invert(1);
	}
}
.brand{
	display: block;
	margin-top: calc(.9rem * .5);
}
/*.brand{
	font-size: 3rem;
	font-weight: 700;
	text-decoration: none;
	color:#000;
	margin-top: 16px;

	span{
		display: block;
		font-size: 1.1rem;
		font-weight: normal;
		line-height: 1;
		margin-top: .5rem;

		span{
			display: block;
		}
	}
}*/
.nav-link{
	text-transform: uppercase;
	color: light-dark(#000000a6, #fff);
	font-weight: 300;
}
.nav-link.disabled{
	color: light-dark(var(--bs-nav-link-disabled-color), #ffffffa6);
}


.dropdown-menu{
	--bs-dropdown-border-color: rgba(255, 255, 255, 0) !important;
	--bs-dropdown-padding-y: 0.0rem;
	box-shadow: 0px 17px 10px -8px #00000057;
}
.dropdown-item{
	text-transform: uppercase;
	font-size: 26px;
	padding: 0.5rem;
	font-weight: 300;
}

/* ----------------------------------- 
	UI 
----------------------------------- */
.cta{
	--color: #e9ff3b;
	display: inline-flex;
  align-items: center;
  gap: 10px;
	text-decoration: none;
	background: var(--color);
	border: none;
	color: var(--main-black);
	padding: 0.5em 1em;
	margin: 10px 0;
	transition: all var(--anime-speed) ease-in-out;
	will-change: transform;

	&.disabled{
		opacity: .5;
		pointer-events: none;
	}
	&::after{
	  content: "→";
	}
	&:hover{
		color: var(--main-black);
		transform: translateX(8px);
		background-color: color-mix(in srgb, var(--color) 90%, black);
	}

	&.cta-back {
		background: var(--main-black);
		color: #fff;

	  &::before {
      content: "→";
      display: inline-block;
      transform: rotate(180deg);
	  }

	  &::after {
      content: none;
	  }
	}
	&.cta-submit {

	  &::before {
      content: none;
	  }

	  &::after {
      content: "→";
      display: inline-block;
      transform: rotate(-45deg);
	  }

	  &:hover{
			color: var(--main-black);
		}
	}
}
/* ----------------------------------- 
	FORMULARIO
----------------------------------- */
.form-header{
	font-size: 2rem;
	text-transform: uppercase;
	padding: 0.9rem 0 0.5rem 1rem;
	margin-bottom: 1rem;
	border: solid var(--main-black);
	border-width: 0px 0 8px 0;
	background: var(--main-black);
	color: #fff;
	font-weight: 300;
}
.valid-feedback,
.invalid-feedback{
  font-size: 14px;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* custom scrollbar */
* {
  scrollbar-color: var(--main-black) transparent;
  scrollbar-width: thin;
}
::-webkit-scrollbar {
  width: 4px;
}
::-webkit-scrollbar-track {
  background: transparent; 
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--main-black); 
  border-radius: 4px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--main-black); 
}