/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

h2 span {
	color: #073B5A;
}

@media (max-width: 1179px) and (min-width: 768px) {
	main#content .elementor .e-con-inner > .elementor-element,
	.elementor-location-single.elementor .e-con-inner > .elementor-element {
		--width: 100% !important;
	}
}

/* HOME */

@media (min-width: 415px) and (max-width: 767px) {	
	.background-deco {
		background-size: contain !important;
	}	
}
.card .button-arrow,
.card .elementor-widget-icon-box {
	margin-top: auto;
}
.card .elementor-icon-box-wrapper {
	padding-right: 32px;
}
.card .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 100%;
}
.card .elementor-widget-container > a {
	width: 100%;
}

.title-faqs {
	margin-bottom: -2rem !important;
}
.title-faqs .elementor-widget-container {
	display: inline-block;
}

.grid-courses {
	padding: 1rem 0;
	text-align: center;
}
.grid-courses .row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.grid-courses .course-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	gap: 7px;
	padding-bottom: 2rem;
	text-align: left;
}
.grid-courses .course-card .course-image {
	border-radius: 20px;
	width: 100%;
	height: 15vw;
	min-height: 152px;
	max-height: 260px;
	overflow: hidden;
}
.grid-courses .course-card .course-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.grid-courses .course-card .course-content {
	background-color: #ffffff;
	border-radius: 20px;
	padding: 1.5rem;
	display: flex;
  	flex-direction: column;
	flex-grow: 1;
  	flex-shrink: 0;
}
.grid-courses .course-card .course-content .course-title {
	margin-top: 0;
}


/* GENERAL */

.elementor-button,
.elementor-button * {
	transition: .3s !important;
}
.button-arrow .elementor-button-icon svg {
	transform: rotate(45deg);
}
.button-arrow .elementor-button:hover svg {
	transform: rotate(0deg);
}

.border-blue .elementor-button:hover {
	border-color: #073B5A !important;
}

.elementor-widget-n-accordion .e-n-accordion-item {
	border-bottom: 1px solid #E8E8E8;
}
.elementor-widget-n-accordion .e-n-accordion-item-title {
	justify-content: space-between;
	border: 0;
}
.elementor-widget-n-accordion .e-con.e-flex {
	border: 0;
}

.icon-newsletter .elementor-icon-box-icon .elementor-icon svg {
	display: none;
}
.icon-newsletter .elementor-icon-box-icon .elementor-icon:before {
	content: '';
	background: url('/wp-content/uploads/2026/02/newsletter.gif') no-repeat center center;
	background-size: 100% auto;
	width: 107px;
	height: 107px;
	display: inline-block;
}

.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs[data-touch-mode="false"] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover,
.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.elementor-widget-n-tabs button,
.elementor-widget-n-tabs button:hover {
	border-radius: 30px !important;
}
.elementor-widget-n-tabs > .elementor-widget-container > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
	display: inline-flex;
	flex-direction: row-reverse;
}

.e-con.e-con > .e-con-inner > .elementor-widget,
.image-course {
	width: 100%;
}

.sep-center,
.sep-bottom {
	position: relative;
}
.sep-center:before,
.sep-center:after,
.sep-bottom:after {
	content: '';
	width: 1px;
	height: 90%;
	background-color: #E3E3E3;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.sep-center:before {
	left: -0.5px;
}
.sep-center:after,
.sep-bottom:after {
	right: -0.5px;
}

.label-complete {
	font-size: 16px;
	text-transform: uppercase;
	font-weight: 400;
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
	background-color: #FBB900;
	color: #073B5A;
	padding: 10px 20px;
}

.tabs-courses.elementor-widget-n-tabs .e-n-tabs-heading {
	padding: 1rem 0;
	border-top: 1px solid #DADADA;
	border-bottom: 1px solid #DADADA;
}
.tabs-courses.elementor-widget-n-tabs .e-n-tabs-content {
	border-bottom: 1px solid #DADADA;
}

/*.elementor-widget-icon-box span span {
	font-weight: bold;
}*/

/* FOOTER */

