@charset "UTF-8";
/* Theme Name: HelloStarter 
 * Theme URI: https://pierwszastronamedalu.pl
 * Description: HelloStarter  theme
 * Author: Pierwszastronamedalu.pl
 * Author URI: https://pierwszastronamedalu.pl
 * Template: hello-elementor
 * Version: 1.0.1
 * Text Domain: HelloStarter */
.wpcf7 .wpcf7-row {
  margin: 0 0 10px 0;
}
.wpcf7 textarea {
  height: 150px;
}
.wpcf7 .wpcf-7-rodo {
  margin: 0 0 10px 0;
  line-height: 18px;
  font-size: 14px;
}
.wpcf7 .wpcf7-submit {
  background: none;
  border: none !important;
  opacity: 0.7;
}
.wpcf7 .wpcf7-submit:hover {
  opacity: 0.7;
}

.grecaptcha-badge {
  display: none !important;
  position: absolute !important;
  bottom: -100px !important;
  right: 9999px !important;
  z-index: -1;
}

mark {
  background: none !important;
}

/* --- Odstepy w tresciach (piny Piotra 2026-10-13, zasada dla calego serwisu) ---
   Akapit zawsze z odstepem 15 px pod soba, chyba ze zaraz pod nim jest lista (ul/ol) - wtedy lista
   przylega do akapitu, ktory ja zapowiada, a 15 px odstepu ma lista. Naglowek po tresci (akapicie,
   liscie) ma wolne miejsce nad soba. Reguly dotycza tylko dzieci bezposrednich tresci, wiec spis tresci
   (nav > p + ol) i pudelka wewnatrz tresci zostaja bez zmian. W polu tekstowym Elementora ostatni
   element nie ma dolnego marginesu - jednoakapitowe pola (karty, FAQ, stopka) wygladaja jak dotad.
   Kit Elementora zeruje margines akapitu (.elementor-kit-7 p), stad selektory mocniejsze niz kit.
   Zastepuje dawne przesuniecie listy (position:relative; top:-15px): dzialalo tylko dla ul,
   a lista pod naglowkiem wchodzila na naglowek. */
.elementor-widget-theme-post-content p,
.woocommerce-product-details__short-description p,
.elementor-widget-woocommerce-product-content p,
.elementor-widget-text-editor .elementor-widget-container > p {
  margin: 0 0 15px 0 !important;
}
:is(.elementor-widget-text-editor .elementor-widget-container,
    .elementor-widget-theme-post-content .elementor-widget-container,
    .elementor-widget-woocommerce-product-content .elementor-widget-container,
    .woocommerce-product-details__short-description,
    .psm-opis-archiwum) > :is(ul, ol) {
  margin: 2px 0 15px 0;
}
:is(.elementor-widget-text-editor .elementor-widget-container,
    .elementor-widget-theme-post-content .elementor-widget-container,
    .elementor-widget-woocommerce-product-content .elementor-widget-container,
    .woocommerce-product-details__short-description,
    .psm-opis-archiwum) > p:has(+ ul, + ol) {
  margin-bottom: 0 !important;
}
.elementor-widget-text-editor .elementor-widget-container > :is(p, ul, ol):last-child {
  margin-bottom: 0 !important;
}
:is(.elementor-widget-text-editor .elementor-widget-container,
    .elementor-widget-theme-post-content .elementor-widget-container,
    .elementor-widget-woocommerce-product-content .elementor-widget-container,
    .woocommerce-product-details__short-description,
    .psm-opis-archiwum) > :not(h1, h2, h3, h4, h5, h6) + :is(h2, h3, h4) {
  margin-top: 35px; /* tylko po tresci - H3 zaraz pod H2 zostaje przy swoim naglowku */
}

.woocommerce .psm_subcategories ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style-type: none !important;
  justify-content: center;
  align-items: center;
}
.woocommerce .psm_subcategories ul li {
  margin: 0;
  padding: 0;
}
.woocommerce .psm_subcategories ul li a {
  display: block;
  padding: 5px 12px 5px 12px;
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 5px;
  color: #666;
  font-weight: 500;
}
.woocommerce .psm_subcategories ul li a:hover {
  background: var(--e-global-color-primary);
  border: 2px solid #000;
  color: #fff;
}
.woocommerce ul.products img {
  margin: 0 !important;
}
.woocommerce ul.products .onsale {
  display: none !important;
}
.woocommerce ul.products .stock.in-stock {
  display: none;
}
.woocommerce ul.products .stock.out-of-stock {
  font-weight: 700;
  font-size: 20px;
}
.woocommerce .wc-proceed-to-checkout {
  text-align: center;
}
.woocommerce .wc-proceed-to-checkout .checkout-button {
  display: inline-block !important;
  padding: 15px 30px !important;
  background: var(--e-global-color-primary) !important;
  color: inherit;
}
.woocommerce .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--e-global-color-secondary) !important;
  color: #fff !important;
}
.woocommerce .return-to-shop .button.wc-backward {
  display: inline-block;
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
}
.woocommerce .return-to-shop .button.wc-backward:hover {
  background: var(--e-global-color-primary) !important;
  color: #000 !important;
}
.woocommerce .return-to-shop .button.wc-backward br {
  display: none;
}
.woocommerce .woocommerce-mini-cart__empty-message {
  visibility: hidden;
  position: relative;
  font-size: 0;
}
.woocommerce .woocommerce-mini-cart__empty-message:after {
  font-size: 16px;
  visibility: visible;
  position: relative;
  content: "Brak produktów w koszyku.";
}
.woocommerce .elementor-menu-cart--items-indicator-bubble .elementor-menu-cart__toggle .elementor-button-icon .elementor-button-icon-qty[data-counter] {
  min-width: 1.3em !important;
  height: 1.3em !important;
  line-height: 1.3em !important;
  font-size: 14px !important;
  font-family: "Barlow", sans-serif;
}

.quantity {
  display: flex;
  align-items: center;
  gap: 0;
}
.quantity input.qty {
  width: 50px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 0;
  height: 36px;
  font-size: 16px;
  -moz-appearance: textfield;
  padding: 0;
  margin: 0;
}
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.psm-qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #ccc;
  background: #f5f5f5;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  color: #333;
  transition: background 0.15s;
  flex-shrink: 0;
  line-height: 1;
  padding: 0;
}
.psm-qty-btn:hover {
  background: #e0e0e0;
}
.psm-qty-btn:active {
  background: #d0d0d0;
}

.psm-qty-minus {
  border-radius: 4px 0 0 4px;
  border-right: none;
}

.psm-qty-plus {
  border-radius: 0 4px 4px 0;
  border-left: none;
}

/* Elementor Pro daje `form.cart button:where(:not(:first-child))` margines
   `var(--button-spacing, 10px)` - regula jest dla "Dodaj do koszyka", ale lapie tez nasz "+"
   (minus jest pierwszym dzieckiem .quantity, wiec byl wyjety). Zerujemy tylko nasze przyciski;
   specyficznosc (0,6,2) bije regule Elementora (0,4,3) niezaleznie od kolejnosci arkuszy. */
.woocommerce div.product form.cart .quantity .psm-qty-btn.psm-qty-btn {
  margin: 0;
}

/* Ten sam widget daje polu ilosci `height:100%`, co bije `.quantity input.qty` (0,1,1).
   Input rosnie wtedy do wysokosci kontenera (37,38px) i przy `align-items:center`
   wystaje po ~0,7px nad i pod przyciski. Przywracamy stala wysokosc - (0,6,3). */
.woocommerce div.product form.cart .quantity input.qty.qty {
  height: 36px;
}
@media (max-width: 768px) {
  .woocommerce div.product form.cart .quantity input.qty.qty {
    height: 44px;
  }
}

/* Zoom po najechaniu zdjety (functions-woo.php) - razem z nim znika ikona lupy WooCommerce,
   wiec klikalnosc zdjecia sygnalizuje kursor. Klik otwiera lightbox (PhotoSwipe). */
.woocommerce div.product .woocommerce-product-gallery__image > a {
  cursor: zoom-in;
}

