/**
 * polo.gr: base look of the pages converted from Elementor (tools/convert).
 * Reproduces the Elementor defaults the pages relied on: the kit's global
 * colours/fonts, the boxed 1140px width, widget spacing and widget defaults.
 * Per-element styles come from each page's translated Elementor CSS
 * (post meta _polo_vanilla_css).
 */

:root {
    --e-global-color-primary: #0084B4;
    --e-global-color-secondary: #54595F;
    --e-global-color-text: #212121;
    --e-global-color-accent: #5EB069;
    --e-global-color-4ec59cb6: #4054B2;
    --e-global-color-47f7fd78: #23A455;
    --e-global-color-413d0f06: #000;
    --e-global-color-2ad64716: #FFF;
    --e-global-color-b0d0321: #101212;
    --e-global-color-d090260: #E0C89B;
    --e-global-typography-primary-font-family: "Roboto";
    --e-global-typography-primary-font-weight: 600;
    --e-global-typography-secondary-font-family: "Roboto Slab";
    --e-global-typography-secondary-font-weight: 400;
    --e-global-typography-text-font-family: "Roboto";
    --e-global-typography-text-font-weight: 400;
    --e-global-typography-accent-font-family: "Roboto";
    --e-global-typography-accent-font-weight: 500;
}



/* ----------------------------------------------------------------------------
 * Layout: Elementor sections/containers on Vanilla section > panel > row > column.
 * Elementor: boxed content 1140px, columns padded 10px, widgets 20px apart;
 * containers padded 10px with 20px gaps between their children.
 * ------------------------------------------------------------------------- */

.polo-sec {
    position: relative;
}

.polo-sec > .panel {
    max-width: none;
    margin: 0 auto;
    padding: 0;
}

.polo-sec.polo-boxed > .panel {
    max-width: 1140px;
}

.polo-sec > .panel > .row {
    margin: 0;
    flex-wrap: nowrap;
}

/* Elementor lets section columns wrap from its tablet breakpoint down. */

@media ( max-width: 1024px ) {

    .polo-section > .panel > .row {
        flex-wrap: wrap;
    }

}

/* Elementor stacks section columns below 768px (Vanilla's own grid would
   only stack below 600px); a column with its own mobile width keeps it. */

@media ( max-width: 767px ) {

    .polo-section > .panel > .row {
        flex-wrap: wrap;
    }

    .polo-section > .panel > .row > .polo-col:not([class*="small-column-"]:not(.small-column-100)) {
        flex-basis: 100%;
        max-width: 100%;
    }

}

/* Old-style sections: columns are padded, widgets stacked with 20px between. */

.polo-section > .panel > .row > .polo-col {
    min-height: 1px;
    padding: 10px;
}

/* Section columns are sized like Elementor's (its elementor-col-N widths and
   the exact widths in the page CSS), not by the Vanilla grid steps. */

.polo-section > .panel > .row > .polo-col.elementor-column {
    flex: 0 1 auto;
    max-width: none;
}

@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%;
    }
}

/* Elementor's column wrapper (.elementor-widget-wrap) is a wrapping flex
   container of full-width widgets: children's margins don't collapse out. */

.elementor-column > .column-content {
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    position: relative;
    width: 100%;
}

.elementor-column > .column-content > * {
    width: 100%;
}

/* Elementor pads only populated columns (.elementor-element-populated). */

.polo-section > .panel > .row > .polo-col:not(:has(.polo-el)) {
    padding: 0 !important;
}

.polo-section.polo-gap-no > .panel > .row > .polo-col {
    padding: 0;
}

.polo-section.polo-gap-narrow > .panel > .row > .polo-col {
    padding: 5px;
}

.polo-section.polo-gap-extended > .panel > .row > .polo-col {
    padding: 15px;
}

.polo-section.polo-gap-wide > .panel > .row > .polo-col {
    padding: 20px;
}

.polo-section.polo-gap-wider > .panel > .row > .polo-col {
    padding: 30px;
}

.elementor-column > .column-content > .polo-w:not(:last-child) {
    margin-bottom: 20px;
}

/* Every converted element: Elementor's per-element flex reset (as
   .elementor-element), so a container's settings never leak into children. */

.polo-el {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
    align-self: var(--align-self);
    order: var(--order);
}

.polo-w {
    flex-basis: var(--flex-basis);
    flex-grow: var(--flex-grow);
    flex-shrink: var(--flex-shrink);
}

/* Containers: Elementor's flex container model (its CSS variables, with the
   same defaults, so each page's translated CSS keeps working). The flex
   container is the row (row containers) or the single column (flow
   containers); a container used as a column is itself the flex container. */

.polo-con {
    --display: flex;
    --flex-direction: column;
    --flex-wrap: nowrap;
    --justify-content: normal;
    --align-items: normal;
    --width: 100%;
    --min-height: initial;
    --height: auto;
    --content-width: min(100%, 1140px);
    --margin-top: 0px;
    --margin-right: 0px;
    --margin-bottom: 0px;
    --margin-left: 0px;
    --padding-top: 10px;
    --padding-right: 10px;
    --padding-bottom: 10px;
    --padding-left: 10px;
    --gap: 20px;
    --row-gap: 20px;
    --column-gap: 20px;
    --position: relative;
    --z-index: revert;
    --overflow: visible;
    --flex-basis: auto;
    --flex-grow: 0;
    --flex-shrink: 1;
    --justify-items: normal;
    --align-content: normal;
    --flex-wrap-mobile: wrap;
    width: var(--width);
    height: var(--height);
    min-height: var(--min-height);
    margin: var(--margin-top) var(--margin-right) var(--margin-bottom) var(--margin-left);
    padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
    position: var(--position);
    z-index: var(--z-index);
    overflow: var(--overflow);
}

.polo-con.polo-sec {
    display: flex;
    flex-direction: column;
}

/* Top-level containers are centred (Elementor: :is([data-elementor-id]) > .e-con). */

.polo-top.polo-con {
    --margin-left: auto;
    --margin-right: auto;
}

