/*
 * Widgets do Colégio Pouso Alegre.
 * Regras medidas nas páginas atuais para reproduzir o mesmo visual dos widgets originais.
 */

.edubin-carousel-nav-1 button.slick-arrow {
	position: absolute;
	transform: translateY(-50%);
	padding: 0px;
	top: 50%;
	color: rgb(236, 82, 81);
	border: 2px solid rgb(236, 82, 81);
	background: rgb(236, 82, 81);
	font-size: 30px;
	cursor: pointer;
	transition: 0.4s linear;
	z-index: 1;
	opacity: 0;
	border-radius: 5px;
	height: 42px;
	width: 42px;
}
.edubin-carousel-nav-1 button.edubin-carosul-next {
	left: auto;
	right: 0px;
}
.edubin-carousel-nav-1:hover button.slick-arrow {
	opacity: 1;
	margin-left: 25px;
	margin-right: 25px;
}
.edubin-carousel-nav-1 button.slick-arrow i {
	color: rgb(255, 255, 255);
}
.edubin-carousel-nav-1 button.slick-arrow:hover i {
	color: rgb(255, 255, 255);
}
.edubin-carousel-activation .slick-dots {
	text-align: center;
	bottom: -45px;
}
.edubin-carousel-activation .slick-dots li {
	display: inline-block;
	margin: 0px;
}
.edubin-carousel-activation .slick-dots li button {
	border: 1px solid rgb(255, 198, 0);
	width: 12px;
	height: 12px;
	padding: 0px;
	border-radius: 50%;
	background-color: transparent;
	text-indent: -9999px;
}
.edubin-carousel-activation .slick-dots li.slick-active button {
	background-color: rgb(255, 198, 0);
}
.edubin-video-popup-wrapper {
	position: relative;
}
.edubin-video-popup-wrapper .video-popup-4 {
	position: relative;
}
.edubin-video-popup-wrapper .video-play-button {
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	box-sizing: content-box;
	display: block;
	border-radius: 50%;
	padding: 18px 20px 18px 28px;
}
.edubin-video-popup-wrapper .video-play-button::before {
	content: "";
	position: absolute;
	z-index: 0;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	display: block;
	width: 80px;
	height: 80px;
	background: rgb(253, 189, 0);
	border-radius: 50%;
	animation: 1500ms ease-out 0s infinite normal none running pulse-border;
}
.edubin-video-popup-wrapper .video-play-button::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-50%);
	display: block;
	width: 80px;
	height: 80px;
	background: rgb(253, 189, 0);
	border-radius: 50%;
	transition: 200ms;
}
.edubin-video-popup-wrapper .video-play-button span {
	display: block;
	position: relative;
	z-index: 3;
	width: 0px;
	height: 0px;
	border-left: 32px solid rgb(255, 255, 255);
	border-top: 22px solid transparent;
	border-bottom: 22px solid transparent;
}
.edubin-section-addon-1 {
	position: relative;
	display: block;
	height: 600px;
	width: 570px;
}
.edubin-section-addon-1 .front-image-1 {
	position: absolute;
	left: 40px;
	top: 40px;
}
.edubin-section-addon-1 .front-image-1 img {
	width: 465px;
	height: 500px;
	object-fit: cover;
	border-radius: 5px;
}
.edubin-section-addon-1 .front-image-2 {
	position: absolute;
	right: 0px;
	bottom: 0px;
}
.edubin-section-addon-1 .front-image-2 img {
	width: 262px;
	height: 360px;
	object-fit: cover;
	border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 0px 109px 0px;
}
.edubin-services-wrapper .slick-initialized .slick-slide {
	padding: 0px 15px;
	margin-top: 10px;
}
.edubin-services-wrapper .slick-initialized .slick-slide:nth-child(4n+1) .services-single-item {
	background: rgb(2, 179, 228);
}
.edubin-services-wrapper .slick-initialized .slick-slide:nth-child(4n+2) .services-single-item {
	background: rgb(169, 81, 237);
}
.edubin-services-wrapper .slick-initialized .slick-slide:nth-child(4n+3) .services-single-item {
	background: rgb(255, 174, 12);
}
.edubin-services-wrapper .slick-initialized .slick-slide:nth-child(4n+3) .services-single-item {
	background: rgb(255, 84, 131);
}
.edubin-custom-carousel {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 120px 30px;
}
.edubin-custom-carousel .services-single-wrap {
	padding: 25px;
	border-radius: 40px;
}
.edubin-custom-carousel .services-single-wrap:nth-child(4n+1) {
	border: 1px dashed rgb(2, 179, 228);
}
.edubin-custom-carousel .services-single-wrap {
	top: 0px;
	transition: 0.35s;
	position: relative;
}
.edubin-custom-carousel .services-single-wrap:hover {
	top: -10px;
	transition: 0.35s;
	position: relative;
}
@media (max-width: 575.98px) {
	.edubin-custom-carousel {
		grid-template-columns: repeat(1, 1fr);
	}
}
.edubin-services-wrapper .services-single-wrap:nth-child(4n+1) .services-single-item {
	background: rgb(2, 179, 228);
}
.edubin-services-wrapper .services-single-item {
	position: relative;
	border-radius: 40px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	box-shadow: rgba(0, 0, 0, 0.08) 6px 5px 25px;
	transition: 0.35s;
	top: 0px;
	padding-top: 60px;
}
.edubin-services-wrapper .services-single-wrap:hover .services-single-item {
	top: -10px;
	transition: 0.35s;
}
.edubin-services-wrapper .cat-icon-img {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 100px;
	width: 225px;
	height: 225px;
	margin: 0px auto;
	display: flex;
	align-items: center;
	position: absolute;
	top: -140px;
	left: 0px;
	right: 0px;
}
.edubin-services-wrapper .cat-title {
	color: rgb(255, 255, 255);
	font-size: 24px;
	padding-top: 12px;
}
.edubin-services-wrapper p {
	color: rgb(255, 255, 255);
	margin-bottom: 0px;
}
.edubin-services-wrapper .edubin-cat-content {
	padding: 10px 30px 35px;
}
.edubin-services-wrapper a:hover {
	color: rgb(255, 255, 255);
}
.edubin-services-wrapper a {
	color: rgb(255, 255, 255);
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.edubin-custom-carousel {
		grid-template-columns: repeat(3, 1fr);
	}
}
.edubin-carousel-dot-1 .slick-dots {
	list-style: none;
}
.edubin-carousel-dot-1 .slick-dots li button {
	font-size: 0px;
	line-height: 0;
	display: block;
	width: 12px;
	height: 12px;
	padding: 0px;
	cursor: pointer;
	color: transparent;
	border: 0px;
	outline: none;
	background: rgb(227, 227, 227);
	border-radius: 100%;
}
.edubin-carousel-dot-1 .slick-dots li.slick-active button {
	background: rgb(255, 198, 0);
}
.edubin-carousel-dot-1 .slick-dots li button::before {
	display: none;
}
.edubin-carousel-dot-1 .slick-dots {
	bottom: -60px;
}
.edubin-carousel-dot-1 .slick-dots li {
	margin: 0px 7px;
	width: 12px;
	height: 12px;
}
.edubin-section-title .section-title-txt {
	font-size: 48px;
	color: rgb(35, 37, 42);
	font-weight: 600;
	line-height: 1;
	margin: 0px;
	display: inline-block;
}
.edubin-section-title .section-subtitle-txt {
	color: rgb(7, 41, 77);
	font-size: 16px;
	line-height: 30px;
	margin: 5px 0px;
	font-weight: 400;
}
.edubin-section-title.edubin-subtitle-position-top {
	display: flex;
	flex-direction: column;
}
.edubin-section-title.edubin-subtitle-position-top .section-title-txt {
	order: 2;
}
.edubin-section-title.edubin-subtitle-position-top .section-subtitle-txt {
	order: 1;
}
.edubin-testi-1 .edubin-testi-single {
	position: relative;
}
.edubin-testi-1 .edubin-testi-single .testimonial-thum {
	position: absolute;
	display: inline-block;
	left: 0px;
	top: 50%;
	transform: translateY(-109%);
}
.edubin-testi-1 .edubin-testi-single .testimonial-thum img {
	border-radius: 3px;
	width: 92px;
	height: 92px;
	object-fit: cover;
}
.edubin-testi-1 .edubin-testi-single .testimonial-thum .quote {
	position: absolute;
	right: -22px;
	top: -22px;
}
.edubin-testi-1 .edubin-testi-single .testimonial-thum .quote i {
	width: 45px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	background-color: rgb(255, 198, 0);
	border-radius: 50%;
	color: rgb(7, 41, 77);
	font-size: 18px;
}
.edubin-testi-1 .edubin-testi-single .testimonial-cont {
	padding-left: 140px;
	padding-right: 32px;
}
.edubin-testi-1 .edubin-testi-single .testimonial-cont p {
	color: rgb(255, 255, 255);
	padding-bottom: 5px;
	padding-right: 30px;
}
.edubin-testi-1 .edubin-testi-single .testimonial-cont .name {
	color: rgb(255, 255, 255);
	padding: 0px 30px 4px 0px;
	font-size: 18px;
	margin: 0px;
	font-weight: 700 !important;
}
.edubin-testi-1 .edubin-testi-single .testimonial-cont .degree {
	color: rgb(255, 255, 255);
	font-size: 16px;
	font-weight: 400;
}
.edubin-testi-1 .slick-list {
	padding-top: 35px;
}
@media (max-width: 767.98px) {
	.edubin-testi-1 .edubin-testi-single .testimonial-thum {
		position: relative;
		left: 0px;
		top: 0px;
		transform: translateY(-9%);
	}
	.edubin-testi-1 .edubin-testi-single .testimonial-cont {
		padding-left: 0px;
		padding-right: 0px;
	}
}
.edubin-testi-1 .slick-arrow {
	z-index: 1;
}
.edubin-testi-1 .slick-dots {
	list-style: none;
}
.edubin-testi-1 .slick-dots li button {
	font-size: 0px;
	line-height: 0;
	display: block;
	width: 12px;
	height: 12px;
	padding: 0px;
	cursor: pointer;
	color: transparent;
	border: 0px;
	outline: none;
	background: rgb(227, 227, 227);
	border-radius: 100%;
}
.edubin-testi-1 .slick-dots li.slick-active button {
	background: rgb(255, 198, 0);
}
.edubin-testi-1 .slick-dots li button::before {
	display: none;
}
.edubin-testi-1 .slick-dots {
	bottom: -30px;
}
.edubin-testi-1 .slick-dots li {
	margin: 0px 7px;
	width: 12px;
	height: 12px;
}
.edubin-section-title span.edubin-title-sperator {
	background-color: rgb(255, 198, 0);
	display: inline-block;
	height: 3px;
	margin-bottom: 13px;
	margin-top: 0px;
	position: relative;
	width: 42px;
}
.edubin-title-sperator-sec {
	line-height: 1;
}
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	user-select: none;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0px;
	padding: 0px;
}
.slick-list:focus {
	outline: none;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	transform: translate3d(0px, 0px, 0px);
}
.slick-track {
	position: relative;
	top: 0px;
	left: 0px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.slick-track::before,
.slick-track::after {
	display: table;
	content: "";
}
.slick-track::after {
	clear: both;
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}
.slick-slide img {
	display: block;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-dotted.slick-slider {
	margin-bottom: 30px;
}
.slick-dots {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	padding: 0px;
	margin: 0px;
	list-style: none;
	text-align: center;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0px 5px;
	padding: 0px;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0px;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0px;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}
.slick-dots li button:hover::before,
.slick-dots li button:focus::before {
	opacity: 1;
}
.slick-dots li button::before {
	font-family: slick;
	font-size: 6px;
	line-height: 20px;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 20px;
	height: 20px;
	content: "•";
	text-align: center;
	opacity: 0.25;
	color: black;
	-webkit-font-smoothing: antialiased;
}
.slick-dots li.slick-active button::before {
	opacity: 0.75;
	color: black;
}
.tf-imagebox a,
.tf-imagebox .image .image-overlay,
.btn-overlay::after,
.tf-imagebox .image img,
.tf-imagebox.style-2 .content,
.tf-imagebox.style-3 .content,
.tf-imagebox .content,
.content-only {
	transition: 0.3s ease-in-out;
}
.tf-imagebox .image img {
	display: block;
	margin: 0px auto;
}
.tf-imagebox .image {
	position: relative;
	overflow: hidden;
}
.tf-imagebox .image .image-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
}
.tf-imagebox .image .image-overlay.fade-in {
	top: 0px;
	left: 0px;
}
.tf-imagebox:hover .image .image-overlay.fade-in {
	visibility: visible;
	opacity: 1;
}
.tf-imagebox {
	font-family: Poppins;
	font-size: 14px;
	line-height: 25px;
}
.tf-imagebox .title {
	margin-top: 0px;
	font-size: 16px;
}
.content-only {
	display: none;
}
.tf-imagebox .content {
	position: relative;
}
.edubin-carousel-activation button.slick-arrow i.fa {
	font-family: FontAwesome;
}
@keyframes pulse-border { 0% { transform: translateX(-50%) translateY(-50%) translateZ(0px) scale(1); opacity: 1; } 100% { transform: translateX(-50%) translateY(-50%) translateZ(0px) scale(1.5); opacity: 0; } }

/* Janela do vídeo (YouTube/Vimeo) */
.YouTubePopUp-Wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 99999;
}
body.admin-bar .YouTubePopUp-Wrap { top: 32px; }
.YouTubePopUp-animation {
	opacity: 0;
	animation: YouTubePopUp 0.5s both;
}
@keyframes YouTubePopUp { 0% { opacity: 0; } 100% { opacity: 1; } }
.YouTubePopUp-Hide { animation: YouTubePopUpHide 0.5s both; }
@keyframes YouTubePopUpHide { 0% { opacity: 1; } 100% { opacity: 0; } }
.YouTubePopUp-Content {
	position: relative;
	display: block;
	max-width: 680px;
	height: 100%;
	margin: 0 auto;
}
.YouTubePopUp-Content iframe {
	position: absolute;
	top: 0;
	bottom: 0;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 480px !important;
	margin: auto 0;
	border: none !important;
}
.YouTubePopUp-Close {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 528px;
	width: 24px;
	height: 24px;
	margin: auto 0;
	cursor: pointer;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4l16 16M20 4L4 20' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 24px 24px;
}
.YouTubePopUp-Close:hover { opacity: 0.5; }
@media (max-width: 768px) {
	.YouTubePopUp-Content { max-width: 90%; }
}
@media (max-width: 600px) {
	.YouTubePopUp-Content iframe { height: 320px !important; }
	.YouTubePopUp-Close { bottom: 362px; }
}
@media (max-width: 480px) {
	.YouTubePopUp-Content iframe { height: 220px !important; }
	.YouTubePopUp-Close { bottom: 262px; }
}

/* Página do Facebook */
.elementor-facebook-widget.fb_iframe_widget,
.elementor-facebook-widget.fb_iframe_widget span { width: 100% !important; }
.elementor-facebook-widget.fb_iframe_widget iframe { position: relative; }
/* Herdado do antigo plugin Custom Facebook Feed: muda a linha de base do bloco e mantém a mesma altura. */
.fb_iframe_widget { border: none; overflow: hidden; }

/* Caixa de ícone com ícone em cima: o Elementor 4 zerou a altura da linha do ícone e a caixa ficou 8px mais baixa.
   Volta à altura de linha herdada, como nas versões anteriores. */
.elementor-widget-icon-box.elementor-position-block-start .elementor-icon-box-icon { line-height: inherit; }

/* Lista com ícones com recuo configurado: mesma distância entre ícone e texto das versões anteriores. */
.elementor-widget.cpa-icon-list-indent .elementor-icon-list-icon + .elementor-icon-list-text { padding-inline-start: 0; }
