/* v24 */
/* ****************************** *
 * MAIN (2025)
 * ****************************** */

 :root {
	--header-height: 100px;
	--intro-header-height: 275px;
	--app-height: 100vh;
	--ui-tp: 48px;
	--background-color: #ffffff;
	--primary-color: #f6b200;
	--secondary-color: #002b5c;
	--text-color: #535656;
	--text-color-light: #d0d2d3;
	--link-color: #002b5c;
	--link-color-light: #c5c3c3;
	--border-color: #d0d2d3;
	--white-color: #ffffff;
	--black-color: #000000;
	--light-grey-color: #f9f9f9;
	--red-color: #ee2e24;
}

html {
	/* Prevent font scaling in landscape while allowing user zoom */
  -webkit-text-size-adjust: 100%; 
}

* {
	-webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4, h5, h6 {
	text-wrap: balance;	
}

h1 {
	font-size: 1.88em;
	font-weight: 300;
}

h2 {
	font-size: 1.77em;
	font-weight: 900;
}

h3 {
	font-size: 0.88em;
	font-weight: 900;
	text-transform: uppercase;
}

h4 {
	font-size: .88em;
	font-weight: 600;
}

h5 {
	font-size: 0.75em;
	font-weight: 600;
}

h6 {
	font-size: 0.5em;
	font-weight: 600;
}

p {
	font-size: 0.77em;
	font-weight: 400;
	line-height: 1.2;
}

.btn {
	background-color: var(--red-color);
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: block;
	float: right;
	margin-right: 30px;
	margin-bottom: 30px;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
	border: none;
	z-index: 10 !important;
	cursor: pointer;
	position: absolute;
  bottom: 0;
  right: 0;
	-webkit-box-shadow: 0 0 10px rgb(0 0 0 / 0.3);
	        box-shadow: 0 0 10px rgb(0 0 0 / 0.3);
	-webkit-animation-name: pulse;
	        animation-name: pulse;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
	-webkit-animation-iteration-count: infinite;
	        animation-iteration-count: infinite; 
}

.avaliacao-page .btn,
.catalogo-page .btn {
	margin-right: 30px;
	margin-bottom: 30px !important;
}

.background-button-container {
	height: 400px;
	width: 400px;
	background-image: url(../img/background-button.svg);
  background-position: center;
  background-size: 400px;
	background-repeat: no-repeat;
	position: fixed;
	bottom: -140px;
  right: -140px;
	overflow: hidden !important;
	z-index: 0 !important;
}

.btn:hover,
.btn:active,
.btn:focus {
	background-color: var(--secondary-color);
}

.btn.disabled {
	opacity: 0.5;
	pointer-events: none;
	-webkit-animation-name: none;
	        animation-name: none;
}

body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-color: var(--primary-color);
	color: var(--text-color);
	font-family: Roboto, sans-serif;
	font-size: 18px;
}

#app {
	height: var(--app-height);
}

header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	position: relative;
	width: 100%;
	height: var(--header-height);
	background-color: var(--background-color);
	color: var(--white-color);
	text-align: center;
	text-transform: uppercase;
	font-weight: 300;
	text-decoration: none;
	z-index: 1;
}

.programa-page header,
.recrutadores-page header,
.recrutador-page header,
.hora-do-socio-page header,
.mesas-redondas-page header,
.job-photo-page header,
.avaliacao-page header,
.catalogo-page header {
	background-color: var(--primary-color);
	background-image: url(../img/background-title.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
	height: 125px;
	overflow: hidden;
}

.programa-page header h1,
.recrutadores-page header h1,
.recrutador-page header h1,
.hora-do-socio-page header h1,
.mesas-redondas-page header h1,
.job-photo-page header h1,
.avaliacao-page header h1,
.catalogo-page header h1 {
	font-weight: 400 !important;
	font-size: 1.77em;
}

header h1 {
	position: relative;
	line-height: 1;
	z-index: 1;
}

.main__content {
	overflow-y: auto;
	overflow-x: hidden;
	height: calc(var(--app-height) - var(--header-height));
	background: var(--background-color);
}

.main__content_iner {
	padding: 60px 20px 100px;
	position: relative;
	z-index: 1; 
}

.gotohome__menu {
	position: fixed;
	bottom: 0px;
	left: 0px;
	pointer-events: none;
	z-index: 999;
	height: 65px;
  width: 100%;
	background-color: var(--primary-color);
	background-image: url(../img/background-gotohome.svg);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
	overflow: hidden;
}

.gotohome__menu .nav__link {
	color: var(--white-color);
	position: absolute;
	bottom: 13px;
	left: 20px;
	font-size: 0.6em;
	text-decoration: none;
	text-align: center;
	pointer-events: all;
}

.loading_content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
}

.mesas-redondas-page .main__content_iner h2 {
	/*padding-left: 106px;*/
	color: var(--secondary-color);
	margin-top: 0;
	display: flex;
  justify-content: center;
}

