/* Elementor 3.x frontend primitives, restricted to the widgets used by this site. */
.elementor-section { position: relative; }
.elementor-section .elementor-container { display: flex; margin-left: auto; margin-right: auto; position: relative; }
.elementor-row { display: flex; flex-wrap: wrap; width: 100%; }
.elementor-column { position: relative; min-height: 1px; display: flex; }
.elementor-column-wrap { display: flex; width: 100%; }
.elementor-widget-wrap { display: flex; flex-direction: column; align-content: flex-start; width: 100%; }
.elementor-widget { position: relative; width: 100%; }
.elementor-widget:not(:last-child) { margin-bottom: 20px; }
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-column-wrap { padding: 0 10px; }
.elementor-column-gap-no > .elementor-row > .elementor-column > .elementor-column-wrap { padding: 0; }
.elementor-col-100 { width: 100%; }
.elementor-col-50 { width: 50%; }
.elementor-col-33 { width: 33.3333%; }
.elementor-col-25 { width: 25%; }
.elementor-section-boxed > .elementor-container { max-width: 1300px; }
.elementor-section-full_width > .elementor-container { max-width: none; }
.elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: center; }
.elementor-section-content-top > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { align-items: flex-start; }
.elementor-widget__width-auto { width: auto; align-self: flex-start; }
.elementor-widget__width-auto .elementor-widget-container { width: auto; }
.elementor-widget-container { width: 100%; }

.elementor-heading-title { margin: 0; padding: 0; }
.elementor-widget-heading .elementor-heading-title { color: inherit; }
.elementor-text-editor p:first-child { margin-top: 0; }
.elementor-text-editor p:last-child { margin-bottom: 0; }
.elementor-text-editor h1, .elementor-text-editor h2, .elementor-text-editor h3,
.elementor-text-editor h4, .elementor-text-editor h5, .elementor-text-editor h6 { margin-top: 0; }
.elementor-spacer-inner { height: 50px; }
.elementor-widget-spacer .elementor-widget-container { height: 100%; }

.elementor-widget-social-icons .elementor-widget-container { display: flex; }
.elementor-social-icons-wrapper { display: flex; flex-wrap: wrap; align-items: center; }
.elementor-grid { display: flex; flex-wrap: wrap; }
.elementor-grid-item { display: inline-block; }
.elementor-icon { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.elementor-screen-only { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

.elementor-button-wrapper { display: inline-block; }
.elementor-button { display: inline-block; text-align: center; text-decoration: none; cursor: pointer; }
.elementor-button-content-wrapper { display: flex; align-items: center; justify-content: center; }
.elementor-button-text { display: inline-block; }

.elementor-form, .elementor-form-fields-wrapper { width: 100%; }
.elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; }
.elementor-field-group { display: flex; flex-wrap: wrap; margin-bottom: 20px; }
.elementor-field-group.elementor-column { width: 100%; }
.elementor-field-group.elementor-col-50 { width: 50%; }
.elementor-field-group .elementor-field-label { margin-bottom: 6px; }
.elementor-field { width: 100%; max-width: 100%; }
.elementor-field input, .elementor-field select, .elementor-field textarea { box-sizing: border-box; }
.elementor-field-group .elementor-field-textual { width: 100%; }
.elementor-button-align-end .e-form__buttons { justify-content: flex-end; }
.e-form__buttons { display: flex; width: 100%; }

.elementor-widget-image img { display: block; max-width: 100%; height: auto; }

@media (max-width: 1024px) {
  .elementor-section-boxed > .elementor-container { max-width: 950px; }
  .elementor-col-33, .elementor-col-50 { width: 50%; }
}
@media (max-width: 768px) {
  .elementor-section-boxed > .elementor-container { max-width: 100%; padding-left: 20px; padding-right: 20px; }
  .elementor-col-33, .elementor-col-50, .elementor-col-25 { width: 100%; }
  .elementor-field-group.elementor-col-50 { width: 100%; }
  .elementor-spacer-inner { height: 30px; }
}