.polo-con.polo-sec > .panel {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.polo-con.polo-boxed > .panel {
    max-width: var(--content-width);
}

.polo-con > .panel > .row {
    flex: 1 1 auto;
    flex-wrap: nowrap;
}

/* Row container: its child containers are the columns. */

.polo-con-row > .panel > .row {
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
    align-items: var(--align-items);
    align-content: var(--align-content);
    gap: var(--row-gap) var(--column-gap);
}

.polo-con-row.polo-sec {
    --flex-direction: row;
}

/* Flow container: one column holding the children. */

.polo-con > .panel > .row > .polo-col-flow {
    flex: 1 1 100%;
    max-width: 100%;
    padding: 0;
}

.polo-col-flow > .column-content,
.polo-col.polo-con > .column-content {
    display: flex;
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
    align-items: var(--align-items);
    align-content: var(--align-content);
    gap: var(--row-gap) var(--column-gap);
}

.polo-col.polo-con {
    max-width: none;
}

.polo-con-row > .panel > .row > .polo-col.polo-con {
    flex-grow: 0;
    flex-shrink: 1;
}

.polo-col-flow > .column-content > *,
.polo-col.polo-con > .column-content > * {
    margin-bottom: 0;
}

.polo-col-flow > .column-content > .polo-w,
.polo-col.polo-con > .column-content > .polo-w {
    max-width: 100%;
}

/* A container used as a column sizes itself like an Elementor flex child
   (beats the Vanilla grid width classes, which are only the editor's view). */

.polo-con-row > .panel > .row > .polo-col.polo-con.polo-el {
    flex: var(--flex-grow) var(--flex-shrink) var(--flex-basis);
    max-width: 100%;
}

/* Width at Elementor's weight (.e-con { width: var(--width) }), so a custom
   class on the container can still set its own width. */

:where(.polo-con-row > .panel > .row > .polo-col).polo-con {
    width: var(--width);
}

/* Grid containers. */

.polo-grid {
    --grid-justify-content: start;
    --grid-align-content: start;
    --grid-auto-flow: row;
    --e-con-grid-template-columns: repeat(3, 1fr);
    --e-con-grid-template-rows: repeat(2, 1fr);
}

.polo-grid > .panel > .row > .polo-col-flow > .column-content,
.polo-col.polo-grid > .column-content {
    display: grid;
    grid-template-columns: var(--e-con-grid-template-columns);
    grid-template-rows: var(--e-con-grid-template-rows);
    grid-auto-flow: var(--grid-auto-flow);
    justify-content: var(--grid-justify-content);
    align-content: var(--grid-align-content);
    justify-items: var(--justify-items);
    align-items: var(--align-items);
    gap: var(--row-gap) var(--column-gap);
}

@media ( max-width: 767px ) {

    .polo-con-row > .panel > .row {
        flex-wrap: wrap;
    }

    .polo-con.polo-flex {
        --width: 100%;
        --flex-wrap: var(--flex-wrap-mobile);
    }

}

/* The column's blocks sit in Vanilla's .column-content wrapper, which fills
   the column (so min-heights and alignment of containers work). */

.polo-con .polo-col {
    display: flex;
    flex-direction: column;
}

.polo-con .polo-col > .column-content {
    flex: 1 1 auto;
    width: 100%;
}

/* A section nested in a column takes the column's width. */

.polo-col > .polo-sec > .panel {
    max-width: none;
}



/* ----------------------------------------------------------------------------
 * "Hide on" switches (polo.gr's Elementor breakpoints: mobile ≤767,
 * tablet ≤1024, laptop ≤1919, desktop above).
 * ------------------------------------------------------------------------- */

@media ( min-width: 1920px ) {
    .polo-hidden-desktop { display: none !important; }
}

@media ( min-width: 1025px ) and ( max-width: 1919px ) {
    .polo-hidden-laptop { display: none !important; }
}

@media ( min-width: 768px ) and ( max-width: 1024px ) {
    .polo-hidden-tablet { display: none !important; }
}

@media ( max-width: 767px ) {
    .polo-hidden-mobile { display: none !important; }
}



/* ----------------------------------------------------------------------------
 * Widgets: Elementor's default look for each converted widget.
 * ------------------------------------------------------------------------- */

.polo-w {
    position: relative;
}

.polo-heading {
    margin: 0;
    padding: 0;
    line-height: 1;
}

.polo-heading a {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* Image widget: centred, never wider than its column, no Vanilla figure chrome
   (the Vanilla image block's <figure class="image-box"> is the widget itself). */

.polo-w-image {
    text-align: center;
}

.polo-w-image {
    display: block;
    margin: 0;
}

.polo-w-image img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

/* Divider widget. */

.polo-w-divider .elementor-divider {
    display: flex;
    padding-block: var(--divider-gap, 15px);
}

.polo-w-divider .elementor-divider-separator {
    display: flex;
    width: var(--divider-width, 100%);
    margin: 0;
    border-block-start: var(--divider-border-width, 1px) var(--divider-border-style, solid) var(--divider-color, #000);
}

/* Video widget: 16:9 frame (aspect-ratio only, so it must not shrink in a
   flex column: its minimum content height is 0). */

.polo-w-video {
    flex-shrink: 0;
    width: 100%;
}

.polo-video-embed {
    position: relative;
    aspect-ratio: var(--video-aspect-ratio, 16 / 9);
}

.polo-video-embed iframe,
.polo-video-embed video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Toggle / accordion widget (Elementor's defaults, on <details>). */

.elementor-accordion .elementor-accordion-item {
    border: 1px solid #d5d8dc;
}

.elementor-accordion .elementor-accordion-item + .elementor-accordion-item {
    border-top: none;
}

.elementor-accordion .elementor-tab-title,
.elementor-toggle .elementor-tab-title {
    display: block;
    margin: 0;
    padding: 15px 20px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    outline: none;
    list-style: none;
}

.elementor-toggle .elementor-tab-title {
    padding: 15px 0;
    border-bottom: 1px solid #d5d8dc;
}

.elementor-accordion .elementor-tab-title::-webkit-details-marker,
.elementor-toggle .elementor-tab-title::-webkit-details-marker {
    display: none;
}

.elementor-accordion .elementor-accordion-icon,
.elementor-toggle .elementor-toggle-icon {
    display: inline-block;
    width: 1.5em;
    text-align: left;
}

.elementor-accordion-icon-left,
.elementor-toggle-icon-left {
    float: left;
}

.elementor-accordion .elementor-accordion-icon svg,
.elementor-toggle .elementor-toggle-icon svg {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
}

details:not([open]) > .elementor-tab-title [class$="-icon-opened"],
details[open] > .elementor-tab-title [class$="-icon-closed"] {
    display: none;
}

.elementor-accordion .elementor-tab-content {
    padding: 15px 20px;
    border-top: 1px solid #d5d8dc;
}

@media ( max-width: 767px ) {

    .elementor-accordion .elementor-tab-title {
        padding: 12px 15px;
    }

    .elementor-accordion .elementor-tab-content {
        padding: 7px 15px;
    }

}

.elementor-toggle .elementor-tab-content {
    padding: 15px;
    border-bottom: 1px solid #d5d8dc;
}


/* Icon list widget: Elementor's base CSS is css/legacy/elementor-widget-icon-list.css. */



/* ----------------------------------------------------------------------------
 * Slides widget (Elementor Pro "Slides") on the Vanilla slideshow block:
 * fixed height from the page CSS, images cover the slide.
 * ------------------------------------------------------------------------- */

.polo-w-slides .nvm-slideshow,
.polo-w-slides .responsiville-slideshow {
    height: 100%;
}

.polo-w-slides .slide {
    overflow: hidden;
    height: 100%;
}

/* Until the slideshow script runs; then Responsiville stacks the slides (position: absolute). */
.polo-w-slides .slide:not(.responsiville-slideshow-slide) {
    position: relative;
}

.polo-w-slides .slide .image-box,
.polo-bg-slideshow .slide .image-box {
    position: absolute;
    inset: 0;
    margin: 0;
    width: 100%;
    height: 100%;
}

.polo-w-slides .slide img,
.polo-bg-slideshow .slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.polo-w-slides .slide-text:empty,
.polo-w-slides .slide-text:not(:has(*)) {
    display: none;
}

/* Background slideshow of a section: behind the section's content. */

.polo-has-bg-slideshow > .panel > .row > .polo-col:first-child > .column-content > .polo-bg-slideshow {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.polo-has-bg-slideshow > .panel {
    position: static;
}

.polo-has-bg-slideshow .polo-col > .column-content > :not(.polo-bg-slideshow) {
    position: relative;
    z-index: 1;
}



/* ----------------------------------------------------------------------------
 * Elementor transforms (scale, rotate, translate…) and absolute positioning.
 * ------------------------------------------------------------------------- */

.polo-w.e-transform {
    transform: perspective(var(--e-transform-perspective, 0)) rotate(var(--e-transform-rotateZ, 0)) rotateX(var(--e-transform-rotateX, 0)) rotateY(var(--e-transform-rotateY, 0)) translate(var(--e-transform-translate, 0)) translateX(var(--e-transform-translateX, 0)) translateY(var(--e-transform-translateY, 0)) scaleX(calc(var(--e-transform-flipX, 1) * var(--e-transform-scaleX, var(--e-transform-scale, 1)))) scaleY(calc(var(--e-transform-flipY, 1) * var(--e-transform-scaleY, var(--e-transform-scale, 1)))) skewX(var(--e-transform-skewX, 0)) skewY(var(--e-transform-skewY, 0));
    transform-origin: var(--e-transform-origin-y) var(--e-transform-origin-x);
}

.polo-con.e-transform {
    transform: perspective(var(--e-con-transform-perspective, 0)) rotate(var(--e-con-transform-rotateZ, 0)) rotateX(var(--e-con-transform-rotateX, 0)) rotateY(var(--e-con-transform-rotateY, 0)) translate(var(--e-con-transform-translate, 0)) translateX(var(--e-con-transform-translateX, 0)) translateY(var(--e-con-transform-translateY, 0)) scaleX(calc(var(--e-con-transform-flipX, 1) * var(--e-con-transform-scaleX, var(--e-con-transform-scale, 1)))) scaleY(calc(var(--e-con-transform-flipY, 1) * var(--e-con-transform-scaleY, var(--e-con-transform-scale, 1)))) skewX(var(--e-con-transform-skewX, 0)) skewY(var(--e-con-transform-skewY, 0));
    transform-origin: var(--e-con-transform-origin-y) var(--e-con-transform-origin-x);
}

.polo-w.elementor-absolute {
    position: absolute;
}

.polo-w.elementor-fixed {
    position: fixed;
}



/* ----------------------------------------------------------------------------
 * Image carousel widget (Elementor Swiper → Vanilla Slick): no Vanilla
 * figure chrome, slides touch like Elementor's.
 * ------------------------------------------------------------------------- */

.polo-w-image-carousel .figure-container {
    margin-bottom: 0;
}

.polo-w-image-carousel .image-box {
    aspect-ratio: auto;
}

.polo-variable-width .image-carousel-slide img {
    width: auto;
    max-width: none;
}



/* ----------------------------------------------------------------------------
 * Button widget alignment (Elementor's elementor-[device-]align-* classes;
 * the converted widget is Vanilla's .nvm-button-container).
 * ------------------------------------------------------------------------- */

.polo-w-button.nvm-button-container {
    display: block;
}

.polo-w-button.elementor-align-left { text-align: left; }
.polo-w-button.elementor-align-center { text-align: center; }
.polo-w-button.elementor-align-right { text-align: right; }
.polo-w-button.elementor-align-justify .nvm-button { width: 100%; }

@media ( max-width: 1919px ) {
    .polo-w-button.elementor-laptop-align-left { text-align: left; }
    .polo-w-button.elementor-laptop-align-center { text-align: center; }
    .polo-w-button.elementor-laptop-align-right { text-align: right; }
    .polo-w-button.elementor-laptop-align-justify .nvm-button { width: 100%; }
}

@media ( max-width: 1024px ) {
    .polo-w-button.elementor-tablet-align-left { text-align: left; }
    .polo-w-button.elementor-tablet-align-center { text-align: center; }
    .polo-w-button.elementor-tablet-align-right { text-align: right; }
    .polo-w-button.elementor-tablet-align-justify .nvm-button { width: 100%; }
}

@media ( max-width: 767px ) {
    .polo-w-button.elementor-mobile-align-left { text-align: left; }
    .polo-w-button.elementor-mobile-align-center { text-align: center; }
    .polo-w-button.elementor-mobile-align-right { text-align: right; }
    .polo-w-button.elementor-mobile-align-justify .nvm-button { width: 100%; }
}

/* Elementor's base button (.elementor-button) on the converted button link. */

.polo-w-button .nvm-button {
    display: inline-block;
    padding: 12px 24px;
    border: 0;
    border-radius: 3px;
    background-color: #69727d;
    box-shadow: none;
    color: #fff;
    fill: #fff;
    font-size: 15px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-shadow: none;
    transition: all 0.3s;
}

.polo-w-button .nvm-button:hover,
.polo-w-button .nvm-button:focus,
.polo-w-button .nvm-button:visited {
    color: #fff;
}

.polo-w-button .elementor-button-content-wrapper {
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: center;
}

.polo-w-button .elementor-button-icon {
    display: flex;
    align-items: center;
}

.polo-w-button .elementor-button-text {
    display: inline-block;
}



/* ----------------------------------------------------------------------------
 * Icon and nav menu widgets.
 * ------------------------------------------------------------------------- */

.polo-w-icon .elementor-icon {
    display: inline-block;
    color: var(--e-global-color-primary);
    font-size: 50px;
    line-height: 1;
    text-align: center;
}

.polo-w-icon .elementor-icon i,
.polo-w-icon .elementor-icon svg {
    display: block;
    position: relative;
    width: 1em;
    height: 1em;
}

.polo-w-nav-menu .elementor-nav-menu {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}

.polo-w-nav-menu .elementor-nav-menu--layout-vertical .elementor-nav-menu {
    flex-direction: column;
}

.polo-w-nav-menu .elementor-nav-menu li {
    display: block;
    position: relative;
}

.polo-w-nav-menu .elementor-item {
    display: flex;
    align-items: center;
    padding: 13px 20px;
    line-height: 20px;
    text-decoration: none;
}

.polo-w-nav-menu .sub-menu {
    display: none;
}

/* Elementor's "sticky" for a widget inside its parent column. */

.polo-w.polo-sticky {
    position: sticky;
    top: 200px;
    align-self: flex-start;
}



/* ----------------------------------------------------------------------------
 * Lazy background images of top-level containers (Elementor's "lazy load
 * background images": from the 4th container on — 3rd/2nd on short screens —
 * backgrounds load when the container nears the viewport; polo.content.js
 * adds .e-lazyloaded).
 * ------------------------------------------------------------------------- */

.polo-js .polo-top.polo-con:nth-of-type(n+4):not(.e-lazyloaded),
.polo-js .polo-top.polo-con:nth-of-type(n+4):not(.e-lazyloaded) * {
    background-image: none !important;
}

@media screen and (max-height: 1024px) {
    .polo-js .polo-top.polo-con:nth-of-type(n+3):not(.e-lazyloaded),
    .polo-js .polo-top.polo-con:nth-of-type(n+3):not(.e-lazyloaded) * {
        background-image: none !important;
    }
}

@media screen and (max-height: 640px) {
    .polo-js .polo-top.polo-con:nth-of-type(n+2):not(.e-lazyloaded),
    .polo-js .polo-top.polo-con:nth-of-type(n+2):not(.e-lazyloaded) * {
        background-image: none !important;
    }
}

.polo-w-icon .elementor-icon-wrapper {
    line-height: 1.618;
}

/* Elementor printed the icon as inline SVG: an inline-block whose baseline is
   its bottom edge. overflow:hidden gives the font icon the same baseline. */

.polo-w-icon .elementor-icon {
    overflow: hidden;
}

/* Linked converted image: figure > a > img, the link inline-block like
   Elementor's .elementor-widget-image a. */

.polo-image-link {
    display: inline-block;
}

/* Animated headline widget (Elementor Pro base styles). */

.polo-w .elementor-headline {
    display: block;
    font-size: 43px;
    line-height: 1.2;
}

.polo-w .elementor-headline-dynamic-wrapper {
    display: inline-block;
    position: relative;
}

.polo-w .elementor-headline-text-wrapper {
    vertical-align: bottom;
}

.polo-w .elementor-headline--style-highlight .elementor-headline-dynamic-wrapper {
    overflow: visible;
    text-align: inherit;
}

.polo-video-embed video {
    display: flex;
    background-color: #000;
    object-fit: cover;
}