.mesas-redondas-page .text-description {
	color: var(--text-color);
	font-size: 0.77em;
	font-weight: 400;
	text-transform: initial;
}

.mesas-redondas-page .text-title {
	font-size: 1em !important;
	margin: 0.5em 0;
	display: block;
}

.mesas-redondas-page .text-time {
	font-size: 1.2em !important;
}

.box {
	background-color: var(--light-grey-color);
	border: 1px solid var(--border-color);
	padding: 1em;
	margin-bottom: 40px;
}

.box:last-of-type {
	margin-bottom: 0px;
}

.box .titulo {
	font-size: 0.88em;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--secondary-color);
	padding: 0;
	margin: 0;
}

.box .sub-titulo {
	font-size: 0.77em;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--primary-color);
	padding: 0;
	margin: 0;
}

.box p {
	padding: 0;
	margin: 0;
}

.box a {
	color: var(--secondary-color) !important;
}
  
.box a:hover, 
.box a:active, 
.box a:focus {
	color: var(--primary-color) !important;
}

.text-color-primary {
	color: var(--primary-color) !important;
}

footer {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 100%;
}

@media screen and (orientation: landscape) {
	body.mobile-device {
		background-color: var(--primary-color) !important;
	}

	body.mobile-device::before {
		content: "";
		background-color: var(--primary-color) !important;
		background-image: url(../img/ico-landscape_to_portrait_orientation_rotate.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 100px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 100vh;
		width: 100vw;
		position: fixed;
		z-index: 9999;
	}

	/* fix textarea (desabilita o bloqueio em modo landscape) */
	body.no-ort-block.mobile-device {
		background-color: var(--primary-color) !important;
	}

	body.no-ort-block.mobile-device::before {
		content: none;
	}
}

/* DESKTOP PAGE */
.desktop_page {
	background-color: var(--background-color);
  margin: 3.5vw;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3.5vw;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: unset;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.desktop_page div {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.desktop_page .logo {
	width: auto;
	max-width: 25vw;
	margin: auto;
	padding: 20px;
}

.desktop_page .qrcode {
	width: auto;
	max-width: 12vw;
	margin: auto;
	padding: 20px;
}

.desktop_page p {
	font-size: 2vw;
	font-weight: 600;
	color: var(--secondary-color);
	padding: 20px;
	margin: 0;
	text-align: center;
}

/* ****************************** *
 * ANIMATIONS
 * ****************************** */

@-webkit-keyframes pulse {
	from {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
  
	50% {
	  -webkit-transform: scale3d(1.1, 1.1, 1.1);
	  transform: scale3d(1.1, 1.1, 1.1);
	}
  
	to {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
}

@keyframes pulse {
	from {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
  
	50% {
	  -webkit-transform: scale3d(1.1, 1.1, 1.1);
	  transform: scale3d(1.1, 1.1, 1.1);
	}
  
	to {
	  -webkit-transform: scale3d(1, 1, 1);
	  transform: scale3d(1, 1, 1);
	}
}

.animate-pulse {
	-webkit-animation-name: pulse;
	animation-name: pulse;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}

/* ****************************** *
 * ICONS
 * ****************************** */

.icon {
	width: 30px;
	height: 30px;
	display: block;
	margin: auto;
}

.icon-home {
	content: url(../img/ico-home.svg);
	width: 24px;
}

.icon-back {
	content: url(../img/ico-back.svg);
	width: 24px;
	margin: 0;
}

.icon-back-blue {
	content: url(../img/ico-back-blue.svg) !important;
	width: 24px;
	margin: 0;
	position: absolute;
  top: 15px;
}

.icon-camera {
	content: url(../img/ico-camera.svg);
}

.icon-download {
	content: url(../img/ico-download.svg);
}

.icon-download {
	content: url(../img/ico-download.svg);
}

.icon-star-on {
	content: url(../img/ico-star-on.svg);
}

.icon-star-off {
	content: url(../img/ico-star-off.svg);
}

.icon-programa {
	content: url(../img/ico-menu-programa.svg);
}

.icon-recrutadores {
	content: url(../img/ico-menu-recrutadores.svg);
}

.icon-hora-do-socio {
	content: url(../img/ico-menu-hora-do-socio.svg);
}

.icon-mesas-redondas {
	content: url(../img/ico-menu-mesas-redondas.svg);
}

.icon-jobphoto {
	content: url(../img/ico-menu-job-photo.svg);
}

.icon-testemunhos {
	content: url(../img/ico-menu-testemunhos.svg);
}

.icon-20-anos {
	content: url(../img/ico-menu-20-anos.svg);
}

.icon-catalogo {
	content: url(../img/ico-menu-catalogo.svg);
}

.icon-inquerito {
	content: url(../img/ico-menu-inquerito.svg);
}

.icon-arrow-right {
	content: url(../img/ico-arrow-right.svg);
}

.icon-arrow-right.white {
	-webkit-filter: brightness(100);
	        filter: brightness(100);
}

.icon-chevron-left {
	content: url(../img/ico-chevron-left.svg);
}

.icon-chevron-right {
	content: url(../img/ico-chevron-right.svg);
}

/* ****************************** *
 * HOME PAGE
 * ****************************** */

.home-page {
	background-color: var(--primary-color);
}

.home-page section {
	background-image: url(../img/background.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.home-page header {
	--header-height: 100px;
	color: var(--secondary-color);
}

.home-page header .logo {
	position: absolute;
	width: 80%;
	max-width: 340px;
	height: auto;
}

.home-page #app {
	--header-height: 100px;
}

.home-page .main__content {
	border-bottom-left-radius: 0;
	background-color: transparent !important;
	min-height: calc(var(--app-height) - var(--header-height));
	margin-top: 0px;
  padding-top: 20px;
}

.home-page .main_menu .main__content_iner {
	padding: 60px 20px 50px;
}

nav.nav__menu {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: 1fr 5px 1fr 5px 1fr;
	-ms-grid-columns: 1fr 5px 1fr 5px 1fr;
	    grid-template: repeat(3, 1fr) / repeat(3, 1fr);
	grid-gap: 5px;
	height: calc(100vw - 55px);
}

nav.nav__menu a {
	background-color: var(--secondary-color);
	color: var(--white-color);
	font-size: 0.6em;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	text-align: center;
}

nav.nav__menu a.menu_invisible {
	background-color: transparent !important;
}

nav.nav__menu a.menu_fullrow {
	/* item da grid que ocupa uma row completa */
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-column: 1 / 4;
}

nav.nav__menu a * {
	pointer-events: none;
}

.iner_button .icon {
	padding: 0 0 10px 0;
	width: 12vw;
	height: 12vw;
}

.iner_button .icon-mesas-redondas {
	height: 12vw !important;
  padding: 0 0 0px;
}

nav.nav__menu a:hover,
nav.nav__menu a:active,
nav.nav__menu a:focus {
	background-color: var(--secondary-color);
}

/* SLIDER */
.home-page .slider {
	display: block;
	height: 200px;
}

.home-page .slider h2 {
	background-color: var(--red-color);
	color: var(--white-color);
	text-align: center;
	font-size: 1.1em;
	font-weight: 300;
	padding: 5px;
	text-transform: uppercase;
}

.home-page .slider .slider_content {
	background-color: var(--background-color);
	margin: -17px -20px 0;
	/*padding: 20px;*/
	-webkit-box-shadow: 0 5px 20px rgb(0 0 0 / 0.5);
	        box-shadow: 0 5px 20px rgb(0 0 0 / 0.5);
}

.home-page .glide__slide {
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
			justify-content: space-evenly;
}

.home-page .glide__slide img {
	width: 40%;
  margin: 0 0;
}

.home-page .glide__slide.patrocinador img {
	width: 60%;
	margin: auto;
}

/* HOME INTRO (LANG SELECTOR) */
.home-page section.intro.lang-selector-page {
	background-color: var(--background-color);
	background-image: url(../img/background-app-intro-top.svg), url(../img/background-app-intro-bottom.svg);
	background-position: center top, center bottom;
  background-repeat: no-repeat, no-repeat;
  background-size: contain, contain;
  background-position-y: top, bottom;
  height: 100vh;
}

.home-page section.intro.lang-selector-page header {
	--header-height: 100px;
	padding-bottom: 2px;
	background-color: transparent !important;
}

.home-page section.intro.lang-selector-page .main__content_iner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	height: calc(100% - var(--header-height));
	padding: 0 20px;
}

.home-page section.intro.lang-selector-page .logo_catolica {
	position: absolute;
	width: 30%;
	max-width: 120px;
	top: 10vw;
	left: 10vw;
}

.home-page section.intro.lang-selector-page header .logo {
	position: absolute;
	width: 50%;
	max-width: 215px;
	top: 39.25vw;
	right: 5vw;
}

@media only screen and (min-width: 767px) and (min-height: 1023px) {
	.home-page section.intro.lang-selector-page {
		background-color: var(--background-color);
		background-image: url(../img/background-app-intro-top-tablet.svg), url(../img/background-app-intro-bottom-tablet.svg);
		background-position: center top, center bottom;
  	background-repeat: no-repeat, no-repeat;
  	background-size: contain, contain;
		background-position-y: top, bottom;
		height: 100vh;
	}

	.home-page section.intro.lang-selector-page .logo_catolica {
		width: 30%;
    max-width: 180px;
    top: 8vw;
    left: 8vw;
	}

	.home-page section.intro.lang-selector-page header .logo {
		width: 100%;
		max-width: 320px;
		top: 26.3vw;
		right: 8vw;
	}

	.home-page section.intro.lang-selector-page .selector {
		margin-bottom: 0;
		zoom: 140%;
	}

	.home-page section.intro.disclaimer-page .logo {
    max-width: 380px !important;
	}

	nav.nav__menu a {
    font-size: 0.8em;
	}

	.job-photo-page {
    position: relative !important;
	}
}

@media only screen and (min-width: 1023px) and (min-height: 767px) {
	.home-page section.intro.lang-selector-page {
		background-color: var(--background-color);
		background-image: url(../img/background-app-intro-top-tablet.svg), url(../img/background-app-intro-bottom-tablet.svg);
		background-position: center top, center bottom;
  	background-repeat: no-repeat, no-repeat;
  	background-size: contain, contain;
		background-position-y: top, bottom;
		height: 100vh;
	}

	.home-page section.intro.lang-selector-page .logo_catolica {
		width: 30%;
    max-width: 180px;
    top: 8vw;
    left: 8vw;
	}

	.home-page section.intro.lang-selector-page header .logo {
		width: 100%;
		max-width: 320px;
		top: 26.3vw;
		right: 8vw;
	}

	.home-page section.intro.lang-selector-page .selector {
		margin-bottom: 0;
		zoom: 140%;
	}

	.home-page section.intro.disclaimer-page .logo {
    max-width: 380px !important;
	}

	nav.nav__menu a {
    font-size: 0.8em;
	}

	.job-photo-page {
    position: relative !important;
	}
}

@media only screen and (min-width: 1023px) and (min-height: 1365px) {
	.home-page section.intro.lang-selector-page {
		background-color: var(--background-color);
		background-image: url(../img/background-app-intro-top-tablet.svg), url(../img/background-app-intro-bottom-tablet.svg);
		background-position: center top, center bottom;
  	background-repeat: no-repeat, no-repeat;
  	background-size: contain, contain;
		background-position-y: top, bottom;
		height: 100vh;
	}

	.home-page section.intro.lang-selector-page .logo_catolica {
		width: 30%;
    max-width: 240px;
    top: 8vw;
    left: 8vw;
	}

	.home-page section.intro.lang-selector-page header .logo {
		width: 100%;
		max-width: 420px;
		top: 26.6vw;
		right: 8vw;
	}

	.home-page section.intro.lang-selector-page .selector {
		margin-bottom: 80px;
		zoom: 200%;
	}

	.home-page section.intro.disclaimer-page .logo {
    max-width: 480px !important;
	}

	nav.nav__menu a {
    font-size: 1em;
	}

	.job-photo-page {
    position: relative !important;
	}
}

@media only screen and (min-width: 1365px) and (min-height: 1023px) {
	.home-page section.intro.lang-selector-page {
		background-color: var(--background-color);
		background-image: url(../img/background-app-intro-top-tablet.svg), url(../img/background-app-intro-bottom-tablet.svg);
		background-position: center top, center bottom;
  	background-repeat: no-repeat, no-repeat;
  	background-size: contain, contain;
		background-position-y: top, bottom;
		height: 100vh;
	}

	.home-page section.intro.lang-selector-page .logo_catolica {
		width: 30%;
    max-width: 240px;
    top: 8vw;
    left: 8vw;
	}

	.home-page section.intro.lang-selector-page header .logo {
		width: 100%;
		max-width: 420px;
		top: 26.6vw;
		right: 8vw;
	}

	.home-page section.intro.lang-selector-page .selector {
		margin-bottom: 0;
		zoom: 200%;
	}

	.home-page section.intro.disclaimer-page .logo {
    max-width: 480px !important;
	}

	nav.nav__menu a {
    font-size: 1em;
	}

	.job-photo-page {
    position: relative !important;
	}
}

/* LANG SWITCH SELECTOR */
.switches-container * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
	font-weight: 600;
	font-size: 1.6rem;
}

.text-lang-selector {
	font-family: Roboto, sans-serif;
  font-size: 14px;
	font-weight: 300;
	letter-spacing: 2px;
  color: #808184;
	z-index: 9;
  position: absolute;
  top: -25px;
  left: 35px;
}

.home-page section.intro.lang-selector-page .selector {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  position: relative;
  top: 10vh;
  height: 3.3rem;
	width: 215px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.switches-container {
	width: 9rem;
  height: 3.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  position: absolute;
  background: var(--secondary-color);
  line-height: 3.3rem;
  border-radius: 3rem;
  margin-left: 0;
  margin-right: auto;
  left: 0;
  bottom: 0;
}

.home-page section.intro.lang-selector-page .btn {
	background-color: var(--red-color);
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
  display: block;
	margin-right: 0;
  margin-bottom: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  z-index: 10;
  cursor: pointer;
  position: absolute;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 30%);
          box-shadow: 0 0 10px rgb(0 0 0 / 30%);
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
	left: 160px;
	bottom: 0;
}

.home-page section.intro.lang-selector-page .btn:hover,
.home-page section.intro.lang-selector-page .btn:active,
.home-page section.intro.lang-selector-page .btn:focus {
	background-color: var(--secondary-color);
}

.switches-container input {
  visibility: hidden;
  position: absolute;
  top: 0;
}

.switches-container label {
  width: 50%;
  padding: 0;
  margin: 0;
  text-align: center;
  cursor: pointer;
  color: var(--light-grey-color);
}

.switch-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  padding: 0.25rem;
  z-index: 3;
  -webkit-transition: -webkit-transform .5s cubic-bezier(.77, 0, .175, 1);
  transition: -webkit-transform .5s cubic-bezier(.77, 0, .175, 1);
  -o-transition: transform .5s cubic-bezier(.77, 0, .175, 1);
  transition: transform .5s cubic-bezier(.77, 0, .175, 1);
  transition: transform .5s cubic-bezier(.77, 0, .175, 1), -webkit-transform .5s cubic-bezier(.77, 0, .175, 1);
  /* transition: transform 1s; */
}

.switch {
  border-radius: 3rem;
  background: var(--background-color);
  height: 100%;
}

.switch div {
  width: 100%;
  text-align: center;
  opacity: 0;
  display: block;
  color: var(--primary-color) ;
  -webkit-transition: opacity .2s cubic-bezier(.77, 0, .175, 1) .125s;
  -o-transition: opacity .2s cubic-bezier(.77, 0, .175, 1) .125s;
  transition: opacity .2s cubic-bezier(.77, 0, .175, 1) .125s;
  will-change: opacity;
  position: absolute;
  top: 0;
  left: 0;
}

.switches-container input:nth-of-type(1):checked~.switch-wrapper {
  -webkit-transform: translateX(0%);
      -ms-transform: translateX(0%);
          transform: translateX(0%);
}

.switches-container input:nth-of-type(2):checked~.switch-wrapper {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}

.switches-container input:nth-of-type(1):checked~.switch-wrapper .switch div:nth-of-type(1) {
  opacity: 1;
}

.switches-container input:nth-of-type(2):checked~.switch-wrapper .switch div:nth-of-type(2) {
  opacity: 1;
}

/* HOME INTRO (DISCLAIMER) */
.home-page section.intro.disclaimer-page {
	background-color: var(--primary-color);
	background-image: url(../img/background-intro.svg);
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
	height: 100vh;
	color: var(--light-grey-color);
	overflow: hidden;
}

.home-page section.intro.disclaimer-page header {
	--header-height: 35%;
	background-color: var(--background-color);
}

.home-page section.intro.disclaimer-page .logo {
	width: 38vh;
  height: auto;
	max-height: 40vh;
	max-width: 320px;
  z-index: 9;
  bottom: 0;
}

.home-page section.intro.disclaimer-page .main__content_iner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	height: calc(100% - var(--intro-header-height));
	padding: 60px 30px;
}

@media (max-width: 340px) {
	.home-page section.intro.disclaimer-page .main__content_iner {
		padding: 30px 30px !important;
	}

	.home-page section.intro.disclaimer-page .welcome h1, 
	.home-page section.intro.disclaimer-page .welcome p {
    font-size: 1.1em !important;
	}
}

.home-page section.intro.disclaimer-page .welcome h1,
.home-page section.intro.disclaimer-page .welcome p {
	font-size: 1.3em;
  font-weight: 400;
  line-height: 1.1;
	margin: 10px 0;
}

.home-page section.intro.disclaimer-page .disclaimer {
	font-size: 0.77em;
	font-weight: 400;
	line-height: 1.3;
	margin-top: 20px;
}

.home-page section.intro.disclaimer-page .btn {
	background-color: var(--white-color);
}

.home-page section.intro.disclaimer-page .btn:hover {
	background-color: var(--secondary-color);
}

#reset_app {
	display: block;
	margin-bottom: 40px;
	opacity: 0;
}

/* ****************************** *
 * PROGRAMA PAGE
 * ****************************** */

.programa_list ol {
	padding: 0;
	margin-bottom: 30px;
}

.programa_list li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	border-bottom: 1px solid var(--border-color);
	margin: 18px 0;
	padding-bottom: 20px;
}

.programa_list li:last-child {
	border-bottom: none;
}

.programa_list li:first-child h3 {
	color: var(--text-color);
}

.programa_list .hora {
	vertical-align: top;
	color: var(--secondary-color);
	font-size: 1.2em;
	font-weight: 600;
}

.programa_list .hora::after {
	content: '>';
	color: var(--primary-color);
	padding: 0 10px;
}

.programa_list .content > * {
	padding: 0;
	margin: 0;
}

.programa_list h2 {
	padding-left: 92px;
}

.programa_list h2,
.programa_list h3 {
	color: var(--secondary-color);
	margin-top: 0;
}

.programa_list .content h4 {
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

/* ****************************** *
 * RECRUTADORES PAGE
 * ****************************** */

.recrutadores-page input.pesquisa {
	width: 100%;
	height: 40px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 20px;
	margin-top: 10px;
	padding: 6px 10px;
	font-size: 0.77em;
	font-weight: 400;
	line-height: 1.2;
	font-family: Roboto, sans-serif;
	border: 2px solid var(--border-color);
	border-radius: 20px;
	text-decoration: none;
}

.recrutadores-page input:active,
.recrutadores-page input:focus {
	border: 2px solid var(--secondary-color);
}

.recrutadores_list ul {
	margin: 0;
	padding: 0;
}

.recrutadores_list li {
	border-bottom: 1px solid var(--border-color);
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
}

.recrutadores_list .item {
	height: 40px;
	padding: 0 10px;
}

.recrutadores_list .item:hover,
.recrutadores_list .item:active,
.recrutadores_list .item:focus {
	background-color: var(--light-grey-color);
	font-weight: 700 !important;
}

.recrutadores_list a {
	text-decoration: none !important;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	justify-items: stretch;
}

.recrutadores_list .title {
	color: var(--text-color);
	font-size: 0.77em;
	font-weight: 400;
	width: 90%;
	-o-text-overflow: ellipsis;
	   text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
	line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: horizontal;
}

.recrutadores_list .icon {
	color: var(--primary-color);
	font-size: 1.2em;
	font-weight: 700;
	margin: 0;
	padding: 2px 0 0 0;
	width: 10%;
	height: 30px;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

/* ****************************** *
 * RECRUTADOR PAGE
 * ****************************** */

.goto_back {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: 20px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.recrutador_det .content.box div:last-child {
	border-bottom: none; 
}

.recrutador_det .logo_imag {
	display: block;
	margin: auto;
	border-bottom: 1px solid var(--border-color);
	/*padding-bottom: 20px;*/
}

.recrutador_det .logo_imag img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}

.recrutador_det .html {
	padding: 18px 0 20px 0;
}

.recrutador_det .social {
	padding: 0 0 20px;
	border-bottom: 1px solid var(--border-color);
}

.recrutador_det .social ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 0;
	margin: 0;
}

.recrutador_det .social li {
	display: inline-block;
	margin-right: 0.5em;
}

.recrutador_det .social .icon {
	width: 38px;
	height: 38px;
	display: block;
	background-color: var(--black-color);
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 50%;
}

.recrutador_det .social .icon:hover {
	background-color: var(--primary-color);
}

.recrutador_det .social .icon-facebook {
	background-image: url(../img/ico-social-facebook.svg);
}

.recrutador_det .social .icon-linkedin {
	background-image: url(../img/ico-social-linkedin-in.svg);
}

.recrutador_det .social .icon-twitter {
	background-image: url(../img/ico-social-twitter.svg);
}

.recrutador_det .social .icon-instagram {
	background-image: url(../img/ico-social-instagram.svg);
}

.recrutador_det .social .icon-youtube {
	background-image: url(../img/ico-social-youtube.svg);
}

.recrutador_det .social .icon-vimeo {
	background-image: url(../img/ico-social-vimeo.svg);
}

.recrutador_det .social .icon-outros {
	background-image: url(../img/ico-social-outros.svg);
}

.recrutador_det .enb_video {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
	overflow: hidden;
	max-width: 100%;
	margin-top: 25px;
}

.recrutador_det .enb_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ****************************** *
 * MESAS REDONDAS PAGE
 * ****************************** */

.mesas-redondas .lista ul {
	margin: 0;
	padding: 0;
}

.mesas-redondas .lista li {
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 16px 0;
	position: relative;
}

.mesas-redondas .lista li:last-child {
	margin-bottom: 30px;
}

.mesas-redondas .lista li .image {
	min-width: 70px;
	min-height: 70px;
	max-width: 70px;
	max-height: 70px;
	background-color: var(--light-grey-color);
	background-image: url(../img/no-image.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 50%;
	margin: 0 20px 0 0;
	height: 100%;
}

.mesas-redondas .lista li .image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	border-radius: 50%;
	-webkit-filter: grayscale(100%);
	        filter: grayscale(100%);
}

.mesas-redondas .lista li .text {
	border-bottom: 1px solid var(--border-color);
	padding: 0 0 20px 0;
	width: 100%;
}

hr {
  background-color: var(--border-color);
  border: none;
  margin-top: 15px;
  height: 1.2px;
}

.mesas-redondas .lista h3 {
	color: var(--primary-color);
  font-size: 1.34em;
  font-weight: 600;
  text-transform: uppercase;
  padding-left: 89px;
}

.mesas-redondas .text .cargo {
	color: var(--text-color);
	font-size: 0.77em;
  font-weight: 500;
  line-height: 1.2;
}

.mesas-redondas .bottom_video {
	font-size: 0.88em;
	font-weight: 900;
	text-transform: uppercase;
	color: var(--secondary-color);
	padding: 20px 0 0 0;
	margin: 0;
}

.mesas-redondas .bottom_video span {
	margin-right: 5px;
}

.mesas-redondas .enb_video {
	position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  max-width: 100%;
  margin-top: 5px;
	margin-bottom: 10px;
  background-color: var(--white-color);
}

.mesas-redondas .enb_video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.mesas-redondas .btn_more {
	display: block;
	padding: 0 0.3em;
	background-color: var(--border-color);
	color: var(--white-color);
	text-align: center;
	font-size: 1em;
	position: absolute;
	bottom: 0;
	right: 0;
}

.mesas-redondas .more {
	display: none;
	padding-top: 0.5em;
}

/* ****************************** *
 * HORA DO SÓCIO PAGE
 * ****************************** */

.hora-do-socio_list ol {
	padding: 0;
	margin-bottom: 40px;
}

.hora-do-socio_list li {
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 18px 0;
}

.hora-do-socio_list li .image {
	min-width: 70px;
	min-height: 70px;
	max-width: 70px;
	max-height: 70px;
	background-color: var(--light-grey-color);
	background-image: url(../img/no-image.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 50%;
	margin: 0 20px 0 0;
	height: 100%;
}

.hora-do-socio_list li .image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	border-radius: 50%;
	-webkit-filter: grayscale(100%);
	        filter: grayscale(100%);
}

.hora-do-socio_list li .content {
	border-bottom: 1px solid var(--border-color);
	padding: 0 0 18px 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 100%;
}

.hora-do-socio_list li:last-child .content {
	border: none;
}

.hora-do-socio_list .hora {
	color: var(--primary-color);
	font-size: 1.2em;
	font-weight: 600;
}

.hora-do-socio_list h2 {
	padding-left: 91px;
	color: var(--secondary-color);
	margin-top: 0;
}

.apoiantes {
	padding-left: 0 !important;
	color: var(--secondary-color);
	margin-top: 0;
	text-transform: math-auto !important;
	font-size: 0.66em !important;
  font-weight: 900;
}

.hora-do-socio_list .nome {
	color: var(--secondary-color);
	font-size: 0.88em;
	font-weight: 900;
	text-transform: uppercase;
}

.hora-do-socio_list .cargo {
	color: var(--text-color);
	font-size: 0.77em;
	font-weight: 400;
	text-transform: uppercase;
}

/* ****************************** *
 * JOB PHOTO PAGE
 * ****************************** */

.job-photo-page .logo {
	position: relative;
	width: 38vh;
  height: auto;
  max-height: 40vh;
  max-width: 320px;
  z-index: 9;
  bottom: 0;
	padding-top: 42px;
}

.job-photo-page .intro header {
	--header-height: 35%;
	background-color: var(--background-color);
	background-image: none;
	height: var(--header-height);
}

.jobphoto {
	display: flex;
  flex-wrap: wrap;
}

.jobphoto header {
	background-color: var(--primary-color);
	background-image: url(../img/background-title.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
	height: 125px;
	overflow: hidden;
}

.job-photo-page {
	background-color: var(--primary-color) !important;
	background-image: url(../img/background-job-photo.svg);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
	position: fixed;
}

.job-photo-page .gotohome__menu {
	background-color: transparent !important;
	background-image: none;
}

.job-photo-page .btn {
	margin-right: 30px;
	margin-bottom: 30px !important;
}

.job-photo-page .main__content {
	background: var(--primary-color) !important;
	width: 100% !important;
}

.job-photo-page .intro .main__content_iner {
  padding: 50px 20px;
  text-align: center;
	/*margin-top: 16vh;*/
}

.job-photo-page .main__content_iner {
	padding: 0px 20px 120px;
	position: relative;
	z-index: 1;
}

/*.job-photo-page .main__content_iner {
  margin-top: 2vh;
}*/

.job-photo-page .main__content_iner h1 {
	font-weight: 700;
	color: var(--white-color);
	font-size: 1.5em;
}

.job-photo-page .main__content_iner p {
	font-weight: 400;
	font-size: 1em;
	color: var(--white-color);
	text-wrap: balance;
	text-wrap-style: balance;
}

/* GALERIA */
.job-photo-page .pswp-gallery {
	margin: 0 -10px;
	padding: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
	z-index: 0;
	position: relative;
}

.job-photo-page .pswp-gallery a {
	position: relative;
	-ms-flex-preferred-size: calc(33.33% - 4px);
	    flex-basis: calc(33.33% - 4px);
	margin: 2px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

.job-photo-page .pswp-gallery a::before {
	content: '';
	display: block;
	padding-top: 100%;
}

.job-photo-page .pswp-gallery a img {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	-o-object-fit:cover;
	   object-fit:cover;
	z-index: 1;
	/* anti-aliasing */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.job-photo-page .bottom_imag {
	position: fixed;
	bottom: -8vh;
	right: 0;
	width: 100%;
	max-height: 30vh;
	z-index: 0;
}

.lds-dual-ring {
	display: inline-block;
	width: 80px;
	height: 80px;
}

.lds-dual-ring:after {
	content: " ";
	display: inline-block;
	width: 40px;
	height: 40px;
	margin-top: 2px;
	border-radius: 50%;
	border: 4px solid #fff;
	border-color: #fff transparent #fff transparent;
	-webkit-animation: lds-dual-ring 1.2s linear infinite;
	        animation: lds-dual-ring 1.2s linear infinite;
}
  
@-webkit-keyframes lds-dual-ring {
	0% {
	  -webkit-transform: rotate(0deg);
	          transform: rotate(0deg);
	}
	100% {
	  -webkit-transform: rotate(360deg);
	          transform: rotate(360deg);
	}
}
  
@keyframes lds-dual-ring {
	0% {
	  -webkit-transform: rotate(0deg);
	          transform: rotate(0deg);
	}
	100% {
	  -webkit-transform: rotate(360deg);
	          transform: rotate(360deg);
	}
}

/* ****************************** *
 * CATÁLOGO PAGE
 * ****************************** */

.catalogo-page .main__content_iner h1 {
	color: var(--secondary-color);
	font-size: 1.77em;
	font-weight: 900;
	margin: 0 0 20px 0;
	display: none;
}

.catalogo-page .catalogo .image {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	/*margin-top: 5vh;*/
}

.catalogo-page .catalogo .image img {
	width: 80%;
	height: auto;
	-webkit-box-shadow: 0 2px 10px rgb(0 0 0 / 0.5);
	        box-shadow: 0 2px 10px rgb(0 0 0 / 0.5);
}

/* ****************************** *
 * INQUÉRITO PAGE (AVALIAÇÃO)
 * ****************************** */

.avaliacao-page .intro p,
.avaliacao-page .end p {
	font-size: 1.33em;
	font-weight: 500;
	line-height: 1.2;
	color: var(--secondary-color);
	margin-top: 0;
}

.avaliacao-page .pergunta,
.avaliacao-page .end {
	display: none;
}

.avaliacao-page .end h2 {
	color: var(--secondary-color);
	margin: 20px 0;
	font-size: 1.88em;
	font-weight: 700;
}

.avaliacao-page .pergunta .info_p {
	font-size: 0.77em;
	font-weight: 400;
	line-height: 1.2;
	margin: 4vh 0 6vh 0;
}

.avaliacao-page .pergunta .p_num {
	color: var(--primary-color);
  font-size: 1.64em;
  font-weight: 600;
}

.avaliacao-page .pergunta .p_num span {
	color: var(--secondary-color);
}

.avaliacao-page .pergunta p {
	font-size: 1.33em;
	font-weight: 500;
	line-height: 1.2;
	color: var(--secondary-color);
	margin: 0;
}

.avaliacao-page .pergunta .rating__stars {
	display: block;
	margin: 20px auto;
}

.avaliacao-page .rating__star {
	display: inline-block;
	height: 42px;
  width: 42px;
	margin-right: 8px;
}

.avaliacao-page textarea {
  width: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin-bottom: 20px;
	margin-top: 20px;
	padding: 8px 10px;
	font-size: 0.6em;
	font-weight: 400;
	line-height: 1.2;
	font-family: Roboto, sans-serif;
	border: 2px solid var(--border-color);
	border-radius: 8px;
	text-decoration: none;
}

.avaliacao-page textarea:active,
.avaliacao-page textarea:focus {
	border: 2px solid var(--secondary-color);
}

.avaliacao-page p.textarea {
  padding-bottom: 5vh;
}

/* ****************************** *
 * ERROR 404 PAGE
 * ****************************** */

.error-404-page section {
	margin: 30px;
	padding: 0;
	margin-top: 20vw;
	text-align: center;
	color: var(--white-color);
}

.error-404-page section {
	margin: 30px;
	padding: 0;
	margin-top: 20vw;
	text-align: center;
	color: var(--white-color);
}

.error-404-page h1 {
	text-transform: uppercase;
}

.error-404-page p {
	font-weight: 500;
}

.error-404-page .button {
	position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: var(--white-color);
  color: var(--black-color);
  margin: 30px 0 0 0;
  padding: 14px 60px 14px 50px;
  border-radius: 50px;
  font-size: 1em;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 30%);
          box-shadow: 0 0 10px rgb(0 0 0 / 30%);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.error-404-page .button:hover,
.error-404-page .button:active,
.error-404-page .button:focus {
	background-color: var(--secondary-color);
	color: var(--white-color);
}

.error-404-page .icon-chevron-left {
	width: 24px;
  padding: 0 10px 0 0;
}

.error-404-page .icon-chevron-left {
	width: 24px;
  padding: 3px 10px 0 0;
}