@media (max-width: 768px) {
  .psm-qty-btn {
    width: 44px;
    height: 44px;
    font-size: 22px;
  }
  .quantity input.qty {
    height: 44px;
    width: 56px;
    font-size: 18px;
  }
}
@media (max-width: 480px) {
  .woocommerce.single-product :is(.elementor-widget-woocommerce-product-add-to-cart, .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart, .woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart.variations_form .woocommerce-variation-add-to-cart,
  .woocommerce.single-product :is(.elementor-widget-woocommerce-product-add-to-cart, .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart, .elementor-widget-wc-add-to-cart, .woocommerce div.product .elementor-widget-wc-add-to-cart) form.cart:not(.grouped_form):not(.variations_form) {
    display: block !important;
  }
  .woocommerce.single-product .woocommerce div.product form.cart div.quantity {
    float: none !important;
    padding: 0 0 10px 0 !important;
  }
  .woocommerce.single-product .woocommerce div.product form.cart .button {
    float: none !important;
    margin-left: 0 !important;
  }
}

.woocommerce-cart form.woocommerce-cart-form table.shop_table thead tr th {
  background: var(--e-global-color-primary) !important;
  border: none !important;
  border-bottom: 1px solid #ccc !important;
  color: #fff !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr td {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid #ccc !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr td.product-thumbnail {
  padding: 5px 0 2px 0 !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr td.product-thumbnail img {
  width: 80px !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr td.product-name {
  font-weight: 600 !important;
  font-size: 17px !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody tr td.product-quantity br {
  display: none !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table .coupon {
  float: none !important;
  display: flex !important;
  justify-content: right !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table .coupon #coupon_code {
  width: 120px !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table .coupon button[type=submit] {
  border: 1px solid #000 !important;
  background: #000 !important;
  color: #fff !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table .coupon button[type=submit]:hover {
  border: 1px solid var(--e-global-color-secondary) !important;
  background: var(--e-global-color-secondary) !important;
  color: #fff !important;
}
.woocommerce-cart .cart-collaterals {
  text-align: center !important;
}
.woocommerce-cart .cart-collaterals h2 {
  text-transform: uppercase;
}
.woocommerce-cart .cart-collaterals table th {
  vertical-align: middle !important;
}
.woocommerce-cart .cart-collaterals table td {
  vertical-align: middle !important;
}
.woocommerce-cart .cart-collaterals table tr.cart-subtotal,
.woocommerce-cart .cart-collaterals table tr.woocommerce-shipping-totals {
  text-align: center !important;
}
.woocommerce-cart .cart-collaterals table tr.cart-subtotal ul li:last-child,
.woocommerce-cart .cart-collaterals table tr.woocommerce-shipping-totals ul li:last-child {
  margin: 0 !important;
}
.woocommerce-cart .cart-collaterals table tr.cart-subtotal ul li div,
.woocommerce-cart .cart-collaterals table tr.woocommerce-shipping-totals ul li div {
  display: none !important;
}
.woocommerce-cart .cart-collaterals table tr.cart-subtotal ul li p,
.woocommerce-cart .cart-collaterals table tr.woocommerce-shipping-totals ul li p {
  margin: 0 !important;
}
.woocommerce-cart .cart-collaterals table tr.cart-subtotal .woocommerce-shipping-destination,
.woocommerce-cart .cart-collaterals table tr.woocommerce-shipping-totals .woocommerce-shipping-destination {
  display: none;
}
.woocommerce-cart .cart-collaterals table tr.order-total {
  text-align: center !important;
}
.woocommerce-cart ul#shipping_method li input {
  vertical-align: middle !important;
  margin-top: 0 !important;
}
.woocommerce-cart .checkout-button br {
  display: none !important;
}
.woocommerce-cart form.woocommerce-cart-form table.shop_table tbody .coupon #coupon_code {
  width: 180px !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle {
  display: none !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order table th {
  text-transform: uppercase !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order table .cart_item {
  text-transform: uppercase !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order table tbody > tr:nth-child(odd) > td,
.woocommerce-checkout .woocommerce-checkout-review-order table table tbody > tr:nth-child(odd) > th {
  background: #fff !important;
}
.woocommerce-checkout #order_review {
  margin: 0 0 150px 0;
}
.woocommerce-checkout .woocommerce-shipping-methods input[type=radio] {
  vertical-align: middle !important;
  margin-top: 0 !important;
}
.woocommerce-checkout .place-order button {
  background: var(--e-global-color-primary) !important;
  color: #fff !important;
}
.woocommerce-checkout .place-order button:hover {
  background: var(--e-global-color-secondary) !important;
  color: #fff !important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper br {
  display: none;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a {
  color: #000 !important;
}

/* --- Ikony social jako heksagony (znak klienta) - pin 2026-09-15 --- */
/* Logo GabrielSafety to plaster 7 heksagonow "pointy-top": wierzcholek u gory i dolu,
   plaskie boki (zmierzone: 140x161 px, w/h = 0,87 = sqrt(3)/2). Ten sam ksztalt nadajemy ikonom. */
.elementor-social-icon {
  border-radius: 0 !important;
  -webkit-clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
/* animacja "shrink" Elementora skaluje element - clip-path jedzie razem z nim, wiec nic nie poprawiamy */

/* --- Hero: baner jak na zaslepce klienta (pin 2026-09-15) --- */
/* Tlo i znaczek jako tokeny, bo uzywa ich TAKZE pasek [hero_mini] pod headerem
   (hero/hero-bar.php, pin 2026-09-18) - data-URI heksagonow ma byc w jednym miejscu. */
:root {
  --gs-hero-bg:
    radial-gradient(900px 420px at 88% -12%, rgba(10, 225, 255, .16), transparent 62%),
    radial-gradient(700px 380px at 6% 8%, rgba(8, 69, 162, .07), transparent 60%),
    #f4f8fb;
  --gs-hex: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 84 76'><g fill='%2315baff'><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(29,16)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(55,16)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(16,38)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(42,38)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(68,38)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(29,60)'/><polygon points='0,-14 12.1,-7 12.1,7 0,14 -12.1,7 -12.1,-7' transform='translate(55,60)'/></g></svg>");
}

/* Klase .hero nadal Piotr w edytorze. Zrodlo wzoru: C:\_KLIENCI\gabrielsafety\zaslepka\index.html
   Tlo = dwa gradienty radialne na --bg-soft #f4f8fb; znaczek = plaster 7 heksagonow
   wypuszczony poza prawa krawedz, 13% krycia. Znaczek jako ::before z data-URI,
   zeby nie dokladac elementu do _elementor_data. */
.elementor .e-con.hero {
  position: relative;
  overflow: hidden;
  background: var(--gs-hero-bg, #f4f8fb);
  border-bottom: 1px solid #e3e9ef;
  padding-block: 64px;
}
.elementor .e-con.hero::before {
  content: "";
  position: absolute;
  left: auto;                    /* Elementor ustawia left:0 na ::before kontenera - bez tego "right" jest ignorowane */
  right: -60px;
  top: -40px;
  width: 420px;
  height: 380px;                 /* viewBox 84x76 -> 420 * 76/84 */
  background: var(--gs-hex) no-repeat center / contain;
  opacity: .13;
  pointer-events: none;
  z-index: 0;
}
.elementor .e-con.hero > * { position: relative; z-index: 1; }
/* Tlo hero na dalszych sekcjach strony (piny 2026-10-13: Oceny ryzyka, Uslugi i CTA na stronie glownej).
   Klasa globalna "hero" w Elementorze zeruje padding poziomy - baner ma odstep we wnetrzu, zwykle sekcje
   nie, wiec przywracamy 10 px jak w "s-" (na telefonie karty nie dotykaja krawedzi ekranu).
   "Dalsza" = ma wczesniejszy kontener-rodzenstwo; baner na gorze strony zostaje bez zmian. */
.elementor .e-con ~ .e-con.hero { padding-inline: 10px; }

@media (max-width: 860px) {
  .elementor .e-con.hero { padding-block: 46px; }
  .elementor .e-con.hero::before { width: 260px; height: 235px; right: -70px; opacity: .1; }
}

/* --- Sekcja z petla podstron (Page-Def) ---
   `psm-sekcja-podstron` nadaje sie kontenerowi z naglowkiem i petla w Elementorze - w V4
   atomowym pole nazywa sie "Identyfikator" (atrybut id), wiec regula lapie oba warianty.
   Na stronach bez podstron `body` dostaje `psm-bez-podstron` (functions-psm-page.php)
   i cala sekcja znika - sam widget petli by nie wystarczyl, bo naglowek zostalby widoczny. */
body.psm-bez-podstron .psm-sekcja-podstron,
body.psm-bez-podstron #psm-sekcja-podstron {
  display: none;
}

/* --- Stopka: to samo tlo co hero ---
   Elementor maluje glowny blok stopki regula `.elementor .e-2e47795-70a8f7a`
   (specyficznosc 0,2,0) z arkusza `local-53-frontend-desktop.css`, ktory laduje sie PO
   style.css. Dlatego selektor musi byc mocniejszy - `footer` + klasa lokacji + :first-child
   daje (0,3,1) i wygrywa niezaleznie od kolejnosci arkuszy.
   Drugi blok stopki (pasek z copyrightem) zostaje przezroczysty. */
footer.elementor-location-footer > .e-con:first-child {
  position: relative;
  overflow: hidden;
  background: var(--gs-hero-bg, #f4f8fb);
}
footer.elementor-location-footer > .e-con:first-child::before {
  content: "";
  position: absolute;
  left: auto;                    /* Elementor ustawia left:0 na ::before kontenera */
  /* dalej w prawo i slabiej niz w hero: w stopce kolumny siegaja krawedzi,
     wiec znaczek ma byc akcentem narozniku, a nie tekstura pod tekstem */
  right: -150px;
  top: -30px;
  width: 400px;
  height: 362px;
  background: var(--gs-hex) no-repeat center / contain;
  opacity: .1;
  pointer-events: none;
  z-index: 0;
}
footer.elementor-location-footer > .e-con:first-child > * {
  position: relative;
  z-index: 1;
}

@media (max-width: 860px) {
  footer.elementor-location-footer > .e-con:first-child::before {
    width: 260px;
    height: 235px;
    right: -70px;
    opacity: .1;
  }
}

/* Niepelny rzad kart wysrodkowany (pin 2026-09-22).

   Samo `justify-content: center` NIE WYSTARCZA. Elementor deklaruje tory jako
   `repeat(4, 1fr)` - ulamki zawsze wypelniaja kontener, wiec nawet przy dwoch kartach
   puste tory 3 i 4 dalej zajmuja szerokosc i wolnej przestrzeni do rozdzielenia nie ma
   (zmierzone: margines lewy 0, prawy 660 mimo `center`).

   `auto-fit` zwija tory, ktore zostaly bez elementu, i dopiero wtedy `justify-content`
   ma co centrowac. Szerokosc toru liczona jest tak, zeby karta miala DOKLADNIE ten sam
   rozmiar co przy komplecie - inaczej dwie karty rozlalyby sie na pol ekranu.

   UWAGA: wzor zalezy od odstepu miedzy kolumnami (20px, ustawiony w Elementorze).
   Po zmianie gapu trzeba poprawic tu liczbe. Breakpointy odwzorowuja te z Elementora
   (`elementor-grid-tablet-2`, `elementor-grid-mobile-1`), bo selektor z ID jest
   mocniejszy i bez tego reguly desktopowe zostalyby takze na telefonie. */
#psm-sekcja-podstron .ecs-posts,
.psm-sekcja-podstron .ecs-posts {
  grid-template-columns: repeat(auto-fit, calc((100% - 3 * 20px) / 4));
  justify-content: center;
}
@media (max-width: 1024px) {
  #psm-sekcja-podstron .ecs-posts,
  .psm-sekcja-podstron .ecs-posts {
    grid-template-columns: repeat(auto-fit, calc((100% - 20px) / 2));
  }
}
@media (max-width: 767px) {
  #psm-sekcja-podstron .ecs-posts,
  .psm-sekcja-podstron .ecs-posts {
    grid-template-columns: repeat(auto-fit, 100%);
  }
}

/* --- Uchwyty Elementora kontra `overflow: hidden` ---
   Sekcje `.hero` i glowny blok stopki maja `overflow: hidden`, zeby znaczek heksagonow
   nie wystawal poza strone. W PODGLADZIE EDYTORA to samo `overflow` przycina uchwyty kontenera
   (pasek "+ przesun x"), bo Elementor pozycjonuje je NAD gorna krawedzia elementu -
   przyciety pasek ladowal wtedy wizualnie w srodku sekcji zamiast przy jej gorze.
   Na froncie `overflow` zostaje; w podgladzie edytora jest wylaczany. */
body.psm-podglad-elementora .elementor .e-con.hero,
body.psm-podglad-elementora footer.elementor-location-footer > .e-con:first-child {
  overflow: visible;
}

/* --- Obrys i pasek sekcji w podgladzie edytora ---
   Elementor wstawia swoj obrys `.elementor-element-overlay` jako ZWYKLE DZIECKO
   w przeplywie, wiec `padding` kontenera spycha go w dol razem z paskiem "+ przesun x".
   Sekcje `.hero` maja `padding-block: 64px`, przez co pasek ladowal 41 px ponizej gornej
   krawedzi - wygladalo to, jakby nalezal do czegos w srodku sekcji.
   Zmierzone: padding 64px -> obrys na 252, pasek na 229; padding 0 -> obrys na 188 (gora
   sekcji), pasek na 165. Ustawienie obrysu na `absolute; inset: 0` daje ten sam efekt
   co zerowanie paddingu, ale BEZ ruszania ukladu - padding zostaje 64px.
   Dotyczy wylacznie podgladu edytora; front nie widzi tych elementow w ogole. */
body.psm-podglad-elementora .elementor .e-con.hero > .elementor-element-overlay {
  position: absolute;
  inset: 0;
}
