/*
 * Minimal stand-in for Elementor's frontend CSS, used only by the imported content pages
 * (pages/content.php). Values match what Porto + Elementor render on the live site.
 * Each page's own Elementor CSS (paddings, colours, backgrounds) is inlined by the template.
 */

.content-page { padding-top: 35px; padding-bottom: 40px; }
.content-page p { margin: 0 0 20px; } /* Porto's paragraph spacing */
.content-page ul, .content-page ol { margin: 0 0 16px; }
/* WordPress editor alignment classes */
.content-page .alignright { float: right; margin: 4px 0 7px 24px; }
.content-page .alignleft { float: left; margin: 4px 24px 7px 0; }
.content-page .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.elementor-clearfix::after { content: ''; display: block; clear: both; }

.elementor-section { position: relative; }
.elementor-section > .elementor-container { display: flex; margin: 0 auto; position: relative; }
/* Porto pads boxed top-level sections by the page gutter again */
.elementor-top-section.elementor-section-boxed > .elementor-container { padding: 0 var(--gutter); }
body:has(.elementor-section-stretched) { overflow-x: hidden; }
/* "Stretched" sections span the whole window (Elementor does this with JS) */
.elementor-section-stretched { width: 100vw; margin-left: calc(50% - 50vw); }
.elementor-section-full_width > .elementor-container { max-width: none; }
.elementor-section-height-full > .elementor-container { min-height: 100vh; }
.elementor-section-items-middle > .elementor-container { align-items: center; }
.elementor-background-overlay { position: absolute; inset: 0; pointer-events: none; }

.elementor-row { display: flex; flex: 1; width: 100%; }
.elementor-column-gap-default > .elementor-row { margin: 0 -10px; }
.elementor-column-gap-narrow > .elementor-row { margin: 0 -5px; }
.elementor-column-gap-extended > .elementor-row { margin: 0 -15px; }
.elementor-column-gap-wide > .elementor-row { margin: 0 -20px; }
.elementor-column-gap-wider > .elementor-row { margin: 0 -30px; }

.elementor-column { position: relative; display: flex; min-height: 1px; }
.elementor-column-wrap { position: relative; display: flex; width: 100%; }
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated { padding: 10px; }
.elementor-column-gap-narrow > .elementor-row > .elementor-column > .elementor-element-populated { padding: 5px; }
.elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated { padding: 15px; }
.elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated { padding: 20px; }
.elementor-column-gap-wider > .elementor-row > .elementor-column > .elementor-element-populated { padding: 30px; }
.elementor-widget-wrap { position: relative; display: flex; flex-wrap: wrap; align-content: flex-start; width: 100%; }

.elementor-col-10 { width: 10%; } .elementor-col-11 { width: 11.111%; } .elementor-col-12 { width: 12.5%; }
.elementor-col-14 { width: 14.285%; } .elementor-col-16 { width: 16.666%; } .elementor-col-20 { width: 20%; }
.elementor-col-25 { width: 25%; } .elementor-col-30 { width: 30%; } .elementor-col-33 { width: 33.333%; }
.elementor-col-40 { width: 40%; } .elementor-col-50 { width: 50%; } .elementor-col-60 { width: 60%; }
.elementor-col-66 { width: 66.666%; } .elementor-col-70 { width: 70%; } .elementor-col-75 { width: 75%; }
.elementor-col-80 { width: 80%; } .elementor-col-83 { width: 83.333%; } .elementor-col-90 { width: 90%; }
.elementor-col-100 { width: 100%; }

.elementor-widget { position: relative; width: 100%; }
.elementor-widget:not(:last-child) { margin-bottom: 20px; }
.elementor-widget-container { position: relative; }

.elementor-image { text-align: center; }
.elementor-image img, .elementor-widget-image img { display: inline-block; max-width: 100%; height: auto; vertical-align: middle; }
.elementor-image a { display: inline-block; }

.content-page .elementor-heading-title { margin: 0; padding: 0; line-height: 1; }
.elementor-spacer-inner { height: 10px; }

.elementor-align-left { text-align: left; } .elementor-align-center { text-align: center; }
.elementor-align-right { text-align: right; } .elementor-align-justify .elementor-button { width: 100%; }
.elementor-button {
    display: inline-block;
    padding: 12px 24px;
    font-size: 15px; line-height: 1; font-weight: 300;
    color: #fff; background: #61ce70; border-radius: 3px; /* Elementor's default button colour */
    text-align: center; transition: all .3s;
}
.elementor-button:hover { color: #fff; }
.elementor-button-content-wrapper { display: flex; justify-content: center; gap: 5px; }

.elementor-widget-video iframe, .elementor-widget-html iframe { max-width: 100%; }

.elementor-hidden-desktop { display: none; }
@media (max-width: 1024px) {
    .elementor-hidden-desktop { display: block; }
    .elementor-hidden-tablet { display: none; }
}
@media (max-width: 767px) {
    .elementor-row { flex-wrap: wrap; }
    .elementor-column { width: 100% !important; }
    .elementor-hidden-tablet { display: block; }
    .elementor-hidden-phone { display: none; }
}

/* Bootstrap-style grid used inside raw-HTML widgets (Porto ships Bootstrap; 20px gutter) */
.content-page .row { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.content-page .row > * { position: relative; width: 100%; padding: 0 10px; }
.content-page .col-1 { width: 8.3333%; } .content-page .col-2 { width: 16.6667%; } .content-page .col-3 { width: 25.0000%; } .content-page .col-4 { width: 33.3333%; } .content-page .col-5 { width: 41.6667%; } .content-page .col-6 { width: 50.0000%; } .content-page .col-7 { width: 58.3333%; } .content-page .col-8 { width: 66.6667%; } .content-page .col-9 { width: 75.0000%; } .content-page .col-10 { width: 83.3333%; } .content-page .col-11 { width: 91.6667%; } .content-page .col-12 { width: 100.0000%; }
@media (min-width: 576px) { .content-page .col-sm-1 { width: 8.3333%; } .content-page .col-sm-2 { width: 16.6667%; } .content-page .col-sm-3 { width: 25.0000%; } .content-page .col-sm-4 { width: 33.3333%; } .content-page .col-sm-5 { width: 41.6667%; } .content-page .col-sm-6 { width: 50.0000%; } .content-page .col-sm-7 { width: 58.3333%; } .content-page .col-sm-8 { width: 66.6667%; } .content-page .col-sm-9 { width: 75.0000%; } .content-page .col-sm-10 { width: 83.3333%; } .content-page .col-sm-11 { width: 91.6667%; } .content-page .col-sm-12 { width: 100.0000%; } }
@media (min-width: 768px) { .content-page .col-md-1 { width: 8.3333%; } .content-page .col-md-2 { width: 16.6667%; } .content-page .col-md-3 { width: 25.0000%; } .content-page .col-md-4 { width: 33.3333%; } .content-page .col-md-5 { width: 41.6667%; } .content-page .col-md-6 { width: 50.0000%; } .content-page .col-md-7 { width: 58.3333%; } .content-page .col-md-8 { width: 66.6667%; } .content-page .col-md-9 { width: 75.0000%; } .content-page .col-md-10 { width: 83.3333%; } .content-page .col-md-11 { width: 91.6667%; } .content-page .col-md-12 { width: 100.0000%; } }
@media (min-width: 992px) { .content-page .col-lg-1 { width: 8.3333%; } .content-page .col-lg-2 { width: 16.6667%; } .content-page .col-lg-3 { width: 25.0000%; } .content-page .col-lg-4 { width: 33.3333%; } .content-page .col-lg-5 { width: 41.6667%; } .content-page .col-lg-6 { width: 50.0000%; } .content-page .col-lg-7 { width: 58.3333%; } .content-page .col-lg-8 { width: 66.6667%; } .content-page .col-lg-9 { width: 75.0000%; } .content-page .col-lg-10 { width: 83.3333%; } .content-page .col-lg-11 { width: 91.6667%; } .content-page .col-lg-12 { width: 100.0000%; } }
@media (min-width: 1220px) { .content-page .col-xl-1 { width: 8.3333%; } .content-page .col-xl-2 { width: 16.6667%; } .content-page .col-xl-3 { width: 25.0000%; } .content-page .col-xl-4 { width: 33.3333%; } .content-page .col-xl-5 { width: 41.6667%; } .content-page .col-xl-6 { width: 50.0000%; } .content-page .col-xl-7 { width: 58.3333%; } .content-page .col-xl-8 { width: 66.6667%; } .content-page .col-xl-9 { width: 75.0000%; } .content-page .col-xl-10 { width: 83.3333%; } .content-page .col-xl-11 { width: 91.6667%; } .content-page .col-xl-12 { width: 100.0000%; } }
