');mask-image:url('data:image/svg+xml;utf8, ');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}.wp-block-image :where(.has-border-color){border-style:solid}.wp-block-image :where([style*=border-top-color]){border-top-style:solid}.wp-block-image :where([style*=border-right-color]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-color]){border-left-style:solid}.wp-block-image :where([style*=border-width]){border-style:solid}.wp-block-image :where([style*=border-top-width]){border-top-style:solid}.wp-block-image :where([style*=border-right-width]){border-right-style:solid}.wp-block-image :where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-image :where([style*=border-left-width]){border-left-style:solid}.wp-block-image figure{margin:0}ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}.wp-block-latest-comments .wp-block-latest-comments{padding-left:0}.wp-block-latest-comments__comment{line-height:1.1;list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.has-dates .wp-block-latest-comments__comment,.has-excerpts .wp-block-latest-comments__comment{line-height:1.5}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;line-height:1.8;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-posts{box-sizing:border-box}.wp-block-latest-posts.alignleft{margin-right:2em}.wp-block-latest-posts.alignright{margin-left:2em}.wp-block-latest-posts.wp-block-latest-posts__list{list-style:none;padding-left:0}.wp-block-latest-posts.wp-block-latest-posts__list li{clear:both}.wp-block-latest-posts.is-grid{display:flex;flex-wrap:wrap;padding:0}.wp-block-latest-posts.is-grid li{margin:0 1.25em 1.25em 0;width:100%}@media (min-width:600px){.wp-block-latest-posts.columns-2 li{width:calc(50% - .625em)}.wp-block-latest-posts.columns-2 li:nth-child(2n){margin-right:0}.wp-block-latest-posts.columns-3 li{width:calc(33.33333% - .83333em)}.wp-block-latest-posts.columns-3 li:nth-child(3n){margin-right:0}.wp-block-latest-posts.columns-4 li{width:calc(25% - .9375em)}.wp-block-latest-posts.columns-4 li:nth-child(4n){margin-right:0}.wp-block-latest-posts.columns-5 li{width:calc(20% - 1em)}.wp-block-latest-posts.columns-5 li:nth-child(5n){margin-right:0}.wp-block-latest-posts.columns-6 li{width:calc(16.66667% - 1.04167em)}.wp-block-latest-posts.columns-6 li:nth-child(6n){margin-right:0}}.wp-block-latest-posts__post-author,.wp-block-latest-posts__post-date{display:block;font-size:.8125em}.wp-block-latest-posts__post-excerpt{margin-bottom:1em;margin-top:.5em}.wp-block-latest-posts__featured-image a{display:inline-block}.wp-block-latest-posts__featured-image img{height:auto;max-width:100%;width:auto}.wp-block-latest-posts__featured-image.alignleft{float:left;margin-right:1em}.wp-block-latest-posts__featured-image.alignright{float:right;margin-left:1em}.wp-block-latest-posts__featured-image.aligncenter{margin-bottom:1em;text-align:center}ol,ul{box-sizing:border-box}ol.has-background,ul.has-background{padding:1.25em 2.375em}.wp-block-media-text{box-sizing:border-box;
/*!rtl:begin:ignore*/direction:ltr;
/*!rtl:end:ignore*/display:grid;grid-template-columns:50% 1fr;grid-template-rows:auto}.wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr 50%}.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-top .wp-block-media-text__media{align-self:start}.wp-block-media-text .wp-block-media-text__content,.wp-block-media-text .wp-block-media-text__media,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-center .wp-block-media-text__media{align-self:center}.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__content,.wp-block-media-text.is-vertically-aligned-bottom .wp-block-media-text__media{align-self:end}.wp-block-media-text .wp-block-media-text__media{
/*!rtl:begin:ignore*/grid-column:1;grid-row:1;
/*!rtl:end:ignore*/margin:0}.wp-block-media-text .wp-block-media-text__content{direction:ltr;
/*!rtl:begin:ignore*/grid-column:2;grid-row:1;
/*!rtl:end:ignore*/padding:0 8%;word-break:break-word}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{
/*!rtl:begin:ignore*/grid-column:2;grid-row:1
/*!rtl:end:ignore*/}.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content{
/*!rtl:begin:ignore*/grid-column:1;grid-row:1
/*!rtl:end:ignore*/}.wp-block-media-text__media img,.wp-block-media-text__media video{height:auto;max-width:unset;vertical-align:middle;width:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media{background-size:cover;height:100%;min-height:250px}.wp-block-media-text.is-image-fill .wp-block-media-text__media>a{display:block;height:100%}.wp-block-media-text.is-image-fill .wp-block-media-text__media img{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@media (max-width:600px){.wp-block-media-text.is-stacked-on-mobile{grid-template-columns:100%!important}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{grid-column:1;grid-row:1}.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content{grid-column:1;grid-row:2}}.wp-block-navigation{--navigation-layout-justification-setting:flex-start;--navigation-layout-direction:row;--navigation-layout-wrap:wrap;--navigation-layout-justify:flex-start;--navigation-layout-align:center;position:relative}.wp-block-navigation ul{margin-bottom:0;margin-left:0;margin-top:0;padding-left:0}.wp-block-navigation ul,.wp-block-navigation ul li{list-style:none;padding:0}.wp-block-navigation .wp-block-navigation-item{align-items:center;display:flex;position:relative}.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty{display:none}.wp-block-navigation .wp-block-navigation-item__content{display:block}.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content{color:inherit}.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus{text-decoration:underline}.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus{text-decoration:line-through}.wp-block-navigation:where(:not([class*=has-text-decoration])) a{text-decoration:none}.wp-block-navigation:where(:not([class*=has-text-decoration])) a:active,.wp-block-navigation:where(:not([class*=has-text-decoration])) a:focus{text-decoration:none}.wp-block-navigation .wp-block-navigation__submenu-icon{align-self:center;background-color:inherit;border:none;color:currentColor;display:inline-block;font-size:inherit;height:.6em;line-height:0;margin-left:.25em;padding:0;width:.6em}.wp-block-navigation .wp-block-navigation__submenu-icon svg{stroke:currentColor;display:inline-block;height:inherit;margin-top:.075em;width:inherit}.wp-block-navigation.is-vertical{--navigation-layout-direction:column;--navigation-layout-justify:initial;--navigation-layout-align:flex-start}.wp-block-navigation.no-wrap{--navigation-layout-wrap:nowrap}.wp-block-navigation.items-justified-center{--navigation-layout-justification-setting:center;--navigation-layout-justify:center}.wp-block-navigation.items-justified-center.is-vertical{--navigation-layout-align:center}.wp-block-navigation.items-justified-right{--navigation-layout-justification-setting:flex-end;--navigation-layout-justify:flex-end}.wp-block-navigation.items-justified-right.is-vertical{--navigation-layout-align:flex-end}.wp-block-navigation.items-justified-space-between{--navigation-layout-justification-setting:space-between;--navigation-layout-justify:space-between}.wp-block-navigation .has-child .wp-block-navigation__submenu-container{align-items:normal;background-color:inherit;color:inherit;display:flex;flex-direction:column;height:0;left:-1px;opacity:0;overflow:hidden;position:absolute;top:100%;transition:opacity .1s linear;visibility:hidden;width:0;z-index:2}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{display:flex;flex-grow:1}.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon{margin-left:auto;margin-right:0}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content{margin:0}@media (min-width:782px){.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:-1px}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before{background:transparent;content:"";display:block;height:100%;position:absolute;right:100%;width:.5em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon{margin-right:.25em}.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg{transform:rotate(-90deg)}}.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{height:auto;min-width:200px;opacity:1;overflow:visible;visibility:visible;width:auto}.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container{left:0;top:100%}@media (min-width:782px){.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:100%;top:0}}.wp-block-navigation-submenu{display:flex;position:relative}.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{stroke:currentColor}button.wp-block-navigation-item__content{background-color:transparent;border:none;color:currentColor;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-align:left;text-transform:inherit}.wp-block-navigation-submenu__toggle{cursor:pointer}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle{padding-right:.85em}.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon{margin-left:-.6em;pointer-events:none}.wp-block-navigation .wp-block-page-list,.wp-block-navigation__container,.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-container,.wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-dialog{gap:inherit}:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)){padding:.5em 1em}:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content){padding:.5em 1em}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container{left:auto;right:0}.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:-1px;right:-1px}@media (min-width:782px){.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{left:auto;right:100%}}.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container{background-color:#fff;border:1px solid rgba(0,0,0,.15);color:#000}.wp-block-navigation__container{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial);list-style:none;margin:0;padding-left:0}.wp-block-navigation__container .is-responsive{display:none}.wp-block-navigation__container:only-child,.wp-block-page-list:only-child{flex-grow:1}@keyframes overlay-menu__fade-in-animation{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.wp-block-navigation__responsive-container{bottom:0;display:none;left:0;position:fixed;right:0;top:0}.wp-block-navigation__responsive-container .wp-block-navigation-link a{color:inherit}.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-align,initial);display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open){background-color:inherit!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open{animation:overlay-menu__fade-in-animation .1s ease-out;animation-fill-mode:forwards;background-color:inherit;display:flex;flex-direction:column;overflow:auto;padding:var(--wp--style--root--padding-top,2rem) var(--wp--style--root--padding-right,2rem) var(--wp--style--root--padding-bottom,2rem) var(--wp--style--root--padding-left,2rem);z-index:100000}@media (prefers-reduced-motion:reduce){.wp-block-navigation__responsive-container.is-menu-open{animation-delay:0s;animation-duration:1ms}}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:var(--navigation-layout-justification-setting,inherit);display:flex;flex-direction:column;flex-wrap:nowrap;overflow:visible;padding-top:calc(2rem + 24px)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{justify-content:flex-start}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container{border:none;height:auto;min-width:200px;opacity:1;overflow:initial;padding-left:2rem;padding-right:2rem;position:static;visibility:visible;width:auto}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{gap:inherit}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container{padding-top:var(--wp--style--block-gap,2em)}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content{padding:0}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list{align-items:var(--navigation-layout-justification-setting,initial);display:flex;flex-direction:column}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item .wp-block-navigation__submenu-container,.wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list{background:transparent!important;color:inherit!important}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:auto;right:auto}@media (min-width:600px){.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){background-color:inherit;display:block;position:relative;width:100%;z-index:auto}.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close{display:none}.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container{left:0}}.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open{background-color:#fff;color:#000}.wp-block-navigation__toggle_button_label{font-size:1rem;font-weight:700}.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{background:transparent;border:none;color:currentColor;cursor:pointer;margin:0;padding:0;text-transform:inherit;vertical-align:middle}.wp-block-navigation__responsive-container-close svg,.wp-block-navigation__responsive-container-open svg{fill:currentColor;display:block;height:24px;pointer-events:none;width:24px}.wp-block-navigation__responsive-container-open{display:flex}.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open{font-family:inherit;font-size:inherit;font-weight:inherit}@media (min-width:600px){.wp-block-navigation__responsive-container-open:not(.always-shown){display:none}}.wp-block-navigation__responsive-container-close{position:absolute;right:0;top:0;z-index:2}.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close{font-family:inherit;font-size:inherit;font-weight:inherit}.wp-block-navigation__responsive-close{margin-left:auto;margin-right:auto;max-width:var(--wp--style--global--wide-size,100%);width:100%}.wp-block-navigation__responsive-close:focus{outline:none}.is-menu-open .wp-block-navigation__responsive-close,.is-menu-open .wp-block-navigation__responsive-container-content,.is-menu-open .wp-block-navigation__responsive-dialog{box-sizing:border-box}.wp-block-navigation__responsive-dialog{position:relative}.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:46px}@media (min-width:782px){.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:32px}}html.has-modal-open{overflow:hidden}.wp-block-navigation .wp-block-navigation-item__label{overflow-wrap:break-word;word-break:normal}.wp-block-navigation .wp-block-navigation-item__description{display:none}.wp-block-navigation .wp-block-page-list{align-items:var(--navigation-layout-align,initial);background-color:inherit;display:flex;flex-direction:var(--navigation-layout-direction,initial);flex-wrap:var(--navigation-layout-wrap,wrap);justify-content:var(--navigation-layout-justify,initial)}.wp-block-navigation .wp-block-navigation-item{background-color:inherit}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}p.has-background{padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}.wp-block-post-author{display:flex;flex-wrap:wrap}.wp-block-post-author__byline{font-size:.5em;margin-bottom:0;margin-top:0;width:100%}.wp-block-post-author__avatar{margin-right:1em}.wp-block-post-author__bio{font-size:.7em;margin-bottom:.7em}.wp-block-post-author__content{flex-basis:0;flex-grow:1}.wp-block-post-author__name{margin:0}.wp-block-post-comments-form{box-sizing:border-box}.wp-block-post-comments-form[style*=font-weight] :where(.comment-reply-title){font-weight:inherit}.wp-block-post-comments-form[style*=font-family] :where(.comment-reply-title){font-family:inherit}.wp-block-post-comments-form[class*=-font-size] :where(.comment-reply-title),.wp-block-post-comments-form[style*=font-size] :where(.comment-reply-title){font-size:inherit}.wp-block-post-comments-form[style*=line-height] :where(.comment-reply-title){line-height:inherit}.wp-block-post-comments-form[style*=font-style] :where(.comment-reply-title){font-style:inherit}.wp-block-post-comments-form[style*=letter-spacing] :where(.comment-reply-title){letter-spacing:inherit}.wp-block-post-comments-form input[type=submit]{box-shadow:none;cursor:pointer;display:inline-block;overflow-wrap:break-word;text-align:center}.wp-block-post-comments-form input:not([type=submit]),.wp-block-post-comments-form textarea{border:1px solid #949494;font-family:inherit;font-size:1em}.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form textarea{padding:calc(.667em + 2px)}.wp-block-post-comments-form .comment-form input:not([type=submit]):not([type=checkbox]),.wp-block-post-comments-form .comment-form textarea{box-sizing:border-box;display:block;width:100%}.wp-block-post-comments-form .comment-form-author label,.wp-block-post-comments-form .comment-form-email label,.wp-block-post-comments-form .comment-form-url label{display:block;margin-bottom:.25em}.wp-block-post-comments-form .comment-form-cookies-consent{display:flex;gap:.25em}.wp-block-post-comments-form .comment-form-cookies-consent #wp-comment-cookies-consent{margin-top:.35em}.wp-block-post-comments-form .comment-reply-title{margin-bottom:0}.wp-block-post-comments-form .comment-reply-title :where(small){font-size:var(--wp--preset--font-size--medium,smaller);margin-left:.5em}.wp-block-post-date{box-sizing:border-box}.wp-block-post-excerpt{margin-bottom:var(--wp--style--block-gap);margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__excerpt{margin-bottom:0;margin-top:0}.wp-block-post-excerpt__more-text{margin-bottom:0;margin-top:var(--wp--style--block-gap)}.wp-block-post-excerpt__more-link{display:inline-block}.wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block}.wp-block-post-featured-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:transparent}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous{display:inline-block;margin-right:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-previous:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next{display:inline-block;margin-left:1ch}.wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap}.wp-block-post-title{box-sizing:border-box;word-break:break-word}.wp-block-post-title a{display:inline-block}.wp-block-preformatted{white-space:pre-wrap}.wp-block-preformatted.has-background{padding:1.25em 2.375em}.wp-block-pullquote{box-sizing:border-box;margin:0 0 1em;overflow-wrap:break-word;padding:3em 0;text-align:center}.wp-block-pullquote blockquote,.wp-block-pullquote cite,.wp-block-pullquote p{color:inherit}.wp-block-pullquote.alignleft,.wp-block-pullquote.alignright{max-width:420px}.wp-block-pullquote cite,.wp-block-pullquote footer{position:relative}.wp-block-pullquote .has-text-color a{color:inherit}.wp-block-pullquote.has-text-align-left blockquote{text-align:left}.wp-block-pullquote.has-text-align-right blockquote{text-align:right}.wp-block-pullquote.is-style-solid-color{border:none}.wp-block-pullquote.is-style-solid-color blockquote{margin-left:auto;margin-right:auto;max-width:60%}.wp-block-pullquote.is-style-solid-color blockquote p{font-size:2em;margin-bottom:0;margin-top:0}.wp-block-pullquote.is-style-solid-color blockquote cite{font-style:normal;text-transform:none}.wp-block-pullquote cite{color:inherit}.wp-block-post-template{list-style:none;margin-bottom:0;margin-top:0;max-width:100%;padding:0}.wp-block-post-template.wp-block-post-template{background:none}.wp-block-post-template.is-flex-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:1.25em}.wp-block-post-template.is-flex-container li{margin:0;width:100%}@media (min-width:600px){.wp-block-post-template.is-flex-container.is-flex-container.columns-2>li{width:calc(50% - .625em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-3>li{width:calc(33.33333% - .83333em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-4>li{width:calc(25% - .9375em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-5>li{width:calc(20% - 1em)}.wp-block-post-template.is-flex-container.is-flex-container.columns-6>li{width:calc(16.66667% - 1.04167em)}}.wp-block-query-pagination>.wp-block-query-pagination-next,.wp-block-query-pagination>.wp-block-query-pagination-numbers,.wp-block-query-pagination>.wp-block-query-pagination-previous{margin-bottom:.5em;margin-right:.5em}.wp-block-query-pagination>.wp-block-query-pagination-next:last-child,.wp-block-query-pagination>.wp-block-query-pagination-numbers:last-child,.wp-block-query-pagination>.wp-block-query-pagination-previous:last-child{margin-right:0}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-next:last-of-type{margin-inline-start:auto}.wp-block-query-pagination.is-content-justification-space-between>.wp-block-query-pagination-previous:first-child{margin-inline-end:auto}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow{display:inline-block;margin-right:1ch}.wp-block-query-pagination .wp-block-query-pagination-previous-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination .wp-block-query-pagination-next-arrow{display:inline-block;margin-left:1ch}.wp-block-query-pagination .wp-block-query-pagination-next-arrow:not(.is-arrow-chevron){transform:scaleX(1)}.wp-block-query-pagination.aligncenter{justify-content:center}.wp-block-query-title,.wp-block-quote{box-sizing:border-box}.wp-block-quote{overflow-wrap:break-word}.wp-block-quote.is-large:where(:not(.is-style-plain)),.wp-block-quote.is-style-large:where(:not(.is-style-plain)){margin-bottom:1em;padding:0 1em}.wp-block-quote.is-large:where(:not(.is-style-plain)) p,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) p{font-size:1.5em;font-style:italic;line-height:1.6}.wp-block-quote.is-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-large:where(:not(.is-style-plain)) footer,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) cite,.wp-block-quote.is-style-large:where(:not(.is-style-plain)) footer{font-size:1.125em;text-align:right}.wp-block-read-more{display:block;width:-moz-fit-content;width:fit-content}.wp-block-read-more:not([style*=text-decoration]),.wp-block-read-more:not([style*=text-decoration]):active,.wp-block-read-more:not([style*=text-decoration]):focus{text-decoration:none}ul.wp-block-rss{list-style:none;padding:0}ul.wp-block-rss.wp-block-rss{box-sizing:border-box}ul.wp-block-rss.alignleft{margin-right:2em}ul.wp-block-rss.alignright{margin-left:2em}ul.wp-block-rss.is-grid{display:flex;flex-wrap:wrap;list-style:none;padding:0}ul.wp-block-rss.is-grid li{margin:0 1em 1em 0;width:100%}@media (min-width:600px){ul.wp-block-rss.columns-2 li{width:calc(50% - 1em)}ul.wp-block-rss.columns-3 li{width:calc(33.33333% - 1em)}ul.wp-block-rss.columns-4 li{width:calc(25% - 1em)}ul.wp-block-rss.columns-5 li{width:calc(20% - 1em)}ul.wp-block-rss.columns-6 li{width:calc(16.66667% - 1em)}}.wp-block-rss__item-author,.wp-block-rss__item-publish-date{display:block;font-size:.8125em}.wp-block-search__button{margin-left:.625em;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;min-height:1.5em;min-width:1.5em;vertical-align:text-bottom}:where(.wp-block-search__button){border:1px solid #ccc;padding:.375em .625em}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search__input{border:1px solid #949494;flex-grow:1;margin-left:0;margin-right:0;min-width:3em;padding:8px;text-decoration:unset!important}.wp-block-search.wp-block-search__button-only .wp-block-search__button{margin-left:0}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){border:1px solid #949494;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 0 0 .25em}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:.125em .5em}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block-separator{border:1px solid;border-left:none;border-right:none}.wp-block-separator.is-style-dots{background:none!important;border:none;height:auto;line-height:1;text-align:center}.wp-block-separator.is-style-dots:before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-site-logo{box-sizing:border-box;line-height:0}.wp-block-site-logo a{display:inline-block}.wp-block-site-logo.is-default-size img{height:auto;width:120px}.wp-block-site-logo img{height:auto;max-width:100%}.wp-block-site-logo a,.wp-block-site-logo img{border-radius:inherit}.wp-block-site-logo.aligncenter{margin-left:auto;margin-right:auto;text-align:center}.wp-block-site-logo.is-style-rounded{border-radius:9999px}.wp-block-site-title a{color:inherit}.wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link a{padding:.25em}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:visited{fill:currentColor;color:currentColor}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link{background-color:#f0f0f0;color:#444}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-amazon{background-color:#f90;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-behance{background-color:#0757fe;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-etsy{background-color:#f45800;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-facebook{background-color:#1778f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-flickr{background-color:#0461dd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-foursquare{background-color:#e65678;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-github{background-color:#24292d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-google{background-color:#ea4434;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-instagram{background-color:#f00075;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-medium{background-color:#02ab6c;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-meetup{background-color:#f6405f;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-patreon{background-color:#ff424d;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pinterest{background-color:#e60122;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-pocket{background-color:#ef4155;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-reddit{background-color:#ff4500;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-skype{background-color:#0478d7;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-snapchat{stroke:#000;background-color:#fefc00;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-spotify{background-color:#1bd760;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-telegram{background-color:#2aabee;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tiktok{background-color:#000;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-tumblr{background-color:#011835;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitch{background-color:#6440a4;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-vk{background-color:#4680c2;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-yelp{background-color:#d32422;color:#fff}.wp-block-social-links:not(.is-style-logos-only) .wp-social-link-youtube{background-color:red;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link{background:none}.wp-block-social-links.is-style-logos-only .wp-social-link a{padding:0}.wp-block-social-links.is-style-logos-only .wp-social-link svg{height:1.25em;width:1.25em}.wp-block-social-links.is-style-logos-only .wp-social-link-amazon{color:#f90}.wp-block-social-links.is-style-logos-only .wp-social-link-bandcamp{color:#1ea0c3}.wp-block-social-links.is-style-logos-only .wp-social-link-behance{color:#0757fe}.wp-block-social-links.is-style-logos-only .wp-social-link-codepen{color:#1e1f26}.wp-block-social-links.is-style-logos-only .wp-social-link-deviantart{color:#02e49b}.wp-block-social-links.is-style-logos-only .wp-social-link-dribbble{color:#e94c89}.wp-block-social-links.is-style-logos-only .wp-social-link-dropbox{color:#4280ff}.wp-block-social-links.is-style-logos-only .wp-social-link-etsy{color:#f45800}.wp-block-social-links.is-style-logos-only .wp-social-link-facebook{color:#1778f2}.wp-block-social-links.is-style-logos-only .wp-social-link-fivehundredpx{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-flickr{color:#0461dd}.wp-block-social-links.is-style-logos-only .wp-social-link-foursquare{color:#e65678}.wp-block-social-links.is-style-logos-only .wp-social-link-github{color:#24292d}.wp-block-social-links.is-style-logos-only .wp-social-link-goodreads{color:#382110}.wp-block-social-links.is-style-logos-only .wp-social-link-google{color:#ea4434}.wp-block-social-links.is-style-logos-only .wp-social-link-instagram{color:#f00075}.wp-block-social-links.is-style-logos-only .wp-social-link-lastfm{color:#e21b24}.wp-block-social-links.is-style-logos-only .wp-social-link-linkedin{color:#0d66c2}.wp-block-social-links.is-style-logos-only .wp-social-link-mastodon{color:#3288d4}.wp-block-social-links.is-style-logos-only .wp-social-link-medium{color:#02ab6c}.wp-block-social-links.is-style-logos-only .wp-social-link-meetup{color:#f6405f}.wp-block-social-links.is-style-logos-only .wp-social-link-patreon{color:#ff424d}.wp-block-social-links.is-style-logos-only .wp-social-link-pinterest{color:#e60122}.wp-block-social-links.is-style-logos-only .wp-social-link-pocket{color:#ef4155}.wp-block-social-links.is-style-logos-only .wp-social-link-reddit{color:#ff4500}.wp-block-social-links.is-style-logos-only .wp-social-link-skype{color:#0478d7}.wp-block-social-links.is-style-logos-only .wp-social-link-snapchat{stroke:#000;color:#fff}.wp-block-social-links.is-style-logos-only .wp-social-link-soundcloud{color:#ff5600}.wp-block-social-links.is-style-logos-only .wp-social-link-spotify{color:#1bd760}.wp-block-social-links.is-style-logos-only .wp-social-link-telegram{color:#2aabee}.wp-block-social-links.is-style-logos-only .wp-social-link-tiktok{color:#000}.wp-block-social-links.is-style-logos-only .wp-social-link-tumblr{color:#011835}.wp-block-social-links.is-style-logos-only .wp-social-link-twitch{color:#6440a4}.wp-block-social-links.is-style-logos-only .wp-social-link-twitter{color:#1da1f2}.wp-block-social-links.is-style-logos-only .wp-social-link-vimeo{color:#1eb7ea}.wp-block-social-links.is-style-logos-only .wp-social-link-vk{color:#4680c2}.wp-block-social-links.is-style-logos-only .wp-social-link-whatsapp{color:#25d366}.wp-block-social-links.is-style-logos-only .wp-social-link-wordpress{color:#3499cd}.wp-block-social-links.is-style-logos-only .wp-social-link-yelp{color:#d32422}.wp-block-social-links.is-style-logos-only .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}.wp-block-social-links.is-style-pill-shape .wp-social-link a{padding-left:.66667em;padding-right:.66667em}.wp-block-spacer{clear:both}.wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;text-decoration:none}.wp-block-tag-cloud.is-style-outline{display:flex;flex-wrap:wrap;gap:1ch}.wp-block-tag-cloud.is-style-outline a{border:1px solid;font-size:unset!important;margin-right:0;padding:1ch 2ch;text-decoration:none!important}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit}.wp-block-text-columns,.wp-block-text-columns.aligncenter{display:flex}.wp-block-text-columns .wp-block-column{margin:0 1em;padding:0}.wp-block-text-columns .wp-block-column:first-child{margin-left:0}.wp-block-text-columns .wp-block-column:last-child{margin-right:0}.wp-block-text-columns.columns-2 .wp-block-column{width:50%}.wp-block-text-columns.columns-3 .wp-block-column{width:33.33333%}.wp-block-text-columns.columns-4 .wp-block-column{width:25%}pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit}.wp-block-video{box-sizing:border-box}.wp-block-video video{width:100%}@supports (position:sticky){.wp-block-video [poster]{-o-object-fit:cover;object-fit:cover}}.wp-block-video.aligncenter{text-align:center}.wp-block-video figcaption{margin-bottom:1em;margin-top:.5em}.wp-element-button{cursor:pointer}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}.has-text-align-center{text-align:center}.has-text-align-left{text-align:left}.has-text-align-right{text-align:right}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#ddd;-webkit-clip-path:none;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}figure{margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
body{--wp--preset--color--black:#000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#fff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,rgba(6,147,227,1) 0%,#9b51e0 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,#7adcb4 0%,#00d082 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,rgba(255,105,0,1) 0%,#cf2e2e 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,#eee 0%,#a9b8c3 100%);--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,#4aeadc 0%,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,#ffceec 0%,#9896f0 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,#fecda5 0%,#fe2d2d 50%,#6b003e 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,#ffcb70 0%,#c751c0 50%,#4158d0 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,#fff5cb 0%,#b6e3d4 50%,#33a7b5 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,#caf880 0%,#71ce7e 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,#020381 0%,#2874fc 100%);--wp--preset--duotone--dark-grayscale:url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale:url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow:url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red:url('#wp-duotone-blue-red');--wp--preset--duotone--midnight:url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow:url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green:url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange:url('#wp-duotone-blue-orange');--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0,0,0,.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0,0,0,.4);--wp--preset--shadow--sharp:6px 6px 0px rgba(0,0,0,.2);--wp--preset--shadow--outlined:6px 6px 0px -3px rgba(255,255,255,1),6px 6px rgba(0,0,0,1);--wp--preset--shadow--crisp:6px 6px 0px rgba(0,0,0,1)}:where(.is-layout-flex){gap:.5em}body .is-layout-flow>.alignleft{float:left;margin-inline-start:0;margin-inline-end:2em}body .is-layout-flow>.alignright{float:right;margin-inline-start:2em;margin-inline-end:0}body .is-layout-flow>.aligncenter{margin-left:auto !important;margin-right:auto !important}body .is-layout-constrained>.alignleft{float:left;margin-inline-start:0;margin-inline-end:2em}body .is-layout-constrained>.alignright{float:right;margin-inline-start:2em;margin-inline-end:0}body .is-layout-constrained>.aligncenter{margin-left:auto !important;margin-right:auto !important}body .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:var(--wp--style--global--content-size);margin-left:auto !important;margin-right:auto !important}body .is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size)}body .is-layout-flex{display:flex}body .is-layout-flex{flex-wrap:wrap;align-items:center}body .is-layout-flex>*{margin:0}:where(.wp-block-columns.is-layout-flex){gap:2em}.has-black-color{color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-color{color:var(--wp--preset--color--white) !important}.has-pale-pink-color{color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-color{color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple) !important}.has-black-background-color{background-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-background-color{background-color:var(--wp--preset--color--white) !important}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple) !important}.has-black-border-color{border-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-border-color{border-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-border-color{border-color:var(--wp--preset--color--white) !important}.has-pale-pink-border-color{border-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-border-color{border-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-border-color{border-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-border-color{border-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-border-color{border-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-border-color{border-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-border-color{border-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-border-color{border-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-border-color{border-color:var(--wp--preset--color--vivid-purple) !important}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important}.has-cool-to-warm-spectrum-gradient-background{background:var(--wp--preset--gradient--cool-to-warm-spectrum) !important}.has-blush-light-purple-gradient-background{background:var(--wp--preset--gradient--blush-light-purple) !important}.has-blush-bordeaux-gradient-background{background:var(--wp--preset--gradient--blush-bordeaux) !important}.has-luminous-dusk-gradient-background{background:var(--wp--preset--gradient--luminous-dusk) !important}.has-pale-ocean-gradient-background{background:var(--wp--preset--gradient--pale-ocean) !important}.has-electric-grass-gradient-background{background:var(--wp--preset--gradient--electric-grass) !important}.has-midnight-gradient-background{background:var(--wp--preset--gradient--midnight) !important}.has-small-font-size{font-size:var(--wp--preset--font-size--small) !important}.has-medium-font-size{font-size:var(--wp--preset--font-size--medium) !important}.has-large-font-size{font-size:var(--wp--preset--font-size--large) !important}.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large) !important}.wp-block-navigation a:where(:not(.wp-element-button)){color:inherit}:where(.wp-block-columns.is-layout-flex){gap:2em}.wp-block-pullquote{font-size:1.5em;line-height:1.6}
#avatar-manager img{margin:2px 0;vertical-align:middle}#avatar-manager label+a{display:inline-block;margin-top:-6px}#avatar-manager .delete{color:red;padding:2px}#avatar-manager .delete:hover{background:red;color:#fff;text-decoration:none}
div.wpcf7{margin:0;padding:0}div.wpcf7 .screen-reader-response{position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);height:1px;width:1px;margin:0;padding:0;border:0}div.wpcf7-response-output{margin:2em .5em 1em;padding:.2em 1em;border:2px solid red}div.wpcf7-mail-sent-ok{border:2px solid #398f14}div.wpcf7-mail-sent-ng,div.wpcf7-aborted{border:2px solid red}div.wpcf7-spam-blocked{border:2px solid orange}div.wpcf7-validation-errors,div.wpcf7-acceptance-missing{border:2px solid #f7e700}.wpcf7-form-control-wrap{position:relative}span.wpcf7-not-valid-tip{color:red;font-size:1em;font-weight:400;display:block}.use-floating-validation-tip span.wpcf7-not-valid-tip{position:absolute;top:20%;left:20%;z-index:100;border:1px solid red;background:#fff;padding:.2em .8em}span.wpcf7-list-item{display:inline-block;margin:0 0 0 1em}span.wpcf7-list-item-label:before,span.wpcf7-list-item-label:after{content:" "}.wpcf7-display-none{display:none}div.wpcf7 .ajax-loader{visibility:hidden;display:inline-block;background-image:url(//blog.smartbrain.io/wp-content/plugins/contact-form-7/includes/css/../../images/ajax-loader.gif);width:16px;height:16px;border:none;padding:0;margin:0 0 0 4px;vertical-align:middle}div.wpcf7 .ajax-loader.is-active{visibility:visible}div.wpcf7 div.ajax-error{display:none}div.wpcf7 .placeheld{color:#888}div.wpcf7 input[type=file]{cursor:pointer}div.wpcf7 input[type=file]:disabled{cursor:default}div.wpcf7 .wpcf7-submit:disabled{cursor:not-allowed}
.post-views.entry-meta>span{margin-right:0 !important;font:16px/1}.post-views.entry-meta>span.post-views-icon.dashicons{display:inline-block;font-size:16px;line-height:1;text-decoration:inherit;vertical-align:middle}
@font-face{font-family:Circe;src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.eot);src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.eot) format("embedded-opentype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.woff2) format("woff2"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.woff) format("woff"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.ttf) format("truetype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.svg#CRC55) format("svg")}@font-face{font-family:Circe-light;src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/CRC35.eot);src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.eot) format("embedded-opentype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.woff2) format("woff2"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.woff) format("woff"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.ttf) format("truetype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.svg#CRC35) format("svg")}@font-face{font-family:Circe-extra-light;src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.eot);src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.eot) format("embedded-opentype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.woff2) format("woff2"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.woff) format("woff"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.ttf) format("truetype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.svg#CRC25) format("svg")}@font-face{font-family:Circe-bold;src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.eot);src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.eot) format("embedded-opentype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.woff2) format("woff2"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.woff) format("woff"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.ttf) format("truetype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.svg#CRC25) format("svg")}@font-face{font-family:Circe-extra-bold;src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.eot);src:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.eot) format("embedded-opentype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.woff2) format("woff2"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.woff) format("woff"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.ttf) format("truetype"),url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.svg#CRC25) format("svg")}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2.45em;margin:.67em 0}}h4{font-size:18px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}body{min-width:340px;font-family:Circe,sans-serif;background:#f3f6f9}body.page,body.single{background:#fff}body h1,body h2,body h3,{font-weight:700}}body h4,body h5,body h6{font-weight:400}body .textwidget p{margin:0}body .wp-caption p.wp-caption-text{font-size:11px;line-height:17px;margin:0;padding:0 4px 5px}body .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}body .screen-reader-text:focus{background-color:#eee;clip:auto!important;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}body .sticky{color:0}body .gallery-caption{color:0}body .bypostauthor{color:0}body.page .menu-burger-box,body.single .menu-burger-box{color:#fff}body.page .menu-burger-box .burger span,body.single .menu-burger-box .burger span{background:#fff}.menu-burger-box{display:flex;align-content:center;cursor:pointer;color:#f3f6f9}.menu-burger-box h3{font-size:12px;font-family:Circe-extra-bold,sans-serif;padding-top:9px;padding-left:11px}.header nav{display:none}.header .container{display:flex;flex-wrap:wrap;padding:6px 15px 13px;justify-content:space-between}.header-logo{transition:all .2s;-webkit-transition:all .2s}.header-logo img{width:80px;margin-top:15px;margin-left:-24px}.header-logo:hover{transition:all .2s;-webkit-transition:all .2s;opacity:.8}.copyright-box,.email-box,.footer-center{text-align:left}.current-page{font-family:Circe-extra-bold,sans-serif;font-size:11px;text-transform:uppercase;padding-top:11px;padding-right:4px}.burger{text-align:center;width:12px;padding-top:12px;display:flex;align-content:center;flex-direction:row;flex-wrap:wrap}.burger span{display:block;width:100%;height:1px;background:#f3f6f9;margin-bottom:3px}.burger span:last-of-type{width:8px}.login-section,.main-header-nav{display:none}@media screen and (min-width:1000px){.header .login-section,.header .main-header-nav{display:block}.header .container{padding:6px 35px 26px;justify-content:flex-start}.header .current-page,.header .menu-burger-box{display:none}.header .header-logo{order:1}.header .main-header-nav{order:2}.header .main-header-nav ul{list-style:none;padding:0;margin:48px 0 0 238px;display:flex}.header .main-header-nav ul li{margin-right:85px}.header .main-header-nav ul li:first-of-type{margin-left:129px}.header .main-header-nav ul li:last-of-type{margin-right:0}.header .main-header-nav ul a{font-family:Circe-bold,sans-serif;color:#000;text-decoration:none;transition:all .5s}.header .main-header-nav ul a:hover{opacity:.6}.header .login-section{order:3}.header-logo img{width:138px;margin-top:33px;margin-left:-15px}.blue-line,.red-line{position:relative}.blue-line span,.red-line span{position:relative;z-index:1}.blue-line:after,.red-line:after{content:'';height:4px;width:calc(100% + 6px);position:absolute;bottom:4px;left:-3px;z-index:0}.red-line:after{background:#f59cb7}.blue-line:after{background:#6b88ff;opacity:.4}.login-section{margin-top:47px}.login-section a{color:#000;text-decoration:none;transition:all .3s;-webkit-transition:all .3s}.login-section a:hover{opacity:.8}.login-section .login-btn{position:relative;padding-right:43px}.login-section .login-btn:after{content:'';width:2px;height:40px;background:#ff4476;position:absolute;right:18px;top:-9px}.login-section .smartbrain{font-family:Circe-bold,sans-serif;margin-right:-2px;display:inline-block}.login-section .smartbrain .arrow{color:#ff4476}}@media screen and (min-width:1330px){.header .container{width:1310px;margin:0 auto;box-sizing:border-box;padding:6px 0 29px}.header-logo img{margin-left:0}}@media screen and (min-width:1350px){.header .container{width:1330px}}.footer{background:#fff}.footer .container{padding:33px 24px}.footer .copyright-box{margin-bottom:26px}.footer .copyright-box p,.footer .footer-center p{color:#363636;line-height:30px;margin:0}.footer .email-box .email,.footer a{margin-bottom:6px;display:inline-block;color:#6b88ff;text-decoration:none}.footer .email-box .email:hover,.footer a:hover{text-decoration:underline}.footer .email-box .legal-info{margin-bottom:16px;display:block;text-decoration:none}.footer .email-box .legal-info:hover{text-decoration:underline}@media screen and (min-width:600px){.footer{overflow:hidden}.footer .container{display:flex;justify-content:space-between;padding:33px 24px 0}.copyright-box,.email-box,.footer-center{width:100%}.footer-center{text-align:center}.email-box{text-align:right}}@media screen and (min-width:1000px){.copyright-box p br:first-of-type{display:none}.email-box{text-align:right;box-sizing:border-box;padding:4px 0 0 6px}.copyright-box,.email-box,.footer-center{width:30%}}@media screen and (min-width:1330px){.footer .container{width:1330px;margin:0 auto;box-sizing:border-box;padding:33px 64px 0}}@media screen and (min-width:1448px){.footer .container{width:1448px}.copyright-box,.email-box,.footer-center{width:33%}}.blog-slider-box{margin-bottom:33px;overflow:hidden}.blog-slider-box .slick-arrow{display:none!important}.blog-slider-box .blog-slide{min-height:520px;background-size:cover;background-position:center;text-align:center;padding-top:19px;padding-bottom:47px;color:#fff;box-sizing:border-box}.blog-slider-box .blog-slide .slide-content{height:430px;display:flex;flex-direction:column;align-items:center}.blog-slider-box .blog-slide p{font-size:24px;line-height:1.33;display:none}.blog-slider-box .blog-slide h3{font-size:24px;letter-spacing:.4px;margin-bottom:125px}.blog-slider-box .blog-slide h3 a{color:#fff;text-decoration:none}.blog-slider-box .blog-slide h3 a:hover{text-decoration:underline}.blog-slider-box .blog-slide h4{font-size:18px;margin-bottom:40px;letter-spacing:.4px}.blog-slider-box .blog-slide h4 a{color:#fff;text-decoration:none}.blog-slider-box .blog-slide h4 a:hover{text-decoration:underline}.blog-slider-box .blog-slide h2{font-size:32px;font-family:Circe-bold,sans-serif;line-height:1.25;margin-bottom:118px;padding:0 20px}.blog-slider-box .blog-slide .slider-read-more{color:#fff;padding:18px;border:2px solid #fff;border-radius:28px;height:56px;width:216px;display:inline-block;text-decoration:none;text-align:center;box-sizing:border-box;outline:0;transition:all .3s;-webkit-transition:all .3s;margin-top:auto}.blog-slider-box .blog-slide .slider-read-more:hover{background:#fff;color:#000}.blog-slider-box .slick-dots{list-style:none;position:absolute;width:100%;padding:0;margin:0;text-align:center;bottom:10px}.blog-slider-box .slick-dots li{padding:0;margin:0;width:8px;height:8px;display:inline-block;border:1px solid #fff;border-radius:50%;cursor:pointer;box-sizing:border-box;margin:0 4px}.blog-slider-box .slick-dots li button{display:none}.blog-slider-box .slick-dots li.slick-active{background:#fff}.blog-slider-box .blog-slide p,.blog-slider-box .blog-slide h1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;text-overflow:ellipsis;overflow:hidden}@media screen and (max-width:350px){.blog-slider-box .blog-slide h2{margin-bottom:78px}}@media screen and (min-width:600px){.blog-slider-box .blog-slide p{display:-webkit-box;font-size:16px;margin-bottom:60px;padding:0 20px}.blog-slider-box .blog-slide h2{margin-bottom:60px}}@media screen and (min-width:1000px){.blog-slider-box .slick-arrow{display:block!important;border:0;z-index:10;background-color:transparent;cursor:pointer;font-size:0;outline:0;-webkit-transition:opacity .3s;-moz-transition:opacity .3s;-ms-transition:opacity .3s;-o-transition:opacity .3s}.blog-slider-box .slick-arrow.slick-prev{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/chevron-left.svg);background-repeat:no-repeat;width:23px;height:41px;position:absolute;top:272px;left:79px}.blog-slider-box .slick-arrow.slick-next{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/chevron-right.svg);background-repeat:no-repeat;width:23px;height:41px;position:absolute;top:272px;right:75px}.blog-slider-box .slick-arrow:hover{opacity:.8}.blog-slider-box .blog-slide{min-height:568px}.blog-slider-box .blog-slide .slide-content{height:460px}.blog-slider-box .blog-slide h1{margin-bottom:50px;line-height:1.5}.blog-slider-box .blog-slide p{font-size:24px;padding:0 150px;margin-bottom:50px;line-height:1.5}.blog-slider-box .blog-slide h3{font-size:24px;margin-top:34px;margin-bottom:70px}.blog-slider-box .blog-slide h2{font-size:32px;line-height:1.17;padding:0 150px}.blog-slider-box .slick-dots{bottom:27px}}.blog-slider-box .blog-slide h1{padding:0 20px}@media screen and (min-width:1456px){.blog-slider-box .container{width:1456px;padding:0;margin:0 auto}.blog-slider-box .blog-slide p{padding:0 250px}.blog-slider-box .blog-slide h2{padding:0 200px}.blog-slider-box .blog-slide h1{padding:0 200px}}.blog-posts-section{overflow:hidden}.posts-header-tags ul{margin:0;padding:0;list-style:none;text-align:center;-webkit-transition:all .3s;-moz-transition:all .3s;-ms-transition:all .3s;-o-transition:all .3s;transition:all .3s}.posts-header-tags ul li{display:inline-block;margin-bottom:24px}.posts-header-tags ul li a{border-radius:28px;height:40px;display:inline-block;text-decoration:none;color:#8d97a1;padding:12px 51px;margin-right:12px;box-sizing:border-box;border:1px solid #bdc9d5;outline:0;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.posts-header-tags ul li a:hover{background:#bdc9d5;color:#fff;opacity:.8}.posts-header-tags ul li a:hover.active:hover{background:#bdc9d5;color:#fff;cursor:default;opacity:1}.posts-header-tags ul li a.active{background:#bdc9d5;color:#fff}.posts-header-tags ul li.more-tags{display:none;background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/more-tags.svg) no-repeat;width:40px;height:40px;vertical-align:bottom;cursor:pointer;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s;border-radius:50%}.posts-header-tags ul li.more-tags:hover{background-color:#ff00001c}.blog-posts{display:flex;justify-content:space-between;flex-wrap:wrap}.blog-post{background:#fff;border-radius:8px;width:312px;min-height:440px;position:relative;margin-bottom:23px;box-sizing:border-box;padding-bottom:60px}.blog-post>a{color:#000}.blog-post .__no_image .blog-post-title{margin-top:40px}.blog-post .blog-post-thumbnail{width:296px;height:248px;border-radius:4px;margin:8px 8px 20px;box-sizing:border-box;display:inline-block;overflow:hidden}.blog-post .blog-post-thumbnail .inner{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;-webkit-transition:all .3s;-moz-transition:all .3s;-ms-transition:all .3s;-o-transition:all .3s;transition:all .3s}.blog-post .blog-post-thumbnail .inner:hover{opacity:.7}.blog-post .blog-post-title{font-family:Circe-bold,sans-serif;padding:0 21px 0 24px;margin:0;display:inline-block;font-size:24px;line-height:1.34;box-sizing:border-box}.blog-post .blog-post-title span{border-bottom:1px solid transparent;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.blog-post .blog-post-title:hover span{border-bottom:1px solid #000;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.blog-post-meta{display:flex;align-content:center;position:absolute;bottom:17px;left:0;padding:0 22px 0 25px;width:100%;justify-content:space-between;box-sizing:border-box}.blog-post-meta .comments span,.blog-post-meta .date span,.blog-post-meta .views span{color:#92999d;line-height:1.5}.blog-post-meta .comments{margin-right:20px}.blog-post-meta .comments .icon-comments{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/comments.svg) no-repeat;width:12px;height:12px;display:inline-block;position:relative;top:2px;left:-4px}.blog-post-meta .views .icon-views{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/views.svg) no-repeat;width:12px;height:12px;display:inline-block;margin-right:7px;position:relative;top:2px}.blog-post-meta .icons-meta{display:flex}.pagination-container{text-align:center}.more-posts{position:relative;height:56px;border-radius:28px;background-color:#ff4476;color:#fff;line-height:1.5;padding:10px;border:none;margin:25px auto;cursor:pointer;outline:0;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.more-posts:hover{opacity:.9}.more-posts .ajax-loader{display:none;position:absolute;top:12px;right:20px}@media screen and (min-width:640px) and (max-width:1000px){.blog-post{margin-left:20px;margin-right:20px}.blog-posts{justify-content:center}.more-posts{margin-left:150px;margin-right:150px}}@media screen and (max-width:969px){.posts-header-tags ul.posts-tag-list{text-align:left;padding-left:16px;display:flex;align-items:center;width:100%;overflow:auto;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}.posts-header-tags ul.posts-tag-list::-webkit-scrollbar{display:none}.posts-header-tags ul.posts-tag-list a{font-size:12px;height:17px;padding:5px 24px 17px;margin-right:6px;white-space:nowrap}.blog-slider-box{margin-bottom:24px}.blog-posts{justify-content:center}.more-posts{margin-top:0;padding:17px 85px;margin-bottom:73px}}@media screen and (min-width:970px){.blog-posts-section .container{width:970px;margin:0 auto}.more-posts{width:200px;height:56px;display:flex;justify-content:space-around;align-items:center}.phone-image{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/subscribe.png) no-repeat;width:312px;height:347px;min-width:312px;background-size:contain}.posts-header-tags{margin-bottom:16px}.posts-header-tags ul{padding-left:0}.posts-header-tags ul li.not-active{display:none}.posts-header-tags ul li.more-tags{display:inline-block}.posts-header-tags ul li{margin-bottom:16px}}@media screen and (min-width:1001px){.blog-posts{justify-content:flex-start}.blog-post{margin-right:16px}.blog-post:nth-of-type(3n+3){margin-right:0}.more-posts .ajax-loader{right:auto}}.subscribe-section{overflow:hidden}.subscribe{margin-bottom:20px;margin-top:40px}.subscribe h3{font-size:24px;color:#363636;line-height:1.33;margin:0 0 7px}.subscribe p{line-height:1.5;color:#363636;display:inline-block;margin:0 0 16px}.subscribe form{position:relative}.subscribe .email-field{border-radius:4px;border:2px solid #f3f6f9;box-sizing:border-box;width:100%;padding:17px 24px;margin-bottom:24px;outline:0;transition:all .5s;height:60px}.subscribe .email-field.wpcf7-not-valid{border-color:red}.subscribe .email-field:focus{border:solid 2px #6b88ff}.subscribe .email-field::-webkit-input-placeholder{color:#010101;opacity:.2}.subscribe .email-field::-moz-placeholder{color:#010101;opacity:.2}.subscribe .email-field:-ms-input-placeholder{color:#010101;opacity:.2}.subscribe .email-field:-moz-placeholder{color:#010101;opacity:.2}.subscribe .btn-submit{border-radius:28px;background-color:#6b88ff;height:56px;max-width:312px;border:0;color:#fff;width:100%;cursor:pointer;outline:0;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.subscribe .btn-submit:disabled,.single-subscribe .btn-submit:disabled{background:#c2ceff}.subscribe .btn-submit:hover,.single-subscribe .btn-submit:hover{background:#8aa0fb}.subscribe .personal-data-box{margin-bottom:17px}.subscribe .personal-data-label{cursor:pointer;display:flex}.subscribe .personal-data-label .check-icon{width:16px;height:16px;display:inline-block;background:#fff}.subscribe .personal-data-label a{color:#6b88ff;line-height:1.5;text-decoration:none}.subscribe .personal-data-label a:hover{text-decoration:underline}.subscribe .personal-data-label span{padding-left:16px;display:inline-block;line-height:1.5;user-select:none}.subscribe .personal-data-checkbox{display:none}.subscribe .personal-data-checkbox:checked+.personal-data-label .check-icon{background:#6b88ff url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/checked.svg) no-repeat center center;background-size:11px}.subscribe .info-msg{display:none;margin:15px 0 0;font-size:15px}.subscribe .terms{display:none}.subscribe .ajax-loader{position:absolute;top:20px}.subscribe .wpcf7-not-valid-tip,.subscribe div.wpcf7-response-output{display:none!important}.subscribe-section .subscribe .personal-data-label span br,.single-subscribe .personal-data-label span br,{display:none}@media screen and (min-width:650px){.subscribe-section .container{margin:0 auto;display:flex}.subscribe-section .subscribe h3{font-size:24px;line-height:1.4;color:#000;margin-bottom:18px}.subscribe-section .subscribe p{font-size:18px;line-height:1.33;max-width:70%;margin-bottom:24px}.subscribe-section .subscribe .email-field{max-width:400px;padding:19px 21px 15px}.subscribe-section .subscribe form{display:flex;flex-wrap:wrap}.subscribe-section .subscribe form .email-field{margin-right:14px}.subscribe-section .subscribe .personal-data-box{order:2}.subscribe-section .subscribe .btn-submit{order:1;max-width:200px;margin-bottom:24px}.subscribe-section .subscribe .info-msg{margin:15px 0 0;font-size:15px}}@media screen and (min-width:655px){.subscribe-section .container{width:655px}}@media screen and (min-width:970px){.subscribe-section{padding-top:40px}.subscribe-section .container{width:970px}.subscribe-section .subscribe{margin-bottom:40px}.phone-image{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/subscribe.png) no-repeat;width:312px;height:347px;min-width:312px;background-size:contain;align-self:flex-end;margin-left:20px}}@media screen and (min-width:1155px){.subscribe-section{padding-top:110px}.subscribe-section .container{width:1155px;margin:0 auto;display:flex}.subscribe-section .phone-image{margin-left:0}}.banner{min-height:520px;text-align:center;background-color:#9e9e9e;background-size:cover;background-repeat:no-repeat;background-position:center;color:#fff;box-sizing:border-box;padding-bottom:30px}.single-banner .banner{display:flex;flex-direction:column}.banner h3{font-size:24px;font-family:Circe-bold,sans-serif;line-height:2;letter-spacing:.4px;display:inline-block;margin-top:28px;margin-bottom:50px}.banner h3 a{color:#fff;text-decoration:none}.banner h3 a:hover{text-decoration:underline}.banner h4{font-size:18px;font-family:Circe-bold,sans-serif;line-height:2;letter-spacing:.4px;display:inline-block;margin-top:28px;margin-bottom:80px}.banner h4 a{color:#fff;text-decoration:none}.banner h4 a:hover{text-decoration:underline}.banner h2{line-height:1.25;font-size:32px;font-family:Circe-bold,sans-serif;padding:0 20px;margin-bottom:113px}.banner h1{line-height:1.5;font-size:2.45em;font-family:Circe-bold,sans-serif;padding:0 20px;margin-bottom:140px}@media (min-width:1280px){.banner h1{padding:0 300px}}.banner .meta-info{text-align:center;padding:0 20px;display:flex;justify-content:center;margin-top:auto}.banner .meta-info>div{display:inline-block}.banner .i-comments-w{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/comments-white.svg) no-repeat;width:12px;height:12px;display:inline-block;position:relative;top:2px;margin-right:4px}.banner .i-views-w{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/views-white.svg) no-repeat;width:12px;height:12px;display:inline-block;position:relative;top:1px;margin-right:7px}.banner .date{margin-left:-3px;margin-right:33px}.banner .comments{margin-right:20px}@media screen and (min-width:550px){.banner h2{font-size:32px}}@media screen and (min-width:800px){.banner h3{font-size:24px;line-height:1.33;letter-spacing:.6px;margin-top:49px;margin-bottom:69px}.banner h2{font-size:32px;line-height:1.17;padding:0 5%}.banner .i-views-w{top:2px;margin-right:8px}}@media screen and (min-width:1100px){.banner h2{padding:0 15%;margin-bottom:84px}}@media screen and (min-width:1256px){.banner{min-height:500px}.banner h2{padding:0 21%}}@media screen and (min-width:1486px){.single-banner .container{width:1456px;margin:0 auto}}.related-posts-section{background-color:#f3f6f9;overflow:hidden}.related-posts-section h2{font-family:Circe-bold;font-size:32px;line-height:1.33;text-align:center;margin-bottom:15px;display:inline-block;width:100%}.related-posts-section .blog-post-title{text-align:left}.related-posts-section .slick-arrow,.related-posts-section .slick-dots{display:none!important}.related-posts-section .blog-post{min-height:440px!important;margin-right:8px;outline:0}.related-posts-section .blog-post a{outline:0}.related-posts-section .related-posts{padding-left:17px;margin-bottom:65px}@media screen and (min-width:1015px){.related-posts-section{padding-bottom:1px}.related-posts-section .container{width:980px;margin:0 auto}.related-posts-section h2{font-size:32px;line-height:1.29;margin-bottom:29px;margin-top:75px}.related-posts-section .related-posts{padding-left:0;margin-bottom:72px;position:relative;left:6px}.related-posts-section .blog-post{margin-right:16px}}@media screen and (min-width:1135px){.related-posts-section .slick-arrow{display:block!important;border:0;text-indent:-9999px;position:absolute;z-index:2;outline:0;transition:all .3s;-webkit-transition:all .3s;cursor:pointer}.related-posts-section .slick-arrow:hover{opacity:.8}.related-posts-section .slick-arrow.slick-prev{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/chevron-left-gray.svg) no-repeat;height:40px;width:25px;left:-67px;top:200px;background-size:21px}.related-posts-section .slick-arrow.slick-next{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/chevron-right-gray.svg) no-repeat;background-size:21px;height:40px;width:25px;right:-57px;top:200px}}.single-subscribe-section{background:#f3f6f9;max-width:1456px;margin:0 auto}.single-subscribe{padding:0 24px 24px;margin-bottom:33px}.single-subscribe h3{color:#363636;line-height:1.5;font-size:24px;font-family:Circe,sans-serif;font-weight:400;margin-top:24px;margin-bottom:10px;display:inline-block}.single-subscribe .email-field{height:56px;border-radius:4px;width:100%;padding:10px 23px;box-sizing:border-box;border:solid 2px #f3f6f9;margin-bottom:15px;outline:0;transition:all .5s}.single-subscribe .email-field.wpcf7-not-valid{border-color:red}.single-subscribe .email-field:focus{border:solid 2px #6b88ff}.single-subscribe .email-field::-webkit-input-placeholder{color:#010101;opacity:.2}.single-subscribe .email-field::-moz-placeholder{color:#010101;opacity:.2}.single-subscribe .email-field:-ms-input-placeholder{color:#010101;opacity:.2}.single-subscribe .email-field:-moz-placeholder{color:#010101;opacity:.2}.single-subscribe .personal-data-label{cursor:pointer;display:flex}.single-subscribe .personal-data-label .check-icon{width:16px;height:16px;display:inline-block;background:#fff}.single-subscribe .personal-data-label a{color:#6b88ff;line-height:1.5;text-decoration:none}.single-subscribe .personal-data-label a:hover{text-decoration:underline}.single-subscribe .personal-data-label span{padding-left:14px;display:inline-block;line-height:1.5}.single-subscribe .personal-data-checkbox{display:none}.single-subscribe .personal-data-checkbox{display:none}.single-subscribe .personal-data-checkbox:checked+.personal-data-label .check-icon{background:#6b88ff url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/checked.svg) no-repeat center center;background-size:11px}.single-subscribe form{position:relative}.single-subscribe .btn-submit{position:absolute;top:15px;right:16px;background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/blue-arrow.svg) no-repeat;width:24px;height:24px;border:0;text-indent:-99999px;cursor:pointer;outline:0;-webkit-transition:all .2s;-moz-transition:all .2s;-ms-transition:all .2s;-o-transition:all .2s;transition:all .2s}.single-subscribe .info-msg{position:absolute;display:none;margin:5px;font-size:15px}.single-subscribe .terms{display:none}.single-subscribe .ajax-loader{position:absolute;top:20px}.single-subscribe .wpcf7-response-output.wpcf7-validation-errors{display:none !important}@media screen and (min-width:900px){.single-subscribe-section .container{display:flex}.single-subscribe-section .phone-image{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/posts/single-subscribe.png) no-repeat;background-position:left -76px;margin-top:40px;min-width:271px;width:271px;height:207px;margin-left:80px;align-self:auto}.single-subscribe{margin-bottom:5px}.single-subscribe h3{font-size:24px;line-height:1.33}.single-subscribe .email-field{margin-bottom:8px;width:400px}}@media screen and (min-width:900px) and (max-width:1019px){.single-subscribe form{max-width:400px}}@media screen and (min-width:1020px){.single-subscribe .btn-submit{background-image:none;text-indent:0;height:56px;width:200px;color:#fff;border-radius:28px;background-color:#6b88ff;font-family:Circe-bold,sans-serif;top:0;left:370px}}.single-subscribe .personal-data-label span br{display:none}@media screen and (min-width:1200px){.single-subscribe-section .container{width:990px;margin:0 auto}.single-subscribe h3{margin-bottom:16px;margin-top:27px}.single-subscribe .personal-data-label span{padding-left:16px}}.post-section{margin-top:33px}.post-section .post-tags{padding:0 24px;text-align:center;margin-bottom:-15px}.post-section .post-tags ul{list-style:none;padding:0;display:flex;justify-content:center;margin:0;flex-wrap:wrap}.post-section .post-tags ul li{margin:0 10px 15px}.post-section .post-tags ul a{text-decoration:none;color:#8d97a1;font-size:12px;line-height:1.5;height:24px;border:1px solid #bdc9d5;border-radius:28px;padding:3px 20px;margin-top:0;display:inline-block;box-sizing:border-box;transition:all .2s;-webkit-transition:all .2s}.post-section .post-tags ul a:hover{background:#bdc9d5;color:#fff}.post-section.comments-area{margin-top:18px;margin-bottom:45px}.post-section.comments-area #disqus_thread{padding:0 15px}.socials{position:absolute;right:-51px;top:90px}.socials .icon{border-radius:32px;border:1px solid #bdc9d5;width:64px;height:64px;background-color:#fff;background-repeat:no-repeat;background-position:center;display:block;box-sizing:border-box;transition:background-color .2s;-webkit-transition:background-color .2s;cursor:pointer}.socials .icon.i-facebok{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/facebook.svg)}.socials .icon.i-vk{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/vk.svg)}.socials .icon.i-twitter{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/twitter.svg)}.socials .icon.i-telegram{background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/telegram.svg)}.socials div{display:flex;align-content:center;align-items:center;margin-bottom:8px}.socials div>span{font-size:12px;color:#7a7f82;line-height:1.34;margin-left:12px}.socials div:hover .i-facebok{border:1px solid #3a5998;background-color:#3a5998;background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/facebook-w.svg)}.socials div:hover .i-vk{border:1px solid #597ba0;background-color:#597ba0;background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/vk-w.svg)}.socials div:hover .i-twitter{border:1px solid #00aced;background-color:#00aced;background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/twitter-w.svg)}.socials div:hover .i-telegram{border:1px solid #41b4e6;background-color:#41b4e6;background-image:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/telegram-w.svg)}.author-section{padding:17px 11px 0 16px;margin-bottom:48px}.author-section .author-avatar{width:56px;height:56px;background-color:#92999d;border-radius:50%;background-size:contain;flex:0 0 56px}.author-section .author-box{display:flex;margin-bottom:31px}.author-section .initials{padding-left:17px;padding-top:8px}.author-section .initials .name{color:#6b88ff;line-height:1.5;text-decoration:none;margin-bottom:3px;display:inline-block;border-bottom:1px solid transparent;transition:all .2s;-webkit-transition:all .2s}.author-section .initials .name:hover{border-bottom:1px solid #6b88ff;transition:all .2s;-webkit-transition:all .2s}.author-section .initials .profession{color:#363636}.author-section .redaction-opinion{line-height:1.34;font-size:12px;color:#7a7f82}.author-section .redaction-opinion a{color:#6b88ff}.author-section .redaction-opinion a:hover{text-decoration:none}.post-content{padding:0 16px}.post-content h3{font-family:Circe;font-weight:400;font-size:24px;line-height:1.34;margin-bottom:15px;color:#363636}.post-content .post-subtitle{text-align:center}.post-content p{line-height:1.5;margin-top:0;color:#000;padding-bottom:9px}.post-content .empty-paragraph{margin:0;padding:0}.post-content h2{margin-top:27px;margin-bottom:24px;color:#000;line-height:1.33;font-size:32px;font-family:Circe-bold}.post-content strong{font-family:Circe-bold}.post-content .vk-banner{padding-top:7px;margin-bottom:30px;text-align:center}.post-content .vk-banner img{width:100%}.post-content .vk-banner p{font-size:12px;line-height:1.34;color:#7a7f82;text-align:center}.post-content .comment-banner{margin-bottom:40px}.post-content .comment-banner img{max-width:100%;margin:0 auto;display:block}.post-content .comment-banner p{color:#7a7f82;line-height:1.34;font-size:12px;text-align:center;margin-top:8px}.post-content blockquote{color:#363636;border-left:4px solid #ff4476;padding-left:24px;box-sizing:border-box;margin:0 0 48px;padding:12px 24px 8px}.post-content blockquote span{margin-bottom:2px;display:inline-block}.post-content blockquote a{color:#ff4476;line-height:1.5}.post-content blockquote a:hover{text-decoration:none}.post-content blockquote p{margin:0!important;padding:0!important}.post-content figure{max-width:100%;margin-top:25px!important;margin-bottom:36px!important;width:100%!important}.post-content img{max-width:100%;height:auto}.post-content figcaption{margin:10px auto;width:90%;color:#7a7f82;line-height:1.34;font-size:12px;text-align:center}.post-content p:blank{color:red}.post-content ul li{line-height:1.5}.post-content .aligncenter{margin:0 auto;text-align:center}.post-content .alignleft{margin:0 auto;text-align:left}.post-content .alignright{margin:0 auto;text-align:right}@media screen and (min-width:660px){.post-section.comments-area{margin-top:18px;margin-bottom:45px}.post-section.comments-area #disqus_thread{padding:0 57px}.author-section{display:flex;justify-content:space-between;align-items:flex-start;align-content:flex-start;padding:51px 11px 0 43px}.author-section .author-box{min-width:300px}.author-section .author-box .author-avatar{width:96px;height:96px;flex:0 0 96px;margin-top:10px}.author-section .author-box .name{font-size:18px;line-height:24px}.author-section .author-box .profession{line-height:1.5;font-size:16px}.author-section .author-box .initials{padding-left:21px}.author-section .redaction-opinion{border-left:2px solid #dee4ea;max-width:360px;margin-right:36px;margin-top:7px;padding:9px 3px 7px 22px;box-sizing:border-box}}@media screen and (max-width:999px){.post-section p{margin-bottom:14px}.post-section p.text-1{margin-bottom:66px}.post-section .content-list br{display:none}}@media screen and (min-width:1000px){.post-section{margin-top:49px}.post-section .container{width:970px;margin:0 auto;position:relative}.post-section .post-tags{margin-bottom:27px}.post-section .post-tags ul a{font-size:16px;line-height:2;color:#8d97a1;height:40px;padding:4px 45px}.post-section .post-content h3{padding:0 20px;margin-bottom:38px}.post-section .post-content h2{font-size:32px;line-height:1.25;padding:0 32px;margin-top:15px;margin-bottom:33px}.post-section .post-content p{padding:0 32px;margin-bottom:24px}.post-section .post-content p.text-1{margin-bottom:74px;padding:0 32px}.post-section .post-content .vk-banner{padding-top:12px}.post-section .post-content .vk-banner img{display:block;margin:0 auto;max-width:100%;width:auto}.post-section .post-content .vk-banner p{max-width:700px;padding:14px 87px;box-sizing:border-box;margin:0 auto}.post-section .post-content ul{list-style:none;margin-top:23px}.post-section .post-content ul.content-list{margin-bottom:76px}.post-section .post-content ul li{line-height:1.5;font-size:16px;position:relative;padding-left:27px;padding-right:27px;box-sizing:border-box}.post-section .post-content ul li:before{content:'';display:block;position:absolute;left:4px;top:8px;width:4px;height:4px;background:#000;border-radius:50%}.post-section .post-content .title-2{margin-bottom:36px}.post-section .post-content blockquote{padding:8px 24px 8px;margin-left:32px;margin-bottom:34px}.post-section .post-content figure{max-width:100%;margin-bottom:40px!important}.post-section .post-content figcaption{margin:8px auto 10px;width:75%;color:#7a7f82;line-height:1.34;font-size:12px;text-align:center}.post-section .post-content img{max-width:100%;width:auto}.post-section .post-content .comment-banner{padding-top:16px}.post-section .post-content .comment-banner img{margin:0 auto;display:block}.post-section .post-content img{margin-top:16px}}@media screen and (max-width:1160px){.socials{display:none}}@media screen and (min-width:1360px){.socials{right:-181px;top:90px}}.specialists{padding-bottom:54px;background:#f2f5f9}.specialists-inner{background-color:#f3f6f9;padding-bottom:31px}.specialists-inner h2{font-family:Circe-bold;font-size:32px;line-height:1.33;text-align:center;display:inline-block;width:100%;margin-top:32px;margin-bottom:16px}.specialists-inner .make-an-order{margin-top:33px}.specialists-inner .make-an-order a{border-radius:28px;background-color:#ff4476;height:56px;line-height:1.5;font-family:Circe-bold;font-size:16px;text-align:center;text-decoration:none;line-height:56px;color:#fff;border:0;min-width:312px;margin:0 auto;display:block;box-sizing:border-box;transition:all .2s;-webkit-transition:all .2s;cursor:pointer;outline:0}.specialists-inner .make-an-order a:hover{opacity:.8}.specialists-inner .people-box{display:flex;justify-content:center;padding-left:16px}.specialists-inner .people-box .human-card{background:#fff;padding:16px;width:232px;box-sizing:border-box;min-height:376px;margin-right:16px;border-radius:8px;outline:0;text-decoration:none}.specialists-inner .people-box .human-card:last-of-type{margin-right:0}.specialists-inner .people-box .human-card:hover .photo{opacity:.8}.specialists-inner .people-box .human-card .photo-wrap{width:200px;height:200px;margin-bottom:16px;overflow:hidden}.specialists-inner .people-box .human-card .photo{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;transition:all .3s}.specialists-inner .people-box .human-card .name{font-family:Circe-bold;font-size:16px;line-height:1.5;color:#010101;display:block}.specialists-inner .people-box .human-card .profession{font-size:16px;line-height:18px;color:#010101;display:block;margin-bottom:13px}.specialists-inner .people-box .human-card .exp,.specialists-inner .people-box .human-card .n-projects{line-height:1.34;opacity:.6;color:#000;font-size:12px}.specialists-inner .people-box .human-card .skills{display:flex;flex-wrap:wrap;margin:0;padding:0}.specialists-inner .people-box .human-card .skills li{color:#6b88ff;line-height:1.2;font-size:14px;letter-spacing:-.4px;margin-right:3px}.specialists-inner .people-box .human-card .skills li a{color:#6b88ff;text-decoration:none}.specialists-inner .people-box .human-card .skills li a:hover{text-decoration:underline}.specialists-inner .people-box .human-card .i-time{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/time.svg) no-repeat;width:8px;height:8px;display:inline-block;margin-right:8px}.specialists-inner .people-box .human-card .i-pojects{background:url(//blog.smartbrain.io/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/hr-check.svg) no-repeat;width:8px;height:8px;display:inline-block;margin-right:4px;position:relative;top:1px}.specialists-inner .people-box .human-card .n-projects{margin-right:15px}.specialists-inner .people-box .human-card .meta{display:flex;justify-content:space-between;margin-bottom:14px}.specialists-inner .people-box .human-card .skills{list-style:none}@media screen and (min-width:732px){.specialists-inner .people-box{width:732px;margin:0 auto;padding-left:0}.specialists-inner h2{font-size:32px;line-height:1.5;margin-top:32px;margin-bottom:8px}.make-an-order{margin-top:33px}.make-an-order a{width:400px;min-width:auto}}@media screen and (min-width:950px){.specialists{background:0 0}.specialists .container{width:912px;margin:0 auto}.specialists-inner{border-radius:8px}}@font-face{font-family:icomoon;src:url(/wp-content/themes/rubrain-blog/assets/fonts/IcoMoon/IcoMoon-Free.eot);src:url(/wp-content/themes/rubrain-blog/assets/fonts/IcoMoon/IcoMoon-Free.eot#iefix) format('embedded-opentype'),url(/wp-content/themes/rubrain-blog/assets/fonts/IcoMoon/IcoMoon-Free.ttf) format('truetype'),url(/wp-content/themes/rubrain-blog/assets/fonts/IcoMoon/IcoMoon-Free.woff) format('woff'),url(/wp-content/themes/rubrain-blog/assets/fonts/IcoMoon/IcoMoon-Free.svg#icomoon) format('svg');font-weight:400;font-style:normal;font-display:block}[class*=" icon-"],[class^=icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-mob-user:before{content:"\e934"}.icon-arrow-bold{position:relative;right:3px;font-size:10px;-webkit-transform:rotate(90deg);transform:rotate(90deg);display:inline-block;color:#d2deea;width:inherit;height:inherit;-webkit-transition:.3s;transition:.3s;z-index:30}.icon-arrow-bold:before{content:"\e938"}.header .login-button{height:40px;color:#6b88ff;border:1px solid #6b88ff;background:0 0;padding:0 16px;width:100%;cursor:pointer;border-radius:52px;-webkit-transition:.3s;transition:.3s;outline:0 !important;white-space:nowrap;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;overflow:hidden;text-overflow:ellipsis;-webkit-box-pack:center;justify-content:center}.header .login-button .icon-mob-user{font-size:8px;margin-right:.5rem}.author-section .initials .name{cursor:text}.author-section .initials .name:hover{border-bottom:1px solid transparent}@media screen and (min-width:1000px){.header .container{width:1340px}.header .header-logo{padding-left:12px}.header .header-logo img{width:150px;margin-top:10px}.header .main-header-nav{-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;-webkit-box-flex:1;flex:1 1 50%;-webkit-box-pack:justify;justify-content:space-between}.header .main-header-nav ul{margin:15px 0 0 47px}.header .main-header-nav ul li:first-of-type{margin-left:0}.header .main-header-nav ul li{margin-right:48px}.green-line:after{background:linear-gradient(to right,rgba(92,231,147,.5),rgba(92,231,147,.5))}.header .right-col{margin-top:14px;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;order:3;margin-left:auto}.header .blog{margin-right:32px;font-weight:700;color:#010101;text-decoration:none;transition:.3s all}.header .blog:hover{color:#ff4476}.header .services{position:relative;margin-right:64px;display:flex;font-weight:700;font-size:16px;cursor:pointer;transition:.3s all}.header .services .label{position:relative;z-index:30;padding-right:16px;display:inline}.header .services .label:hover{color:#ff4476}.header .services.active .icon{left:3px;transform:rotate(-90deg)}.header .services-submenu{top:-18px;left:-123px;width:210px;position:absolute;box-shadow:0 3px 50px 0 rgba(107,136,255,.2);background:#fff;z-index:1003;padding:51px 16px 13px;border-radius:8px;display:-webkit-box;display:flex;flex-direction:column;text-align:right;box-sizing:border-box;z-index:10}.header .services-submenu .services-submenu-item a{display:block;padding:8px 24px 14px 10px;cursor:pointer;-webkit-transition:.3s;transition:.3s;font-weight:400;color:#000;white-space:nowrap;border-bottom:1px solid var(--input-focus-border-color);text-decoration:none;transition:.3s all}.header .services-submenu .services-submenu-item a:hover{color:#6b88ff;background:0 0}.mobile-menu-wrap{display:none}}@media (max-width:1340px) and (min-width:1000px){.header .container{width:100%;box-sizing:border-box;justify-content:space-between}.header .main-header-nav{flex:none}.header .services{margin-right:25px}.header .main-header-nav ul{margin:15px 0 0}}@media (max-width:999px) and (min-width:300px){header .right-col{display:none}header .burger{width:16px}header .container{align-items:center}header .burger span{height:2px;background:#000}.mobile-menu-wrap{display:block;position:relative;z-index:99;position:fixed;top:0;left:0;width:205px;height:100%;background:#fff;opacity:1;overflow-y:scroll}.mobile-menu-wrap .menu-wrap{padding:32px 0;margin-top:56px;height:calc(100% - 118px)}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap{height:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:justify;justify-content:space-between}.mobile-menu-close{position:absolute;line-height:24px;font-size:15px;font-weight:700;position:absolute;left:9px;top:19px;display:block;margin-left:12px;color:#000;text-decoration:none}.mobile-menu-close span{position:relative;display:inline-block;top:3px;font-size:30px;font-weight:500;line-height:10px;padding-right:5px}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap ul{margin:0;padding:0;list-style:none}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap li{margin-bottom:19px;padding-left:40px}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap li a{font-size:15px;color:#000;text-decoration:none;font-weight:700;background-position:0 .95em;background-repeat:repeat-x;background-size:8px 4px}.green{background-image:-webkit-gradient(linear,left top,right top,from(rgba(92,231,147,.5)),to(rgba(92,231,147,.5)));background-image:linear-gradient(to right,rgba(92,231,147,.5),rgba(92,231,147,.5))}.red{background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,68,118,.5)),to(rgba(255,68,118,.5)));background-image:linear-gradient(to right,rgba(255,68,118,.5),rgba(255,68,118,.5))}.blue{background-image:-webkit-gradient(linear,left top,right top,from(rgba(107,136,255,.5)),to(rgba(107,136,255,.5)));background-image:linear-gradient(to right,rgba(107,136,255,.5),rgba(107,136,255,.5))}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap .landings-block{cursor:pointer}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap .landings-block .icon{color:#6b88ff}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap .landings-block .label{margin-right:16px;font-size:15px;color:#000;font-weight:700}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap .mobile-submenu-services{margin-bottom:10px;padding:24px 0;color:#3f4040;backdrop-filter:blur(9px);background-color:#f5f8f9}.mobile-menu-wrap .menu-wrap .sandwich-menu-wrap .mobile-submenu-services li a{color:#3f4040;font-weight:400}.mobile-menu-socials{margin-left:35px;display:inline-block}.mobile-menu-socials a:first-child{margin-left:0}.mobile-menu-socials a{display:-webkit-inline-box;display:inline-flex;margin-left:2px}.mobile-submenu-active .icon{transform:rotate(-90deg)}body{min-width:auto}body.mobile-menu-active{overflow:hidden}body.page .menu-burger-box,body.single .menu-burger-box{color:#f3f6f9}body.page .menu-burger-box .burger span,body.single .menu-burger-box .burger span{background:#000}.mobile-menu-active .menu-burger-box:before{content:'';opacity:.5;top:0;right:0;position:absolute;display:block;height:100%;width:calc(100% - 150px);background:#000;z-index:99}.header .login-button{height:24px;font-weight:400}.header-logo img{width:113px;margin-top:12px;margin-left:0}}.post-section ol li{margin-bottom:20px}.rubrain_breadcrumbs{text-align:center;margin:30px 0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap}.rubrain_breadcrumbs .breadcrumbs__link{color:#6b88ff;text-decoration:none;display:inline-block;margin-bottom:5px;font-size:18px}.rubrain_breadcrumbs .breadcrumbs__separator{display:inline-block;width:20px;height:2px;background:#f1f1f1;margin:-4px 5px 0}.rubrain_breadcrumbs .breadcrumbs__current{font-size:18px;color:#8d97a1;margin-bottom:5px}@media screen and (max-width:600px){.rubrain_breadcrumbs .breadcrumbs__current{padding:0 10px}}.iframe-holder{position:relative;padding-bottom:56.25%;height:0}.iframe-holder iframe{position:absolute;top:0;left:0;width:100%;height:100%}.subscribe-section{margin-bottom:90px}span.wpcf7-not-valid-tip{font-size:14px}.subscribe-section .wpcf7-list-item label,.single-subscribe .wpcf7-list-item label{display:flex;align-items:center}.single-subscribe .personal-data-label>span{display:flex;flex-direction:column}.single-subscribe-section+footer,.blog-posts-section+.single-subscribe-section{margin-top:90px}@media (max-width:767px){.subscribe{padding:0 20px}.subscribe-section .subscribe .btn-submit{position:static !important}.subscribe-section{margin-bottom:30px}.single-subscribe-section+footer,.blog-posts-section+.single-subscribe-section{margin-top:30px}.footer-box-1{width:100%}}.footer-contacts{gap:10px}.footer-contacts>div:first-child{flex-basis:50px !important;flex-grow:0 !important}.footer-contacts>div:first-child p{margin:4px 0 0}footer p,footer a,.footer .copyright-box p,.footer .footer-center p{font-weight:400;font-size:16px;line-height:24px;color:#33353c}#modal-3{display:none}#modal-3.is-open{display:block}.modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:9999}.modal__container{background-color:#fff;padding:30px;max-width:580px;max-height:100vh;border-radius:4px;overflow-y:auto;box-sizing:border-box}.modal__header{display:flex;justify-content:space-between;align-items:center}.modal__title{word-break:break-word;font-size:32px;font-weight:700}.modal__close{background:0 0;border:0}.modal__header .modal__close:before{content:"\2715"}.modal__content{margin-top:2rem;margin-bottom:2rem;line-height:1.5;color:rgba(0,0,0,.8)}.modal__btn{font-size:.875rem;padding-left:1rem;padding-right:1rem;padding-top:.5rem;padding-bottom:.5rem;background-color:#e6e6e6;color:rgba(0,0,0,.8);border-radius:.25rem;border-style:none;border-width:0;cursor:pointer;-webkit-appearance:button;text-transform:none;overflow:visible;line-height:1.15;margin:0;will-change:transform;-moz-osx-font-smoothing:grayscale;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out}.modal__btn:focus,.modal__btn:hover{-webkit-transform:scale(1.05);transform:scale(1.05)}.modal__btn-primary{background-color:#00449e;color:#fff}.footer-modal{cursor:pointer}@keyframes mmfadeIn{from{opacity:0}to{opacity:1}}@keyframes mmfadeOut{from{opacity:1}to{opacity:0}}@keyframes mmslideIn{from{transform:translateY(15%)}to{transform:translateY(0)}}@keyframes mmslideOut{from{transform:translateY(0)}to{transform:translateY(-10%)}}.micromodal-slide{display:none}.micromodal-slide.is-open{display:block}.micromodal-slide[aria-hidden=false] .modal__overlay{animation:mmfadeIn .3s cubic-bezier(0,.0,.2,1)}.micromodal-slide[aria-hidden=false] .modal__container{animation:mmslideIn .3s cubic-bezier(0,0,.2,1)}.micromodal-slide[aria-hidden=true] .modal__overlay{animation:mmfadeOut .3s cubic-bezier(0,.0,.2,1)}.micromodal-slide[aria-hidden=true] .modal__container{animation:mmslideOut .3s cubic-bezier(0,0,.2,1)}.micromodal-slide .modal__container,.micromodal-slide .modal__overlay{will-change:transform}.address-popup__address-country{margin-bottom:8px;font-weight:700;font-size:24px}.address-popup__address{margin-bottom:24px}.address-popup__address-phone{color:#33353c;text-decoration:none}.address-popup__addresses{margin-top:32px}.address-popup__address p{margin:0}div.wpcf7-mail-sent-ok{display:none !important}
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;left:0;top:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{content:"";display:table}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{float:left;height:100%;min-height:1px;display:none}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}div.scrollWrapper{position:relative;overflow:hidden;width:100%;height:100%}div.scrollableArea{position:relative;width:auto;height:100%}.blog-slide{display:none}.blog-slide:first-child,.blog-slide.slick-slide{display:block}.single-subscribe .personal-data-label .check-icon,.subscribe .personal-data-label .check-icon{width:18px;height:18px;position:relative;top:2px;border:2px solid #f3f6f9;box-sizing:border-box}.subscribe-section .subscribe .btn-submit{padding:0 60px;font-size:70%;position:relative;left:-40px;top:2px}.subscribe-section .subscribe .email-field{padding:16px 21px 13px}
.wrap[_ngcontent-my-app-c6]>[_ngcontent-my-app-c6]{display:-webkit-box;display:flex}.f-col-1[_ngcontent-my-app-c6]{max-width:336px}.f-col-2[_ngcontent-my-app-c6]{max-width:448px}.footer-center{text-align:left;line-height:1.5}.f-col-3[_ngcontent-my-app-c6]{max-width:312px}.f-col-4[_ngcontent-my-app-c6]{max-width:232px}.email-box{text-align:left}.f-col-3 li{list-style:none}.copyright-box,.email-box,.footer-center .footer-social{width:100%}.copyright-box,.email-box,.footer-center{width:100%}.social-link{margin-right:8px;display:-webkit-inline-box;display:inline-flex;vertical-align:middle}.email-box ul{margin:-7px;line-height:13px}@media (max-width:768px){.header .header-logo img{width:150px;margin-top:15px!important}.footer-container{grid-template-columns:1fr;margin-bottom:50px;grid-gap:24px;font-size:14px;line-height:1.5;display:grid!important;padding:0 29px!important}.blue{background-image:none}}@media (min-width:769px) and (max-width:1020px){.copyright-box,.email-box,.footer-center .footer-social{width:50%}.footer-container{padding:0 29px!important;font-size:15px}.blue{background-image:none}}.footer .container{padding:53px 20px}.more-posts.header-create-project{height:40px;margin:0;width:auto;padding:0 45px;top:-10px}.header .main-header-nav ul{margin:25px 0 0 110px}.header .services{margin-right:0}.header .login-button{height:22px;color:#000;border:0;background:0 0;font-weight:700;font-size:18px;padding:0;border-radius:0}.header .login-button img{padding-right:8px;position:relative;top:-2px}.main-header-nav{font-size:17px}.header .main-header-nav ul li{margin-right:48px}.header .blog{margin-right:0}.blog-post .blog-post-title:hover span{border-bottom:none}.blog-post .blog-post-title span{border-bottom:none}.blog-post .blog-post-title{overflow:hidden;text-overflow:ellipsis;display:-moz-box;-moz-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-clamp:4;box-orient:vertical}.blog-post>a{color:#000;text-decoration:none}:root{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}.footer-container{display:flex;flex-wrap:wrap;max-width:83em;margin:0 auto;padding:4em 0}[class*=footer-box-]{flex:100%}[class*=footer-box-]>ul{list-style:none;padding-left:0;margin:0;font-size:.875rem}[class*=footer-box-]>ul>li+li{margin-top:1em}[class*=footer-box-]>h3,[class*=footer-box-]>ul>li>a{color:#fff;text-transform:uppercase}[class*=footer-box-]>ul>li>a{text-decoration:none}@media screen and (min-width:40rem){[class*=footer-box-]{flex:50%}}@media screen and (min-width:60rem){[class*=footer-box-1]{flex:40%}[class*=footer-box-2]{flex:50%}[class*=footer-box-3]{flex:12%}[class*=footer-box-4]{flex:23%}.social-box{text-align:right}.footer .container{width:1382px}}@media screen and (min-width:1280px){.f-col-4.ng-star-inserted{display:block;width:90%}.header .container{width:1340px;padding:0 40px}}.footer{overflow:hidden;background:#f3f6f9}[class*=footer-box-]{min-height:100px}.related-posts-section .blog-post{min-height:470px !important;margin-right:8px;outline:0}.blog-slider-box .blog-slide{position:relative}.blog-slider-box .blog-slide:before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;z-index:1;background:rgba(0,0,0,.5)}.slide-content{z-index:2;position:relative;text-shadow:1px 1px 2px #000,0 0 1em #000}.banner{position:relative}.banner:before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;z-index:1;background:rgba(0,0,0,.5)}.banner-content{z-index:2;position:relative;text-shadow:1px 1px 2px #000,0 0 1em #000}.meta-info{position:relative;z-index:2}.login-button{font-size:16px !important}.blog-slider-box{margin-top:30px}.icon.icon-arrow-bold{color:#000}.label{padding-right:5px !important}.more-posts.header-create-project{font-weight:400;font-size:16px;font-family:Circe,sans-serif}.services-submenu-item{font-weight:400;font-size:16px;font-family:Circe,sans-serif}.sub-link{font-family:Circe,sans-serif!important}@media screen and (min-width:1000px){.header .services-submenu{top:40px;left:-70px;width:210px;position:absolute;box-shadow:0 3px 50px 0 rgba(107,136,255,.2);background:#fff;z-index:1003;padding:25px 16px 13px;border-radius:8px;display:-webkit-box;display:flex;flex-direction:column;text-align:left;box-sizing:border-box;z-index:10}.header .services-submenu .services-submenu-item a{display:block;padding:8px 24px 14px;cursor:pointer;-webkit-transition:.3s;transition:.3s;font-weight:400;color:#000;white-space:nowrap;border-bottom:1px solid var(--input-focus-border-color);text-decoration:none;transition:.3s all}}.subscribe .personal-data-label .check-icon{border:1px solid #000}div.wpcf7-validation-errors,div.wpcf7-acceptance-missing{border:1px solid red}div.wpcf7-response-output{margin:0 0 1em;padding:.2em 1em}input[type=checkbox]{-ms-transform:scale(1.5);-moz-transform:scale(1.5);-webkit-transform:scale(1.5);-o-transform:scale(1.5);transform:scale(1.5);padding:0}span.wpcf7-list-item{display:inline-block;margin:0 0 0 .4em}.accept-terms{padding-left:10px !important}.footer-box-1{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:end;justify-content:flex-end;display:inline-flex}.footer-box-2{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:end;justify-content:flex-end;display:inline-flex}.footer-box-3{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:start;justify-content:flex-start;display:inline-flex}.footer-box-4{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:end;justify-content:flex-end;display:inline-flex}.footer .email-box .email,.footer a{margin:4px 0 0;display:inline-block;color:#6b88ff;text-decoration:none}.ng-star-inserted.line{margin-top:5px}.support-links{margin:0;padding:0}.link.footer.ng-star-inserted.support{display:inline-flex}.social-link.ng-star-inserted{margin-right:8px}input[type=checkbox]{transform:none}.single-subscribe .personal-data-label span{padding-left:0}.blog-post-meta .comments{display:none}.banner .comments{display:none !important}.single-banner{margin-top:30px}.phone-image{z-index:99}.header .header-logo img{width:150px;margin-top:35px}.header .blog{font-weight:400}.footer .copyright-box{margin-bottom:0}.ng-star-inserted.contacts{margin-top:4px}
.post-content .aligncenter{margin-left:auto;margin-right:auto;display:block}
.wp-container-3.wp-container-3{flex-wrap:nowrap}
How to Speed-Up Your CI/CD Pipeline - Smartbrain Blog How to Speed-Up Your CI/CD Pipeline
Subscribe to the weekly newsletter Thank you, you have successfully subscribed to the newsletter!
Home News How to Speed-Up Your CI/CD Pipeline In the fast-paced world of software development, time is a currency as valuable as code itself. Every second shaved off the development process can mean the difference between being first to market or playing catch-up. Enter the realm of Continuous Integration and Continuous Deployment (CI/CD) pipelines, the beating heart of modern DevOps practices, where the quest for speed is relentless. Yet, as many developers and engineers know, these pipelines can sometimes resemble rush-hour traffic—clogged, slow-moving, and frustrating.
But what if there were ways to hit the accelerator on your CI/CD pipeline, transforming it from a sluggish caravan into a sleek, high-speed train, delivering features, updates, and fixes with the efficiency of a well-oiled machine? In this article, we’ll explore the mechanics of CI/CD pipelines and provide you with the tools and strategies to turbocharge your deployment process. From optimizing build times to automating tests, we’ll dissect each segment of the pipeline and inject it with a dose of velocity, ensuring that your path from code commit to production is as swift and smooth as possible.
So, buckle up and prepare for a journey through the arteries of automation and integration, as we delve into the art of speeding up your CI/CD pipeline without sacrificing quality or stability. Whether you’re a seasoned DevOps veteran or a newcomer to the world of automated deployments, this guide is your roadmap to a faster, more efficient delivery cycle.
Table of Contents
Optimizing Your CI/CD Pipeline for Maximum Efficiency Streamlining your Continuous Integration/Continuous Delivery (CI/CD) process is akin to fine-tuning a high-performance engine; every adjustment can lead to significant gains in speed and efficiency. One of the first steps is to pare down your build times . This can be achieved by optimizing your codebase for faster compilation, utilizing incremental builds, and leveraging parallel processing where possible. Additionally, consider caching dependencies and intermediate build results to avoid unnecessary repetition in subsequent runs. This not only shaves off precious seconds but can also reduce the load on your build servers.
Another crucial aspect is to refine your testing strategy . Tests are vital for ensuring code quality, but they can also be a bottleneck if not managed properly. Implement a tiered testing approach, where unit tests run first as they are quicker and less resource-intensive. Following that, more comprehensive tests like integration and end-to-end tests can be executed. Use the following table to prioritize your tests effectively:
Test Type Priority Frequency Scope Unit Tests High Every Commit Small (Individual Units) Integration Tests Medium Multiple Times a Day Moderate (Component Interaction) End-to-End Tests Low Daily/On Demand Large (Entire Application)
By focusing on the most impactful tests early on, you can catch errors quickly without bogging down the pipeline. Remember, the goal is to maintain a balance between speed and assurance, ensuring that your code is robust without stalling your delivery process.
Streamlining Build Processes for Faster Feedback In the quest for efficiency, the mantra ‘fail fast, fail often’ has become a guiding principle for many development teams. By honing the art of rapid iteration, developers can receive immediate insights into the performance and viability of their code. To achieve this, consider implementing parallel testing. By dividing your test suite into smaller, independent chunks that can run concurrently, you not only save precious time but also isolate failures for quicker troubleshooting. This approach can be further optimized by prioritizing test cases based on their criticality and likelihood of failure, ensuring that the most important feedback is received first.
Cache Dependencies : Time spent reinstalling dependencies can be a major drag on your build times. Utilize caching to store dependencies after the initial download, so subsequent builds can skip this step. Just remember to invalidate the cache when dependencies change to avoid issues.Trim the Fat : Scrutinize your build process and remove any non-essential tasks. Every second counts, and if there are steps that can be deferred until a later stage or removed entirely, do it. This might mean separating deployment from the build process or deferring documentation generation to only occur on certain branches.Optimize Artifacts : If your build generates artifacts, ensure they are being produced in the most efficient manner. Compress where possible and avoid generating artifacts that won’t be used immediately or at all.To illustrate the impact of these optimizations, let’s consider a simple before-and-after scenario using a WordPress-styled table:
Build Step Duration Before Duration After Improvement Dependency Installation 5 minutes 30 seconds 90% reduction Running Tests 10 minutes 4 minutes 60% reduction Artifact Generation 3 minutes 1 minute 66% reduction
By caching dependencies, we’ve slashed the installation time significantly. Parallel testing has cut down the test suite duration, and streamlining artifact generation has further reduced the build time. Collectively, these changes can dramatically speed up your CI/CD pipeline, delivering faster feedback and accelerating the development cycle.
Leveraging Parallel Execution to Reduce Wait Times In the realm of Continuous Integration and Continuous Delivery (CI/CD), time is of the essence. One innovative strategy to trim down the clock on your pipeline is by embracing the power of parallelism. By running multiple processes concurrently, you can significantly slash the overall execution time. This is particularly effective when dealing with a suite of automated tests. Instead of running tests sequentially, which can be as time-consuming as a snail-paced marathon, you can divide and conquer by running them in parallel. This not only accelerates feedback loops but also ensures that your team can rapidly identify and address issues.
To implement this, start by analyzing your test suite and identifying independent tests that can run simultaneously without interference. Once identified, configure your CI/CD tool to split these tests across multiple executors. Here’s a simple illustration:
Test Category Executor 1 Executor 2 Executor 3 Unit Tests X Integration Tests X UI Tests X
Remember, the key to successful parallel execution lies in the balance. Overloading your CI server with too many parallel jobs can backfire, leading to resource contention and potential bottlenecks. Therefore, it’s crucial to find the sweet spot where the number of parallel jobs optimizes resource utilization without overwhelming the system. Monitor your pipeline’s performance and adjust the parallelism as needed to maintain a smooth and swift CI/CD process.
Harnessing the Power of Caching for Quicker Builds Imagine your CI/CD pipeline as a high-speed train, where every stop represents a stage in the build process. Just like how trains can bypass certain stops to reach their destination faster, caching allows your builds to skip redundant steps by reusing previously stored data. This not only shaves precious minutes off your build times but also reduces the load on your servers, leading to a more efficient and cost-effective workflow.
Let’s dive into some practical steps to implement caching effectively:
Dependency Caching: Store your project’s dependencies in a cache after the first build. For subsequent builds, simply retrieve them instead of downloading or compiling them again. This is particularly useful for languages like Java or Node.js, where dependencies can be quite large.Intermediate Build Artifacts: Cache the results of intermediate build steps. For instance, if you’re compiling source code, cache the binaries so that if the source hasn’t changed, you can skip recompilation.Docker Layer Caching: When building Docker images, leverage layer caching. Each layer is only rebuilt if the layers before it have changed, which can significantly speed up the process.Below is a simple table showcasing a comparison of build times with and without caching:
Build Step Without Caching (min) With Caching (min) Time Saved (min) Dependency Installation 5 1 4 Source Compilation 10 2 8 Docker Image Building 7 3 4 Total 22 6 16
By implementing these caching strategies, you can expect to see a dramatic decrease in build times, as illustrated by the table. This not only accelerates the development cycle but also enhances the overall productivity of your team. Remember, a minute saved in build time is a minute earned for creative problem-solving.
Pruning Unnecessary Steps to Keep Your Pipeline Agile In the quest for a more efficient CI/CD pipeline, it’s crucial to identify and eliminate any superfluous steps that may be bogging down the process. Start by conducting a thorough audit of your current pipeline. Look for any tasks that are being executed but don’t contribute to the end goal of delivering quality code to production. These could be legacy steps that have outlived their usefulness or redundant tasks that have been inadvertently introduced over time.
Streamline Your Workflow
Review your automation scripts and ensure they are concise and optimized for speed. Long, convoluted scripts can often be broken down into smaller, more efficient ones. Examine your testing protocols. Are there any non-critical tests that can be deferred to a later stage or removed altogether? Prioritize tests that directly impact the functionality and security of your application. Consolidate tools and platforms where possible. Using multiple tools for similar tasks can lead to unnecessary complexity and time wastage. When you’ve identified the steps that can be pruned, it’s time to reorganize your pipeline for maximum agility. This might involve reordering tasks to run in parallel where dependencies allow, or perhaps introducing new tools that can handle multiple tasks more efficiently. The table below illustrates a simplified before-and-after comparison of a pipeline segment:
Before Optimization After Optimization Run Unit Tests Run Critical Unit Tests in Parallel Deploy to Staging Simultaneous Staging & Security Scans Manual Code Review Automated Code Quality Checks
By focusing on these improvements, you can significantly reduce the time your pipeline takes to deliver new features and fixes, ensuring that your team remains productive and your deployments stay on schedule. Remember, agility in your CI/CD pipeline isn’t just about speed; it’s about maintaining a balance between rapid delivery and high-quality output.
Fine-Tuning Automated Testing for Speed and Reliability In the quest to achieve a more efficient CI/CD pipeline, the calibration of automated tests is paramount. By honing in on the precision of these tests, we can significantly reduce the time they take to run while simultaneously boosting their dependability. Begin by assessing the current test suite ; identify any redundant or overlapping tests that can be consolidated or removed. This not only trims the fat from your testing process but also prevents the unnecessary consumption of resources. Additionally, consider segmenting tests based on their criticality and frequency of use. High-priority tests should run with every commit, while less critical ones can be scheduled for nightly runs or be triggered manually.
Another strategy is to leverage parallel testing . By distributing tests across multiple machines or containers, you can dramatically slash the time it takes to run the full suite. However, this requires a careful balance to avoid overloading the system and causing bottlenecks. To manage this, implement a dynamic queuing system that assigns tests to available resources in real-time. Below is a simple table using WordPress table classes that outlines a sample distribution of tests for parallel execution:
Test Category Priority Level Assigned Resources Execution Frequency Unit Tests High 4 Containers On Commit Integration Tests Medium 3 Containers Hourly UI Tests Low 2 VMs Nightly
By organizing your tests in such a manner, you ensure that the most critical code changes are verified promptly, while less urgent testing can be performed without slowing down the overall process. Remember, the goal is to create a testing environment that is both swift and steadfast, allowing for rapid development without sacrificing quality.
In the quest for efficiency, the adoption of cloud services has become a game-changer for Continuous Integration/Continuous Deployment (CI/CD) pipelines. The cloud’s inherent flexibility allows teams to dynamically allocate resources, ensuring that your build and deployment processes can scale with demand. This means no more bottlenecks during peak development times or wasted resources during lulls. By leveraging cloud-based tools like AWS CodeBuild, Azure Pipelines, or Google Cloud Build, developers can enjoy a plethora of benefits:
Auto-scaling: Automatically adjust computing resources based on the workload without manual intervention.Pay-as-you-go: Optimize costs by paying only for the resources you use, rather than maintaining expensive, underutilized hardware.Parallel execution: Run multiple jobs concurrently to drastically reduce build and test times.High availability: Cloud providers ensure that your CI/CD services are always available, minimizing downtime and improving reliability.Integrating cloud services into your CI/CD pipeline not only accelerates the process but also introduces a level of performance that is difficult to achieve with traditional on-premises setups. To illustrate the impact, consider the following table comparing key metrics before and after migrating to a cloud-based CI/CD solution:
Metric Pre-Cloud Post-Cloud Build Time 45 min 15 min Resource Utilization Fixed Dynamic Cost Efficiency Low High Scalability Limited Unlimited
By embracing the cloud, your CI/CD pipeline becomes a robust and responsive asset, capable of handling the ebb and flow of development cycles with grace and agility. The transition to cloud services is not just a step but a leap forward in optimizing your development operations.
Q&A **Q: What is a CI/CD pipeline, and why is its speed important?**
A: A CI/CD pipeline stands for Continuous Integration/Continuous Deployment. It’s the automated expressway where code changes are merged, tested, and delivered to production environments. Speed is crucial because it determines how swiftly new features, bug fixes, and updates reach users, keeping the software competitive and responsive to market demands.
Q: Can you give a quick tip for speeding up the CI/CD pipeline?
A: Absolutely! One quick win is to optimize your build process by using dependency caching. This means storing previously downloaded dependencies so that future builds can reuse them, rather than fetching them anew each time, which can significantly reduce build times.
Q: What role does automated testing play in a CI/CD pipeline?
A: Automated testing is the vigilant gatekeeper of your pipeline. It ensures that every change is checked for issues before it progresses, which maintains quality without manual intervention. However, it’s important to keep these tests efficient and focused to avoid bottlenecks.
Q: How can parallelization help speed up the CI/CD process?
A: Think of parallelization as opening more checkout lanes at a grocery store. By running multiple tasks simultaneously—like tests or builds—you can complete the overall process much faster. It’s about maximizing the use of available resources to reduce wait times.
Q: Is there a risk of compromising quality for speed in CI/CD pipelines?
A: There’s always a balancing act between speed and quality. However, with smart optimizations like prioritizing critical tests, using code linters, and maintaining a robust suite of automated tests, you can achieve high velocity without sacrificing the integrity of your software.
Q: What’s the benefit of breaking down a monolithic application for CI/CD?
A: Monolithic applications are like trying to move a mountain in one piece—it’s slow and cumbersome. By breaking it down into microservices or smaller, manageable components, you can update and deploy pieces independently. This modular approach can lead to more nimble and efficient pipelines.
Q: How does monitoring and feedback influence the CI/CD pipeline speed?
A: Monitoring and feedback are the compass and speedometer of your pipeline. They help you navigate and measure the flow of changes, identifying where delays occur and providing insights for continuous improvement. Without them, you’re essentially driving blind.
Q: Can you explain the importance of a clean codebase in maintaining a fast CI/CD pipeline?
A: A clean codebase is like a well-organized workshop; it allows you to find tools quickly and get work done efficiently. Regularly refactoring code, removing unused features, and keeping documentation up-to-date can reduce complexity, making the pipeline run smoother and faster.
Q: Should teams consider the cloud for CI/CD to improve speed?
A: The cloud is like a turbocharger for CI/CD pipelines. It offers scalable resources on-demand, which means you can dynamically adjust to the workload, ensuring that your pipeline has the power it needs when it needs it, without unnecessary delays.
Q: What is the impact of team collaboration on the speed of CI/CD?
A: Team collaboration is the oil that keeps the CI/CD engine running smoothly. Clear communication, shared responsibilities, and a culture of collective ownership can prevent bottlenecks caused by misunderstandings or gatekeeping, ensuring a steady and swift flow of improvements to your users.
Final Thoughts As we draw the curtain on our journey through the intricate maze of CI/CD pipelines, it’s clear that the path to efficiency is both an art and a science. We’ve navigated the twists and turns of optimization, from the granular adjustments in code to the sweeping reforms in process and culture. The tools and strategies we’ve discussed are but a compass to guide you through the ever-evolving landscape of continuous integration and continuous delivery.
Remember, the quest for speed in your CI/CD pipeline is not a sprint; it’s a marathon that requires persistence, innovation, and a willingness to embrace change. The strategies outlined here are your starting blocks, and the finish line is a pipeline that propels your team towards faster, more reliable releases, and ultimately, to the satisfaction of delivering value to your users without missing a beat.
As you step back into the world, armed with new insights and tactics, consider the unique rhythm of your own development dance. Fine-tune your steps, listen to the feedback loops, and keep your eyes on the horizon for emerging tools and practices that can further accelerate your journey.
May your builds be swift, your tests be thorough, and your deployments be smooth. Until our paths cross again in the quest for peak performance, keep iterating, keep deploying, and keep delivering excellence.
Irina Pakhomova
CMO at Smartbrain.io email: pakhomova@smartbrain.io facebook.com/smartbrain.io
For any questions, you can contact us: