.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-53b294e:#F7F9FB;--e-global-color-48dd45f:#253B4C;--e-global-color-5c648c3:#98CF5F;--e-global-color-1cf533d:#3CD1D5;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:500;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:85%;}.e-con{--container-max-width:85%;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;}}/* Start custom CSS *//* Div Block element.
Sets minimum width of 30px, adds 10px padding, and displays as a block-level element. */
.elementor .e-div-block-base {
    min-width: 30px;
    padding: 10px;
    display: block;
}

/* Flexbox element.
Creates a flex container with horizontal row layout and 10px padding. */
.elementor .e-flexbox-base {
    padding: 10px;
    display: flex;
    flex-direction: row;
}

/* Tabs wrapper element.
Stacks tab menu and content vertically with 30px gap spacing. */
.elementor .e-tabs-base {
    padding-block-start: 0px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Tabs menu wrapper.
Displays tab buttons using flexbox and centres them horizontally. */
.elementor .e-tabs-menu-base {
    display: flex;
    justify-content: center;
}

/* Individual tab button element.
Sets width, colours, padding, borders, background, and cursor styling. */
.elementor .e-tab-base {
    width: 160px;
    color: #0C0D0E;
    cursor: pointer;
    padding: 8px;
    border-width: 2px;
    border-color: #E0E0E0;
    border-style: solid;
    background-color: #FFFFFF;
    display: block;
}

/* Selected tab state.
Changes border colour for the active tab and removes outline width. */
.elementor .e-tab-base.e--selected {
    border-color: #0C0D0E;
    outline-width: 0px;
}

/* Focused tab state.
Changes border colour when tab receives focus and removes outline width. */
.elementor .e-tab-base:focus {
    border-color: #0C0D0E;
    outline-width: 0px;
}

/* Hovered or keyboard-focused tab state.
Changes tab background colour on hover or visible focus. */
.elementor .e-tab-base:hover,
.elementor .e-tab-base:focus-visible {
    background-color: #E0E0E0;
}

/* Tabs content wrapper.
Displays tab content area as a block-level element. */
.elementor .e-tabs-content-area-base {
    display: block;
}

/* Individual tab content panel.
Sets minimum width, adds 10px padding, and displays as block. */
.elementor .e-tab-content-base {
    min-width: 30px;
    padding: 10px;
    display: block;
}

/* Form wrapper element.
Creates flexbox form layout with wrapping, spacing, alignment, and 20px padding. */
.elementor .e-form-base {
    padding: 20px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex-wrap: wrap;
    align-content: start;
    align-items: flex-start;
}

/* Checkbox row inside forms.
Removes padding, adds 8px gap, and vertically aligns items. */
.elementor .e-form-base .e-form-checkbox-row {
    padding: 0px;
    gap: 8px;
    align-items: center;
}

/* Form success message.
Styles success notification with green colours and hides it by default. */
.elementor .e-form-success-message-base {
    font-size: 12px;
    color: #2F532E;
    text-align: center;
    padding: 12px;
    background-color: #D4E9D6;
    display: none;
}

/* Form error message.
Styles error notification with red colours and hides it by default. */
.elementor .e-form-error-message-base {
    font-size: 12px;
    color: #870000;
    text-align: center;
    padding: 12px;
    background-color: #ffdede;
    display: none;
}

/* Heading element.
Removes default heading margin spacing. */
.elementor .e-heading-base {
    margin: 0px;
}

/* Heading link element.
Removes default browser link styling and enables pointer cursor. */
.elementor .e-heading-link-base {
    all: unset;
    cursor: pointer;
}

/* Image link wrapper.
Makes linked image width fit content and inherit display behaviour. */
.elementor .e-image-link-base {
    width: fit-content;
    display: inherit;
}

/* Image element.
Displays image as a block-level element. */
.elementor .e-image-base {
    display: block;
}

/* Paragraph element.
Removes default paragraph margins. */
.elementor .e-paragraph-base {
    margin: 0px;
}

/* Paragraph link element.
Removes default browser link styling and enables pointer cursor. */
.elementor .e-paragraph-link-base {
    all: unset;
    cursor: pointer;
}

/* SVG element.
Sets default SVG dimensions and displays inline-block. */
.elementor .e-svg-base {
    width: 65px;
    height: 65px;
    display: inline-block;
}

/* Button element.
Adds padding, blue background, border radius, centre alignment, and inline-block display. */
.elementor .e-button-base {
    text-align: center;
    padding-block-start: 12px;
    padding-block-end: 12px;
    padding-inline-start: 24px;
    padding-inline-end: 24px;
    border-radius: 2px;
    border-width: 0px;
    background-color: #375EFB;
    display: inline-block;
}

/* YouTube embed element.
Maintains 16:9 aspect ratio and hides overflow. */
.elementor .e-youtube-base {
    overflow: hidden;
    aspect-ratio: 16/9;
}

/* Divider element.
Creates a 1px high black divider using background colour. */
.elementor .e-divider-base {
    height: 1px;
    border-width: 0px;
    border-color: transparent;
    border-style: none;
    background-color: #000;
}

/* Self-hosted video element.
Limits width to viewport, maintains 16:9 ratio, and displays inline-block. */
.elementor .e-self-hosted-video-base {
    max-width: 100vw;
    aspect-ratio: 16/9;
    display: inline-block;
}

/* Standard form input field.
Sets input height, font size, colours, and border styling. */
.elementor .e-form-input-base {
    height: 36px;
    font-size: 12px;
    color: #0c0d0e;
    border-radius: 0px;
    border-color: #D6D5D5;
}

/* Focused form input field.
Darkens border colour and removes browser outline. */
.elementor .e-form-input-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Form input placeholder text.
Sets placeholder text colour. */
.elementor .e-form-input-base::placeholder {
    color: #9DA5AE;
}

/* Form label element.
Sets label font size and text colour. */
.elementor .e-form-label-base {
    font-size: 14px;
    color: #0c0d0e;
}

/* Textarea field element.
Sets font size and border styling. */
.elementor .e-form-textarea-base {
    font-size: 12px;
    border-radius: 0px;
    border-color: #D6D5D5;
}

/* Focused textarea field.
Darkens border colour and removes browser outline. */
.elementor .e-form-textarea-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Textarea placeholder text.
Sets placeholder text colour. */
.elementor .e-form-textarea-base::placeholder {
    color: #9DA5AE;
}

/* Form submit button element.
Creates black button with centred content, padding, and white text. */
.elementor .e-form-submit-button-base {
    color: #fff;
    padding-block-start: 10px;
    padding-block-end: 10px;
    padding-inline-start: 28px;
    padding-inline-end: 30px;
    border-radius: 0px;
    border-width: 0px;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Hovered or focused submit button.
Changes background colour on hover or keyboard focus. */
.elementor .e-form-submit-button-base:hover,
.elementor .e-form-submit-button-base:focus-visible {
    background-color: #323232;
}

/* Checkbox input element.
Creates custom checkbox styling, sizing, borders, transitions, and removes browser appearance. */
.elementor .e-form-checkbox-base {
    width: 1.15em;
    height: 1.15em;
    color: #ffffff;
    border-radius: 0px;
    border-width: 1px;
    border-color: #D6D5D5;
    border-style: solid;
    background-color: transparent;
    transition: background-color 200ms;
    display: grid;
    justify-items: center;
    align-items: center;
    appearance: none;
}

/* Focused checkbox element.
Darkens border colour and removes browser outline. */
.elementor .e-form-checkbox-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Checked checkbox state.
Changes checkbox background colour when selected. */
.elementor .e-form-checkbox-base:checked {
    background-color: #69727D;
}

/* Checkbox checkmark pseudo-element.
Creates custom checkmark shape using clip-path and opacity transition. */
.elementor .e-form-checkbox-base::before {
    width: 65%;
    height: 65%;
    background-color: currentColor;
    opacity: 0%;
    transform-origin: 0% 100% 0px;
    transition: opacity 200ms;
    content: "";
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

/* Visible checkbox checkmark state.
Shows checkmark when checkbox is checked. */
.elementor .e-form-checkbox-base:checked::before {
    opacity: 100%;
}

/* Radio button element.
Creates custom circular radio button and removes browser appearance. */
.elementor .e-form-radio-button-base {
    width: 1.15em;
    height: 1.15em;
    color: #ffffff;
    border-radius: 50%;
    border-width: 1px;
    border-color: #D6D5D5;
    border-style: solid;
    background-color: transparent;
    display: grid;
    justify-items: center;
    align-items: center;
    appearance: none;
}

/* Focused radio button.
Darkens border colour and removes browser outline. */
.elementor .e-form-radio-button-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Checked radio button state.
Keeps background transparent when selected. */
.elementor .e-form-radio-button-base:checked {
    background-color: transparent;
}

/* Radio button inner dot pseudo-element.
Creates inner selected dot using opacity transition. */
.elementor .e-form-radio-button-base::before {
    width: 65%;
    height: 65%;
    border-radius: 50%;
    background-color: #706F6F;
    opacity: 0%;
    transition: opacity 200ms;
    content: "";
}

/* Visible radio button selected dot.
Shows inner dot when radio button is selected. */
.elementor .e-form-radio-button-base:checked::before {
    opacity: 100%;
}

/* Date picker field element.
Sets sizing, borders, colours, and typography for date input. */
.elementor .e-form-date-picker-base {
    width: 100%;
    height: 36px;
    font-size: 12px;
    color: #0c0d0e;
    border-radius: 0px;
    border-width: 1px;
    border-color: #D6D5D5;
    border-style: solid;
}

/* Focused date picker field.
Darkens border colour and removes browser outline. */
.elementor .e-form-date-picker-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Time picker field element.
Sets sizing, borders, colours, and typography for time input. */
.elementor .e-form-time-picker-base {
    width: 100%;
    height: 36px;
    font-size: 12px;
    color: #0c0d0e;
    border-radius: 0px;
    border-width: 1px;
    border-color: #D6D5D5;
    border-style: solid;
}

/* Focused time picker field.
Darkens border colour and removes browser outline. */
.elementor .e-form-time-picker-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* Select dropdown field element.
Sets border styling, typography, and transparent background. */
.elementor .e-form-select-base {
    font-size: 12px;
    border-width: 1px;
    border-color: #D6D5D5;
    border-style: solid;
    background-color: transparent;
}

/* Focused select dropdown field.
Darkens border colour and removes browser outline. */
.elementor .e-form-select-base:focus {
    border-color: #706F6F;
    outline-style: none;
}

/* File upload field element.
Sets sizing, typography, colours, and border styling. */
.elementor .e-form-file-upload-base {
    height: 36px;
    font-size: 12px;
    color: #0c0d0e;
    border-radius: 0px;
    border-color: #D6D5D5;
}

/* Focused file upload field.
Darkens border colour and removes browser outline. */
.elementor .e-form-file-upload-base:focus {
    border-color: #706F6F;
    outline-style: none;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Plus Jakarta Sans';
	font-display: auto;
	src: url('https://academiaverao.adene.pt/wp-content/uploads/2026/05/plusjakartasans-variablefont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */