');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}
Is Clojure a Functional Programming Revolution? - Smartbrain Blog Is Clojure a Functional Programming Revolution?
Subscribe to the weekly newsletter Thank you, you have successfully subscribed to the newsletter!
Home News Is Clojure a Functional Programming Revolution? In the ever-evolving landscape of software development, a quiet revolution has been unfolding, one parenthesis at a time. Amidst a sea of programming languages, each promising its own flavor of efficiency and elegance, Clojure emerges—a language that is not merely a tool but a different way of thinking about code. This article delves into the heart of Clojure, a modern Lisp dialect that champions the functional programming paradigm with fervor and finesse.
Clojure, with its roots deeply embedded in the venerable Lisp family, brings to the table an immutable, concise, and expressive syntax that is both a nod to the past and a leap into the future. It is a language that doesn’t just encourage but necessitates a functional approach, where functions are first-class citizens and state changes are handled with care. But is it truly a revolution? Or is it an evolutionary step, a mere whisper in the cacophony of programming progress?
As we embark on this exploration, we’ll unravel the threads of functional programming that Clojure weaves so deftly into the fabric of software development. We’ll examine its impact on the industry, its philosophical underpinnings, and the fervent community that has grown around it. Whether you’re a seasoned developer or a curious bystander in the digital realm, join us on a journey through the parentheses—into the world of Clojure, where every function tells a story, and every line of code is a testament to the transformative power of functional programming.
Table of Contents
Unveiling the Mystique of Clojure’s Functional Paradigm At the heart of Clojure’s allure lies its steadfast commitment to the functional programming ethos. This paradigm shift from the imperative style that dominates much of software development is akin to learning a new language that promises to be more concise, expressive, and less prone to errors. Clojure treats functions as first-class citizens, allowing them to be passed around just as easily as data. This opens up a world of possibilities for developers, enabling them to compose software in a manner that is both elegant and robust.
One of the cornerstones of Clojure’s functional approach is its emphasis on immutability. Data structures in Clojure are immutable by default, meaning that once created, they cannot be changed. This might seem restrictive at first glance, but in practice, it leads to safer and more predictable code. Developers can confidently reason about their code’s behavior without worrying about the side effects that plague mutable environments. Below is a simple comparison of mutable and immutable approaches:
Mutable Immutable Variables can be modified at any time. Values are fixed once assigned. State changes can introduce bugs. State is consistent and reliable. Concurrency requires complex management. Concurrency is naturally easier to handle.
Immutable data structures simplify concurrent programming, as there are no locks or race conditions to worry about. Higher-order functions not only abstract common patterns of usage but also pave the way for powerful code reuse. Lazy evaluation in Clojure allows for the creation of potentially infinite data structures, which are computed on-the-fly as needed. By embracing these functional concepts, Clojure developers find themselves wielding a powerful toolkit that can tackle complex problems with grace and efficiency. The language’s design encourages a declarative style of coding, where the focus is on the “what” rather than the “how.” This shift in perspective is at the core of what many consider to be a revolution in the programming world, one that Clojure is at the forefront of.
The Immutable Charm of Clojure’s Data Structures At the heart of Clojure’s allure lies its sophisticated suite of data structures, which are not only immutable by default but also incredibly efficient. This immutability is a cornerstone of functional programming, ensuring that data remains consistent and safe from unintended side-effects. Clojure’s persistent data structures, such as vectors, maps, and sets, are designed to be used and shared without the fear of changes rippling through your codebase. This is achieved through structural sharing, a technique that allows new versions of data structures to reuse most of the existing structure, only changing what is necessary.
Consider the following examples of Clojure’s data structures in action:
Vectors : Ideal for indexed access, vectors support efficient addition at the end.Maps : Perfect for key-value associations, maps in Clojure are hash-maps that are optimized for performance.Sets : Implemented as hash-sets or sorted sets, they provide a powerful way to handle unique collections of items.Let’s illustrate the efficiency of Clojure’s data structures with a simple comparison table:
Operation Clojure Data Structure Traditional Mutable Structure Insertion (Vector) O(1) – Amortized O(n) Lookup (Map) O(log32 n) O(n) Deletion (Set) O(log32 n) O(n)
As the table suggests, Clojure’s data structures are not only immutable but also offer significant performance benefits over their mutable counterparts. This combination of immutability and efficiency is what makes Clojure’s data structures a revolutionary asset in the functional programming landscape.
Leveraging Concurrency with Ease in Clojure Embracing the power of concurrency in Clojure is akin to unlocking a new realm of efficiency and performance in your applications. This dynamic language, built on the robust Java Virtual Machine (JVM), offers a refreshing approach to handling multiple tasks simultaneously without the common pitfalls associated with traditional threading models. At the heart of this capability lies Clojure’s immutable data structures and a transactional memory system, which together ensure that shared-state issues are a thing of the past. Developers can now orchestrate complex operations across different threads with confidence, knowing that the state of their data remains consistent and reliable.
One of the key features that make Clojure stand out in the concurrency arena is its suite of high-level abstractions. Agents , atoms , cores , and software transactional memory are the cornerstones that allow for fluid and safe state changes. Here’s a quick rundown of how each component contributes to the concurrency model:
Agents – Asynchronously execute tasks and manage state without locking, providing a simple and effective way to isolate change.Atoms - Allow for uncoordinated, synchronous state changes that guarantee atomicity, making them perfect for independent stateful operations.Refs - Facilitate coordinated state changes under a software transactional memory system, ensuring consistency across multiple state variables.Futures – Enable the execution of code in a separate thread, returning a placeholder that can be used to access the result once it’s ready.Abstraction Concurrency Type Use Case Agent Asynchronous Background tasks Atom Synchronous Independent state changes Ref Coordinated Transactional updates Future Asynchronous Deferred computations
With these tools at their disposal, Clojure developers can write code that is not only concise but also inherently safe for concurrent execution. This ease of leveraging concurrency is one of the many reasons why Clojure is being heralded as a functional programming revolution, offering a fresh perspective on solving modern computational problems.
Clojure’s Interoperability with Java: A Symbiotic Relationship One of the most compelling features of Clojure is its seamless integration with Java, allowing developers to harness the robustness of Java’s libraries and frameworks while enjoying the elegance and brevity of Clojure. This harmonious blend provides a powerful toolkit for solving complex problems. For instance, Clojure can directly call Java methods, instantiate Java objects, and implement Java interfaces. This means that Clojure code can interact with Java as if it were written in Java itself, making the transition for Java developers not just possible, but pleasantly smooth.
Moreover, the symbiosis extends to the ability to extend existing Java classes and create Java generics, providing a level of flexibility that is often missing in other JVM languages. Consider the following advantages of this relationship:
Access to Java Libraries: Clojure developers can leverage the vast ecosystem of Java libraries for tasks ranging from data processing to machine learning.Performance: By running on the JVM, Clojure benefits from Java’s performance optimizations and mature garbage collection.Tooling: The use of Java tooling for profiling, debugging, and deployment is a significant boon, ensuring that Clojure developers are not left reinventing the wheel.Clojure Feature Java Interoperability Benefit Dynamic Typing Quick iteration without recompiling Java code Immutable Data Structures Safe concurrent programming using Java threads Macros Ability to create powerful abstractions over Java code REPL (Read-Eval-Print Loop) Interactive development with immediate feedback on Java objects
These features not only make Clojure a joy to work with but also amplify Java’s capabilities, creating a symbiotic ecosystem where both languages thrive. It’s a testament to Clojure’s design philosophy that it can interweave with Java so effectively, offering a modern take on functional programming without discarding the tried-and-true foundations laid by its predecessor.
In the realm of functional programming, Clojure stands out with its powerful metaprogramming capabilities, thanks to its macro system. Macros in Clojure are not mere textual replacements but sophisticated transformations that operate on the code’s abstract syntax tree (AST). This allows developers to extend the language in ways that can dramatically reduce boilerplate and introduce new language constructs that are as powerful as the built-in ones. For instance, core.async introduces concurrency primitives that feel like native language features, and this is just the tip of the iceberg.
One of the most compelling aspects of Clojure’s metaprogramming is the ease with which it can manipulate and generate code. This is a game-changer for creating domain-specific languages (DSLs) that can offer expressive syntax tailored to specific problems. Below is a simplified example of how macros can transform code:
Without Macros With Macros
(let [result (complex-calculation)]
(if result
(handle-success result)
(handle-error)))
(defmacro handle-calc [& body]
`(let [result (complex-calculation)]
(if result
(handle-success ~@body)
(handle-error))))
(handle-calc result)
The table illustrates how a repetitive pattern of handling a calculation result can be abstracted into a macro, simplifying the code and making it more readable. This is just a basic example; the true potential of Clojure’s macros lies in their ability to perform much more intricate and powerful code transformations, enabling developers to write high-level, expressive code that’s closer to human language than ever before.
The Community and Ecosystem: Is Clojure’s Support Base Growing? When assessing the vitality of a programming language, one must look beyond the syntax and libraries to the beating heart of its community. In the case of Clojure, a language that marries simplicity with power, the support base is not just growing—it’s thriving. Enthusiasts and professionals alike are weaving a rich tapestry of support through a variety of channels. Online forums like the Clojure subreddit and the Clojurians Slack channel are bustling with activity, where both newcomers and seasoned developers exchange knowledge, solve problems, and share their passion for functional programming.
Moreover, the ecosystem surrounding Clojure is blossoming with an array of tools and libraries that cater to a wide range of applications. From web development with frameworks like Reagent and Compojure , to data analysis with libraries such as core.matrix and Incanter , the Clojure landscape is rich with options. The following table showcases a snapshot of the diverse ecosystem that Clojure developers have at their disposal:
Area Tool/Library Description Web Development Reagent A minimalistic Clojure interface to React.js Routing Compojure A concise routing library for Ring/Clojure Data Analysis core.matrix An API for matrix computations in Clojure Statistical Computing Incanter A Clojure-based, R-like platform for statistical computing and graphics
Events such as Clojure/conj and EuroClojure, as well as numerous meetups around the globe, continue to foster a sense of community and collaboration. The commitment to growth is evident in the increasing number of contributors to open-source Clojure projects and the steady stream of Clojure-related content in blogs, podcasts, and social media. This collective effort not only enriches the Clojure ecosystem but also ensures that the language remains at the forefront of functional programming innovation.
Adopting Clojure: Recommendations for a Smooth Transition Embracing a new programming paradigm can be as thrilling as it is daunting, especially when it comes to a language like Clojure that champions functional programming. To ensure a seamless integration into your development workflow, start by fostering a culture of learning within your team. Encourage the exploration of Clojure’s core concepts through pair programming sessions and code reviews. This not only helps in knowledge sharing but also in collectively overcoming the initial learning curve. Additionally, leverage the wealth of resources available, such as Clojure for the Brave and True and Clojure from the ground up , which are excellent for beginners.
Another pivotal step is to gradually introduce Clojure into your existing codebase. Begin by identifying components that can benefit from Clojure’s immutability and powerful concurrency features. A good strategy is to implement new features or microservices in Clojure while maintaining the rest of your application in its original language. This piecemeal approach minimizes risk and allows for a comparative analysis of performance and developer productivity. Below is a simple table outlining potential areas for Clojure integration:
Component Reason for Clojure Expected Benefit Data Processing Immutable data structures Enhanced safety and simplicity API Endpoints Functional composition Improved modularity and testability Concurrency Tasks Software Transactional Memory (STM) Better concurrency control
Remember, the key to a successful transition is not to rush. Take the time to understand Clojure’s philosophy and let its principles naturally permeate your team’s coding practices. With patience and strategic implementation, Clojure can indeed revolutionize the way you approach functional programming.
Q&A **Q: What is Clojure, and why is it associated with a programming revolution?**
A: Clojure is a modern, dynamic, and functional programming language that runs on the Java Virtual Machine (JVM). It’s often linked to a revolution in programming because it offers a fresh approach to coding by emphasizing immutability, simplicity, and concurrency. Clojure’s design encourages developers to write code that is more predictable, easier to understand, and less prone to bugs, which can be revolutionary in complex software systems.
Q: How does Clojure’s approach to functional programming differ from other languages?
A: Clojure stands out by not just supporting but prioritizing functional programming principles. It treats functions as first-class citizens and emphasizes the use of immutable data structures. Unlike some other languages, Clojure avoids the mutable state and favors a declarative programming style, which can lead to more robust and maintainable code. Its Lisp heritage also means that Clojure has a unique syntax that is highly extensible, allowing developers to effectively create domain-specific languages.
Q: Can Clojure interoperate with other languages, and how does this benefit developers?
A: Absolutely! Since Clojure runs on the JVM, it can seamlessly interoperate with Java and other JVM languages. This interoperability allows developers to leverage existing Java libraries and frameworks, making it easier to integrate Clojure into current projects or to adopt it in environments already dependent on the JVM. This symbiotic relationship expands Clojure’s utility and reach, making it a powerful tool in a developer’s arsenal.
Q: What are some of the challenges developers might face when adopting Clojure?
A: One of the main challenges is the learning curve associated with its Lisp-like syntax, which can be quite different from the syntax of more mainstream programming languages. Additionally, developers may need to adjust to the functional programming paradigm if they’re accustomed to imperative or object-oriented styles. The relatively smaller community and ecosystem can also pose a challenge, although the quality and dedication of the Clojure community often help mitigate this.
Q: How does Clojure handle concurrency, and why is this significant?
A: Clojure provides several built-in features for managing concurrency, such as Software Transactional Memory (STM), agents, atoms, and core.async for asynchronous programming. These tools help developers write concurrent programs that are less prone to errors like race conditions. In an era where multicore processors are the norm, Clojure’s approach to concurrency is significant because it allows developers to more easily exploit the full potential of modern hardware.
Q: Is Clojure suitable for all types of projects?
A: While Clojure is a versatile language, it shines in areas where its functional nature and concurrency features can be fully utilized, such as in web services, data analysis, and real-time systems. However, for projects that require extensive use of CPU-intensive algorithms or where the ecosystem and library support are crucial, other languages might be more suitable. It’s important for developers to assess the specific needs of their project before choosing Clojure.
Q: What does the future hold for Clojure?
A: Clojure continues to grow and evolve, with an active community and ongoing development. Its focus on functional programming, immutability, and concurrency is increasingly relevant in today’s software landscape. As the industry continues to grapple with the complexities of concurrent and distributed systems, Clojure’s principles may influence not just its own future but also the broader trajectory of software development practices.
In Conclusion As we draw the curtain on our exploration of Clojure’s place in the pantheon of functional programming, it’s clear that the language has woven a rich tapestry of innovation and tradition. Whether it’s a revolution or a renaissance, Clojure has undeniably left an indelible mark on the landscape of software development.
With its roots deeply planted in the venerable soil of Lisp, and its branches reaching towards the future with a concurrency model that embraces the modern world’s multiprocessor reality, Clojure stands as a testament to the enduring power of functional programming principles. It has not only challenged the status quo but also offered a harmonious blend of pragmatism and elegance, a siren call to those weary of the cacophony of mutable state.
As we part ways with this narrative, we leave you with a thought to ponder: the true measure of a revolution is not just in the clamor of its arrival, but in the silence of its legacy. Whether Clojure will continue to fan the flames of change or settle into the quiet embers of a tool that simply does its job well, only time will tell.
For now, we invite you to embrace the spirit of curiosity and discovery. Let the parentheses of Clojure encapsulate your code and perhaps, in the process, encapsulate a small piece of the future. As with all journeys of innovation, the path is not always linear, but the exploration is a reward in itself.
Thank you for joining us on this contemplative stroll through the gardens of functional programming, where Clojure blooms—a flower both familiar and exotic, waiting for the attentive programmer to uncover its secrets.
Irina Pakhomova
CMO at Smartbrain.io email: pakhomova@smartbrain.io facebook.com/smartbrain.io
For any questions, you can contact us: