/*
 * Castle Builder: the page grid. Sections hold columns, columns hold
 * elements. The class names (elementor-…) are the ones Elementor used, so
 * layouts imported from Elementor and the styles written for them keep
 * working unchanged. Breakpoints: tablet ≤1024px, mobile ≤767px.
 * layout-rtl.css is the right-to-left copy.
 */
.elementor *, .elementor ::before, .elementor ::after { box-sizing: border-box; }
.elementor a { box-shadow: none; text-decoration: none; }
.elementor img { max-width: 100%; height: auto; border: none; border-radius: 0; box-shadow: none; }
.elementor iframe, .elementor video, .elementor embed, .elementor object { width: 100%; max-width: 100%; margin: 0; line-height: 1; border: none; }
.elementor .elementor-background-overlay { position: absolute; inset: 0; }

/* Sections */
.elementor-section { position: relative; }
.elementor-section .elementor-container { position: relative; display: flex; margin-right: auto; margin-left: auto; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1140px; }
.elementor-section.elementor-section-stretched { position: relative; width: 100%; }
@media (max-width: 1024px) {
	.elementor-section .elementor-container { flex-wrap: wrap; }
	.elementor-section.elementor-section-boxed > .elementor-container { max-width: 1024px; }
}
@media (max-width: 767px) {
	.elementor-section.elementor-section-boxed > .elementor-container { max-width: 767px; }
}

/* Columns */
.elementor-column { position: relative; display: flex; min-height: 1px; }
.elementor-widget-wrap { position: relative; display: flex; flex-wrap: wrap; align-content: flex-start; width: 100%; }
.elementor-widget-wrap > .elementor-element { width: 100%; }
.elementor-column-gap-narrow > .elementor-column > .elementor-element-populated { padding: 5px; }
.elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 10px; }
.elementor-column-gap-extended > .elementor-column > .elementor-element-populated { padding: 15px; }
.elementor-column-gap-wide > .elementor-column > .elementor-element-populated { padding: 20px; }
.elementor-column-gap-wider > .elementor-column > .elementor-element-populated { padding: 30px; }
.elementor-inner-section .elementor-column-gap-no .elementor-element-populated { padding: 0; }
@media (min-width: 768px) {
	.elementor-column.elementor-col-10 { width: 10%; }
	.elementor-column.elementor-col-11 { width: 11.111%; }
	.elementor-column.elementor-col-12 { width: 12.5%; }
	.elementor-column.elementor-col-14 { width: 14.285%; }
	.elementor-column.elementor-col-16 { width: 16.666%; }
	.elementor-column.elementor-col-20 { width: 20%; }
	.elementor-column.elementor-col-25 { width: 25%; }
	.elementor-column.elementor-col-30 { width: 30%; }
	.elementor-column.elementor-col-33 { width: 33.333%; }
	.elementor-column.elementor-col-40 { width: 40%; }
	.elementor-column.elementor-col-50 { width: 50%; }
	.elementor-column.elementor-col-60 { width: 60%; }
	.elementor-column.elementor-col-66 { width: 66.666%; }
	.elementor-column.elementor-col-70 { width: 70%; }
	.elementor-column.elementor-col-75 { width: 75%; }
	.elementor-column.elementor-col-80 { width: 80%; }
	.elementor-column.elementor-col-83 { width: 83.333%; }
	.elementor-column.elementor-col-90 { width: 90%; }
	.elementor-column.elementor-col-100 { width: 100%; }
}
@media (max-width: 767px) {
	.elementor-column { width: 100%; }
}

/* Elements */
.elementor-widget { position: relative; }
.elementor-widget:not(:last-child) { margin-bottom: 20px; }