footer .elementor-icon-box-icon .elementor-icon {
	background-color: #ffffff;
	border-radius: 45px;
	padding: 8px;
	display: inline-block;
}

/* FORMS */

span.label {
	display: none !important;
}

form div.row {
	margin: 0 -0.5rem;
	display: block;
	text-align: left;
}
.row:after {
	clear: both;
	display: table;
	content: " ";
}
.row:before {
	display: table;
	content: " ";
}

.col-xs {
	width: 20%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-3 {
	width: 25%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-4 {
	width: 33.33%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-5 {
	width: 40%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-6 {
	width: 50%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-7 {
	width: 60%;
	float: left;
	padding: 0 0.5rem;
}
.col-xs-12 {
	width: 100%;
	float: left;
	padding: 0 0.5rem;
}
form div.form-group {
	display: inline-block;
	width: 100%;
	margin-bottom: 1rem;
}
form div.block-submit {
	display: inline-block;
	width: 100%;
}
form div.block-submit input[type="submit"],
form div.block-submit button {
	min-width: 100%;
	text-align: center;
	border-radius: 10px !important;
	border: 0;
	transition: .3s !important;
}

select {
	font-size: 20px;
	font-weight: 500;
	border-style: solid;
	border-width: 3px 3px 3px 3px;
	border-color: #D9D9D9;
	border-radius: 10px 10px 10px 10px;
	padding: 14px 20px 14px 20px;
	background-color: #ffffff;
}
@media (max-width: 1179px) {
	select {
		font-size: 16px;
		border-width: 3px 3px 3px 3px;
		padding: 14px 20px 14px 20px;
	}
}
@media (max-width: 767px) {
	select {
		font-size: 14px;
		border-width: 3px 3px 3px 3px;
		padding: 14px 20px 14px 20px;
	}
}

label {
	margin: 0;
	cursor: default;
	display: block;
	line-height: 1.2;
}
.wpcf7-list-item label {
	font-size: 14px;
	font-weight: 300;
	margin: 0 0 1rem 0;
}

input[type="checkbox"] {
    margin: 0 6px 0 0 !important;
}
select {
	cursor: pointer;
}
select option {
	background-color: var(--color-content-bg) !important;
	font-family: var(--font-family), sans-serif !important;
}
input[type="text"]:disabled,
select:disabled {
	opacity: 0.5;
	cursor: default;
}

div.wpcf7 .ajax-loader {
	display: none !important;
}
div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-response-output {
	border: 0;
	margin: 0;
	text-align: center;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="number"],
.wpcf7-form input[type="file"],
.wpcf7-form textarea,
.wpcf7-form select {
    margin-top: 0;
    box-shadow: none !important;
	outline: none !important;
	/*-webkit-appearance: none !important;
    -moz-appearance: none !important;*/
}

span[data-name="legal"], .wpcf7-form-control-wrap {
	display: inline-block;
	width: 100%;
	margin: 0;
	line-height: 1.2;
}
span[data-name="legal"] {
	text-align: left;
}
span[data-name="legal"] label {
	font-size: 16px !important;
	text-transform: none;
	margin: 0;
	font-weight: 500;
}
span[data-name="legal"] a {
	text-decoration: underline;
}
.wpcf7-form-control.wpcf7-checkbox {
	padding: 0;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	padding: 5px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	font-size: 16px;
 	line-height: 1.2;
}
.wpcf7-form span.wpcf7-not-valid {
	border: 0 !important;
}
span.wpcf7-list-item {
	margin: 0;
	width: auto;
}
span.wpcf7-list-item > label {
	display: inline-block;
	padding: 0;
}
.wpcf7-not-valid-tip {
    font-size: 14px;
	text-transform: none;
	line-height: 1.2;
}
.wpcf7-spinner {
	margin: 0 auto;
	display: block;
}

.flex-form {
	display: flex;
	flex-direction: row;
    justify-content: space-between;
	align-items: flex-start;
}
.flex-form .col-xs-3,
.flex-form .col-xs-4,
.flex-form .col-xs-12 {
	display: flex;
}
.flex-form div.form-group {
	display: inline-flex;
	flex-direction: column;
}
.flex-form .row {
	flex: 0 0 85%;
}
.flex-form .block-submit {
	flex: 0 0 15%;
	margin-left: 0.5rem;
	position: relative;
}
.flex-form .block-submit input[type="submit"] {
	width: 100%;
}

footer input:not([type="button"]):not([type="submit"]),
.footer input:not([type="button"]):not([type="submit"]),
footer select,
.footer select,
footer textarea,
.footer textarea {
	padding: 8px 20px 8px 20px !important;
}
footer select,
.footer select,
footer textarea,
.footer textarea,
footer input[type="submit"],
.footer input[type="submit"] {
	height: 52px;
}
.style-form input:not([type="button"]):not([type="submit"]), .style-form select {
	border: 0 !important;
}
.style-form input[type="submit"], .style-form button {
	color: #FFFFFF !important;
  	background-color: #073B5A !important;
  	padding: 10px 24px !important;
}
@media (max-width: 1439px) {
	form input[type="submit"], form button {
		font-size: 18px !important;
	}
	footer select,
	.footer select,
	footer textarea,
	.footer textarea,
	footer input[type="submit"],
	.footer input[type="submit"] {
		height: 49px;
	}
}
@media (max-width: 1179px) {
	form input[type="submit"], form button {
		font-size: 16px !important;
	}
	footer select,
	.footer select,
	footer textarea,
	.footer textarea,
	footer input[type="submit"],
	.footer input[type="submit"] {
		height: 46px;
	}
}
@media (max-width: 767px) {
	form input[type="submit"], form button {
		font-size: 14px !important;
	}
	footer select,
	.footer select,
	footer textarea,
	.footer textarea,
	footer input[type="submit"],
	.footer input[type="submit"] {
		height: 43px;
	}
}
.footer span[data-name="legal"] {
	text-align: center;
}
.newsletter span[data-name="legal"] {
	text-align: left;
}
.newsletter .flex-form .row {
	flex: 0 0 75%;
}
.newsletter .flex-form .block-submit {
	flex: 0 0 25%;
}

/************************************************************************************
smaller than 1179px
*************************************************************************************/
@media only screen and (max-width: 1179px) {
	.title-faqs {
		margin-bottom: 0 !important;
	}
	.title-faqs .elementor-widget-container {
		background-color: transparent !important;
	}

	.icon-newsletter .elementor-icon-box-icon .elementor-icon:before {
		width: 57px;
		height: 57px;
	}

	.flex-form {
		flex-direction: column;
	}
	.flex-form .row {
		width: calc(100% + 1rem);
	}
	.flex-form .block-submit {
		width: 100%;
	}
	.flex-form .row,
	.flex-form .block-submit {
		flex: 0 0 100%;
	}
	.flex-form .block-submit {
		margin: 0;
	}

	footer ul > li.menu-item > a {
		justify-content: center !important;
	}
	footer nav {
		margin-inline-start: auto;
		margin-inline-end: auto;
	}
	footer .elementor-nav-menu__align-end .elementor-nav-menu {
		justify-content: center;
	}

}
/************************************************************************************
smaller than 767px
*************************************************************************************/
@media only screen and (max-width: 767px) {
	.grid-courses {
		padding: 0.5rem 0 0 0;
	}
	.grid-courses .col-xs-3 {
		width: 50%;
	}

	.grid-courses .course-card .course-content {
		padding: 0.75rem 1rem;
	}

	.icon-newsletter .elementor-icon-box-icon .elementor-icon:before {
		width: 47px;
		height: 47px;
	}

	.col-xs,
	.col-xs-3,
	.col-xs-4,
	.col-xs-5,
	.col-xs-6,
	.col-xs-7 {
		width: 100%;
	}

	form div.form-group {
		margin-bottom: 0.75rem;
	}

	span[data-name="legal"] label,
	.wpcf7 form.invalid .wpcf7-response-output,
	.wpcf7 form.unaccepted .wpcf7-response-output,
	.wpcf7 form.sent .wpcf7-response-output {
		font-size: 14px !important;
	}

	.label-complete {
		font-size: 14px;
		padding: 8px 15px;
	}
}