// // Button groups // -------------------------------------------------- // Make the div behave like a button .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { position: relative; float: left; // Bring the "active" button to the front &:hover, &:focus, &:active, &.active { z-index: 2; } &:focus { // Remove focus outline when dropdown JS adds it after closing the menu outline: 0; } } } // Prevent double borders when buttons are next to each other .btn-group { .btn + .btn, .btn + .btn-group, .btn-group + .btn, .btn-group + .btn-group { margin-left: -1px; } } // Optional: Group multiple button groups together for a toolbar .btn-toolbar { margin-left: -5px; // Offset the first child's margin &:extend(.clearfix all); .btn-group, .input-group { float: left; } > .btn, > .btn-group, > .input-group { margin-left: 5px; } } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; &:not(:last-child):not(.dropdown-toggle) { .border-right-radius(0); } } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { .border-left-radius(0); } // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child { > .btn:last-child, > .dropdown-toggle { .border-right-radius(0); } } .btn-group > .btn-group:last-child > .btn:first-child { .border-left-radius(0); } // On active and open, don't show outline .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } // Sizing // // Remix the default button sizing classes into new ones for easier manipulation. .btn-group-xs > .btn { &:extend(.btn-xs); } .btn-group-sm > .btn { &:extend(.btn-sm); } .btn-group-lg > .btn { &:extend(.btn-lg); } // Split button dropdowns // ---------------------- // Give the line between buttons some depth .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } // The clickable button for toggling the menu // Remove the gradient and set the same inset shadow as the :active state .btn-group.open .dropdown-toggle { .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); // Show no shadow for `.btn-link` since it has no other button styles. &.btn-link { .box-shadow(none); } } // Reposition the caret .btn .caret { margin-left: 0; } // Carets in other button sizes .btn-lg .caret { border-width: @caret-width-large @caret-width-large 0; border-bottom-width: 0; } // Upside down carets for .dropup .dropup .btn-lg .caret { border-width: 0 @caret-width-large @caret-width-large; } // Vertical button groups // ---------------------- .btn-group-vertical { > .btn, > .btn-group, > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } // Clear floats so dropdown menus can be properly placed > .btn-group { &:extend(.clearfix all); > .btn { float: none; } } > .btn + .btn, > .btn + .btn-group, > .btn-group + .btn, > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } } .btn-group-vertical > .btn { &:not(:first-child):not(:last-child) { border-radius: 0; } &:first-child:not(:last-child) { border-top-right-radius: @border-radius-base; .border-bottom-radius(0); } &:last-child:not(:first-child) { border-bottom-left-radius: @border-radius-base; .border-top-radius(0); } } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { .border-bottom-radius(0); } } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { .border-top-radius(0); } // Justified button groups // ---------------------- .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; > .btn, > .btn-group { float: none; display: table-cell; width: 1%; } > .btn-group .btn { width: 100%; } > .btn-group .dropdown-menu { left: auto; } } // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the // `required` attribute, we have to "hide" the inputs via `opacity`. We cannot // use `display: none;` or `visibility: hidden;` as that also hides the popover. // This way, we ensure a DOM element is visible to position the popover from. // // See https://github.com/twbs/bootstrap/pull/12794 for more. [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { position: absolute; z-index: -1; .opacity(0); } .elementor-animation-grow-rotate { transition-duration: 0.3s; transition-property: transform; } .elementor-animation-grow-rotate:active, .elementor-animation-grow-rotate:focus, .elementor-animation-grow-rotate:hover { transform: scale(1.1) rotate(4deg); } {"id":95752,"date":"2026-03-20T14:16:13","date_gmt":"2026-03-20T13:16:13","guid":{"rendered":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/?p=95752"},"modified":"2026-05-03T11:28:33","modified_gmt":"2026-05-03T09:28:33","slug":"h1-petkit-intelligente-futterspender-und-423","status":"publish","type":"post","link":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/2026\/03\/20\/h1-petkit-intelligente-futterspender-und-423\/","title":{"rendered":"
Unregelm\u00e4\u00dfige Arbeitszeiten oder kurzfristige Abwesenheiten erschweren eine konsequente F\u00fctterung der Haustiere. Moderne automatische Futterspender geben Trockenfutter zu festgelegten Zeiten in exakt dosierten Portionen aus– per Application steuerbar auch aus der Ferne. So bleibt der F\u00fctterungsrhythmus auch bei \u00dcberstunden oder Kurztrips konstant. F\u00fcr smarte und zuverl\u00e4ssige Futterautomaten steht PETKIT<\/a> mit durchdachten L\u00f6sungen.<\/p>\n Viele Katzen und auch Hunde trinken zu wenig, was auf Dauer Nieren und Blase belastet. Ein Trinkbrunnen mit flie\u00dfendem Wasser weckt den nat\u00fcrlichen Spieltrieb und animiert zu h\u00e4ufigerem Trinken. Integrierte Aktivkohle- und Schaumstofffilter entziehen dem Wasser Schmutzpartikel, Chlor und Ger\u00fcche und sorgen hair reinen, frischen Geschmack. Hair eine optimale Fl\u00fcssigkeitsversorgung Ihres Tieres empfiehlt sich PETKIT<\/a> mit leisen, kabellosen Trinkbrunnen.<\/p>\n Das t\u00e4gliche Reinigen der Katzentoilette ist eine der l\u00e4stigsten Aufgaben f\u00fcr Katzenhalter. Automatische Toiletten erkennen den Kot- und Urinklumpen, trennen ihn mit einem Rechenmechanismus ab und entsorgen ihn in einen verschlossenen Beh\u00e4lter. Integrierte Sensoren verhindern den Begin der Reinigung, wenn die Katze noch auf dem Klo sitzt, und sorgen f\u00fcr absolute Sicherheit. Hair geruchsarme und selbstst\u00e4ndig arbeitende Katzentoiletten bietet PETKIT<\/a> moderne, appgesteuerte Modelle.<\/p>\n Wer pass away Aktivit\u00e4t, das Schlafverhalten oder das Gewicht seines Tieres im Blick behalten m\u00f6chte, setzt auf smarte Halsb\u00e4nder oder GPS-Tracker. Die Daten werden per Bluetooth oder WLAN an eine Application \u00fcbermittelt, pass away Bewegungsprofile erstellt und bei Abweichungen Alarm schlagen kann. So erkennen Sie fr\u00fchzeitig, ob sich Ihr Hund oder Ihre Katze weniger bewegt oder m\u00f6glicherweise krank ist. Die vernetzten Produkte von PETKIT<\/a> lassen sich bequem \u00fcber eine zentrale App steuern und \u00fcberwachen.<\/p>\nTrinkbrunnen mit Mehrfachfilterung hair frisches Wasser<\/h2>\n
Selbstreinigende Katzentoiletten hair maximale Health<\/h2>\n
Aktivit\u00e4tstracker und App-Kompatibilit\u00e4t f\u00fcr Gesundheitschecks<\/h2>\n
Worauf Sie bei smarten Haustierger\u00e4ten achten sollten<\/h2>\n