');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.french-smartbrain.com/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.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.eot);src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.eot) format("embedded-opentype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.woff2) format("woff2"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.woff) format("woff"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.ttf) format("truetype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe/CRC55.svg#CRC55) format("svg")}@font-face{font-family:Circe-light;src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/CRC35.eot);src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.eot) format("embedded-opentype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.woff2) format("woff2"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.woff) format("woff"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-light/fonts/CRC35.ttf) format("truetype"),url(//blog.french-smartbrain.com/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.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.eot);src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.eot) format("embedded-opentype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.woff2) format("woff2"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.woff) format("woff"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-light/CRC25.ttf) format("truetype"),url(//blog.french-smartbrain.com/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.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.eot);src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.eot) format("embedded-opentype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.woff2) format("woff2"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.woff) format("woff"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-bold/Circe-Bold.ttf) format("truetype"),url(//blog.french-smartbrain.com/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.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.eot);src:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.eot) format("embedded-opentype"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.woff2) format("woff2"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.woff) format("woff"),url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../fonts/circe/circe-extra-bold/Circe-ExtraBold.ttf) format("truetype"),url(//blog.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/facebook.svg)}.socials .icon.i-vk{background-image:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/vk.svg)}.socials .icon.i-twitter{background-image:url(//blog.french-smartbrain.com/wp-content/themes/rubrain-blog/assets/css/../../assets/images/icons/twitter.svg)}.socials .icon.i-telegram{background-image:url(//blog.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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.french-smartbrain.com/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:250px;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:75px !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{font-family:-apple-system,Circe,sans-serif,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif}#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:700px;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:20px;border:2px solid #f3f6f9;box-sizing:border-box}.subscribe-section .subscribe .btn-submit{padding:0 60px;font-size:16px;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:16px;font-weight:700}.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;height:16px;width:16px}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;flex:16%}.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}
:root{--wpforms-field-border-radius:3px;--wpforms-field-background-color:#fff;--wpforms-field-border-color:rgba(0,0,0,.25);--wpforms-field-text-color:rgba(0,0,0,.7);--wpforms-label-color:rgba(0,0,0,.85);--wpforms-label-sublabel-color:rgba(0,0,0,.55);--wpforms-label-error-color:#d63637;--wpforms-button-border-radius:3px;--wpforms-button-background-color:#066aab;--wpforms-button-text-color:#fff;--wpforms-field-size-input-height:43px;--wpforms-field-size-input-spacing:15px;--wpforms-field-size-font-size:16px;--wpforms-field-size-line-height:19px;--wpforms-field-size-padding-h:14px;--wpforms-field-size-checkbox-size:16px;--wpforms-field-size-sublabel-spacing:5px;--wpforms-field-size-icon-size:1;--wpforms-label-size-font-size:16px;--wpforms-label-size-line-height:19px;--wpforms-label-size-sublabel-font-size:14px;--wpforms-label-size-sublabel-line-height:17px;--wpforms-button-size-font-size:17px;--wpforms-button-size-height:41px;--wpforms-button-size-padding-h:15px;--wpforms-button-size-margin-top:10px}
.wp-container-3.wp-container-3{flex-wrap:nowrap}
Types de modèles d’architecture logicielle - Smartbrain Blog Types de modèles d’architecture logicielle
Collections d'articles, services utiles et offres d'emploi, annonces de conférences gratuites et de primes. Rejoignez-nous!
S’abonner à la newsletter hebdomadaire
Merci, vous vous êtes bien inscrit à la lettre d'information !
Dans le vaste univers de la création logicielle, l’architecture est le phare qui guide les développeurs à travers les tempêtes de complexité et les marées de fonctionnalités. Comme les grands architectes du monde physique qui conçoivent les structures de nos habitats, les architectes logiciels façonnent les fondations invisibles sur lesquelles reposent les applications et les systèmes que nous utilisons au quotidien. Cet article vous invite à un voyage au cœur de la conception logicielle, où nous explorerons les différents types de motifs d’architecture logicielle – ces schémas conceptuels qui dictent la structure et le comportement des systèmes informatiques. De la simplicité élégante du modèle MVC (Modèle-Vue-Contrôleur) à la robustesse distribuée des architectures basées sur les microservices, chaque motif offre une palette de solutions aux défis inhérents à la construction de logiciels. Préparez-vous à plonger dans l’art et la science des architectures logicielles, où chaque décision de conception peut être aussi critique que le coup de pinceau d’un peintre ou le choix d’un matériau par un bâtisseur.
Inhaltsverzeichnis
Architecture logicielle : une exploration des modèles fondamentaux En plongeant dans l’univers de la conception de systèmes informatiques, on découvre une variété de patrons d’architecture logicielle, chacun répondant à des problématiques spécifiques. Ces modèles structurent les composants logiciels, définissent leurs interactions et façonnent la manière dont les applications évoluent et s’adaptent aux exigences changeantes. Parmi les plus répandus, on retrouve :
Modèle en couches (Layered pattern) : Favorisant l’organisation modulaire, ce modèle divise l’application en couches hiérarchiques, où chaque couche a une fonction précise et interagit uniquement avec la couche directement inférieure ou supérieure.Architecture orientée services (Service-Oriented Architecture, SOA) : Elle se caractérise par la mise à disposition de services réutilisables et interopérables, permettant une flexibilité accrue et une intégration facilitée entre différents systèmes.Architecture microservices : Ce modèle prône la décomposition d’une application en un ensemble de petits services autonomes, chacun gérant une partie distincte de la fonctionnalité globale et communiquant via des interfaces légères.La sélection d’un patron architectural est cruciale et doit être alignée avec les objectifs métier, les contraintes techniques et les préférences de l’équipe de développement. Pour illustrer la diversité des choix possibles, considérons le tableau suivant, qui met en lumière quelques caractéristiques clés de trois patrons fondamentaux :
Patron Avantages Inconvénients Scénarios d’utilisation Modèle en couches Facilité de maintenance, séparation des préoccupations Peut induire une certaine lourdeur Applications d’entreprise traditionnelles SOA Réutilisabilité, agilité, facilité d’intégration Complexité de gestion et de gouvernance Intégration d’applications hétérogènes Microservices Scalabilité, résilience, déploiement continu Complexité de coordination et de déploiement Applications cloud-native, CI/CD
Plongée dans l’architecture en couches : avantages et cas d’utilisation La conception logicielle structurée en différentes strates, ou architecture en couches , est une approche classique qui offre une multitude d’avantages. Premièrement, elle favorise la séparation des préoccupations , permettant ainsi aux développeurs de se concentrer sur une portion spécifique du système à la fois. Cela simplifie la maintenance et l’évolution du code. De plus, cette modularité facilite le remplacement ou la mise à jour des différentes composantes sans affecter l’ensemble de l’architecture. En outre, l’architecture en couches peut améliorer la sécurité en isolant les niveaux critiques, comme la couche de données, des accès directs extérieurs.
Les cas d’utilisation de l’architecture en couches sont variés et s’appliquent à de nombreux domaines. Par exemple, les applications d’entreprise qui nécessitent une logique métier complexe et une séparation claire entre l’interface utilisateur et les données bénéficient grandement de cette approche. De même, les systèmes de gestion de contenu (CMS) exploitent cette architecture pour séparer la gestion des données, la logique applicative et la présentation. Voici un tableau illustrant quelques cas d’utilisation typiques :
Cas d’utilisation Avantages spécifiques Applications d’entreprise Maintenance facilitée, évolutivité Systèmes de gestion de contenu (CMS) Flexibilité de la présentation, sécurité renforcée Applications e-commerce Intégration aisée de différents modes de paiement, gestion de l’inventaire indépendante Plateformes éducatives en ligne Modularité des contenus, personnalisation de l’expérience utilisateur
La cohérence est un autre atout majeur, chaque couche ayant un rôle bien défini et des interactions standardisées avec les autres. Les tests sont également plus efficaces, chaque couche pouvant être testée indépendamment des autres. Le modèle client-serveur : pilier de l’interaction moderne La conception des logiciels modernes repose souvent sur une structure fondamentale qui sépare les responsabilités entre deux acteurs principaux : le serveur , qui fournit des ressources ou des services, et le client , qui les demande. Cette architecture, connue sous le nom de client-serveur, est omniprésente et sert de base à de nombreuses applications que nous utilisons quotidiennement, telles que les navigateurs web, les messageries électroniques et les jeux en ligne.
Dans cette architecture, le serveur joue un rôle centralisé, gérant les données, les ressources et souvent la logique métier de l’application. Les clients, quant à eux, interagissent avec le serveur via une interface, souvent une application web ou mobile. Voici quelques avantages clés de ce modèle :
Scalabilité : La capacité à gérer une augmentation de la charge en ajoutant simplement plus de serveurs.Maintenance : Les mises à jour peuvent être déployées sur le serveur sans nécessiter d’actions de la part des clients.Centralisation des données : Les données sont stockées et gérées en un seul endroit, facilitant la sauvegarde et la sécurité.Composant Rôle Exemple Serveur Gestion des requêtes Serveur web Apache Client Interface utilisateur Navigateur Chrome Base de données Stockage des données MySQL
La flexibilité du modèle client-serveur permet également une grande variété d’implémentations, allant des simples applications monolithiques aux systèmes distribués complexes. C’est cette polyvalence qui en fait un choix privilégié pour les développeurs cherchant à créer des solutions robustes et évolutives, capables de s’adapter aux évolutions technologiques et aux exigences des utilisateurs.
Microservices : la modularité au service de la flexibilité Les architectures logicielles modernes tendent de plus en plus vers la décomposition des applications en petites unités fonctionnelles indépendantes, connues sous le nom de microservices . Cette approche favorise une meilleure gestion du code, une scalabilité accrue et une maintenance simplifiée. Chaque microservice est conçu pour effectuer une fonction spécifique au sein d’une application plus large, permettant ainsi une spécialisation poussée et une isolation des services.
En pratique, cette architecture se traduit par plusieurs avantages clés pour les équipes de développement. Voici une liste non exhaustive des bénéfices apportés par les microservices :
Agilité de déploiement : Les mises à jour peuvent être déployées sur un service spécifique sans impacter l’ensemble de l’application, réduisant ainsi les risques et le temps d’arrêt.Scalabilité : Il est possible de scaler des services individuellement en fonction de la demande, optimisant ainsi les ressources et les coûts.Résilience : En cas de défaillance d’un service, les autres composants de l’application continuent de fonctionner, limitant l’impact sur l’utilisateur final.Technologies hétérogènes : Chaque service peut être développé avec la technologie la plus adaptée à ses besoins, favorisant l’innovation et l’efficacité.La table suivante illustre la comparaison entre une architecture monolithique traditionnelle et une architecture basée sur les microservices :
Caractéristique Monolithique Microservices Modularité Limited Élevée Scalabilité Verticale Horizontale et verticale Déploiement Global Indépendant par service Résilience Faible Élevée Technologie Uniforme Diversifiée
En somme, l’adoption des microservices représente une évolution significative dans la conception des systèmes informatiques, offrant une flexibilité et une adaptabilité sans précédent face aux exigences changeantes du marché et des utilisateurs.
Architecture orientée événements : réactivité et asynchronisme en pratique Dans le monde dynamique du développement logiciel, l’approche réactive basée sur les événements s’impose comme une solution efficace pour gérer les interactions complexes et les flux de données en temps réel. Cette architecture permet aux composants d’un système de communiquer de manière asynchrone, en réagissant aux événements plutôt qu’en suivant un schéma de traitement séquentiel. Les avantages sont multiples :
Scalabilité : La capacité à traiter des volumes croissants de travail en ajoutant des ressources.Résilience : La tolérance aux pannes est améliorée car les composants peuvent fonctionner de manière indépendante.Flexibilité : Facilité d’intégration de nouveaux composants ou de modification des comportements existants sans perturber l’ensemble du système.Concrètement, l’implémentation de cette architecture se traduit par l’utilisation de brokers d’événements tels que Kafka ou RabbitMQ, qui orchestrent la distribution des messages entre les services. Les tableaux suivants illustrent un exemple simplifié de la manière dont les événements peuvent être gérés et catégorisés dans un tel système :
Type d’événement Source Action déclenchée Nouvelle commande Service de commande Notification au service de facturation Mise à jour de stock Service d’inventaire Alerte au service d’achat Changement de statut client Service client Mise à jour du service de marketing
Chaque événement est ainsi traité de manière isolée, ce qui permet une plus grande réactivité du système face aux changements et aux demandes utilisateur. L’asynchronisme inhérent à cette architecture favorise une meilleure gestion des ressources et une réduction des temps d’attente, offrant une expérience utilisateur fluide et réactive.
Le pattern MVC : séparation des préoccupations pour une maintenance simplifiée Le modèle de conception MVC (Modèle-Vue-Contrôleur) est une approche architecturale qui divise une application en trois composants principaux, chacun ayant un rôle bien défini. Cette séparation permet aux développeurs de modifier ou de maintenir une partie de l’application sans affecter les autres, facilitant ainsi la gestion du code sur le long terme.
Modèle : Il représente la structure des données, la logique métier et les règles du système. Le modèle notifie la vue de tout changement d’état.Vue : La vue est la représentation visuelle des données, c’est-à-dire l’interface utilisateur. Elle observe le modèle et se met à jour automatiquement en cas de modification des données.Contrôleur : Le contrôleur fait le lien entre l’utilisateur et le système. Il reçoit les entrées de l’utilisateur, les traite via le modèle et renvoie la sortie appropriée à la vue.Grâce à cette structure, la maintenance et l’évolution de l’application deviennent plus aisées. Par exemple, si l’on souhaite changer l’interface utilisateur, on peut modifier la vue sans toucher à la logique métier qui est encapsulée dans le modèle. De même, l’ajout de nouvelles fonctionnalités métier peut se faire en enrichissant le modèle, sans impacter l’interface utilisateur. Cette indépendance des composants favorise également le travail en équipe, puisque plusieurs développeurs peuvent travailler simultanément sur des parties différentes de l’application sans se gêner.
Composant Rôle Avantages Modèle Gestion des données et de la logique métier Centralisation des règles métier, facilité de tests Vue Affichage des informations, interface utilisateur Modularité de l’UI, indépendance vis-à-vis de la logique métier Contrôleur Traitement des entrées utilisateur Passerelle entre le modèle et la vue, gestion des interactions
En somme, le pattern MVC est un allié de taille pour les développeurs qui cherchent à construire des applications évolutives et faciles à maintenir. Il permet de réduire les dépendances entre les différentes parties du code et offre une meilleure répartition des responsabilités au sein de l’équipe de développement.
Recommandations pour choisir le bon modèle architectural selon votre projet La sélection d’une architecture logicielle est une étape cruciale qui influence la performance, la maintenabilité et l’évolutivité de votre application. Pour vous guider dans ce choix, voici quelques recommandations clés à prendre en compte. Tout d’abord, évaluez la complexité de votre projet . Les applications simples avec des fonctionnalités directes pourraient bénéficier d’une architecture monolithique , tandis que les systèmes complexes avec de multiples composants interdépendants pourraient nécessiter une architecture microservices . Ensuite, considérez la scalabilité : si vous anticipez une croissance rapide de votre base d’utilisateurs ou de la charge de travail, privilégiez des modèles qui facilitent l’ajout de ressources, comme les architectures orientées services (SOA) ou les architectures basées sur les événements .
En parallèle, la facilité de déploiement et de maintenance est un facteur non négligeable. Les architectures qui permettent une intégration et une livraison continues, telles que les architectures en pipeline , peuvent s’avérer avantageuses pour des mises à jour fréquentes sans interruption de service. Considérez également la sécurité : des modèles comme l’architecture en couches offrent une séparation claire entre les différents niveaux de l’application, renforçant ainsi la protection des données sensibles. Pour illustrer ces points, voici un tableau comparatif simplifié des modèles architecturaux :
Modèle Complexité Scalabilité Maintenance Sécurité Monolithique Faible Faible Moyenne Moyenne Microservices Élevée Élevée Élevée Élevée SOA Moyenne Élevée Moyenne Moyenne Événementielle Moyenne Élevée Élevée Moyenne En couches Moyenne Moyenne Moyenne Élevée En pipeline Moyenne Moyenne Élevée Moyenne
En somme, le choix d’un modèle architectural doit être aligné avec les objectifs à long terme de votre projet, tout en tenant compte des contraintes techniques et opérationnelles actuelles. Une analyse approfondie des besoins et des ressources disponibles vous permettra de sélectionner l’architecture la plus adaptée pour votre application.
FAQ **Q : Qu’est-ce qu’un motif d’architecture logicielle et pourquoi est-il important ?**
R : Un motif d’architecture logicielle, ou “pattern” en anglais, est une solution générale et réutilisable à un problème couramment rencontré dans la conception de logiciels. Il est important car il fournit un cadre éprouvé qui aide les développeurs à structurer leur logiciel de manière efficace, en facilitant la maintenance, l’évolutivité et la réutilisation des composants.
Q : Pouvez-vous nommer et décrire brièvement quelques types de motifs d’architecture logicielle ?
R : Bien sûr ! Parmi les plus connus, il y a le modèle MVC (Modèle-Vue-Contrôleur) qui sépare les données (modèle), l’interface utilisateur (vue) et la logique de contrôle (contrôleur) pour faciliter la gestion du code. Il y a aussi l’architecture en microservices, qui divise une application en petits services indépendants communiquant via des API. Et n’oublions pas l’architecture orientée événements, qui permet aux composants de réagir à des événements plutôt que de suivre un flux de contrôle prédéfini.
Q : Quels sont les avantages de l’utilisation des microservices ?
R : Les microservices offrent plusieurs avantages, comme la flexibilité dans le déploiement, puisque chaque service peut être déployé indépendamment des autres. Ils facilitent également la scalabilité, car on peut mettre à l’échelle les services individuellement selon les besoins. De plus, ils encouragent la diversité technologique, permettant à chaque service d’utiliser la pile technologique la plus adaptée.
Q : L’architecture orientée événements est-elle adaptée à tous les types de projets ?
R : Non, l’architecture orientée événements convient mieux aux applications où les actions sont déclenchées par des événements et où il est nécessaire de réagir rapidement à ces événements. Elle est moins adaptée aux applications qui nécessitent des transactions fortement cohérentes ou qui ont des flux de travail linéaires et prévisibles.
Q : Comment choisir le bon motif d’architecture pour un projet ?
R : Le choix du motif d’architecture dépend de plusieurs facteurs, tels que les exigences du projet, la taille et la complexité de l’application, les compétences de l’équipe de développement, et les contraintes de temps et de budget. Il est crucial d’évaluer ces éléments et de comprendre les avantages et les inconvénients de chaque motif avant de prendre une décision.
Q : Les motifs d’architecture logicielle sont-ils figés ou peuvent-ils évoluer avec le temps ?
R : Les motifs d’architecture logicielle ne sont pas figés ; ils peuvent et doivent évoluer avec le temps pour s’adapter aux nouvelles exigences, technologies et meilleures pratiques. Il est important de rester flexible et ouvert aux ajustements pour que l’architecture continue de répondre aux besoins de l’application et de ses utilisateurs.
Q : Peut-on combiner différents motifs d’architecture logicielle dans un même projet ?
R : Oui, il est tout à fait possible de combiner différents motifs d’architecture logicielle dans un même projet. Cette approche hybride peut tirer parti des forces de chaque motif pour répondre à des besoins spécifiques. Cependant, il est essentiel de veiller à ce que la combinaison reste cohérente et ne complique pas inutilement l’architecture globale.
Principales conclusions En parcourant les méandres des architectures logicielles, nous avons découvert une constellation de patrons, chacun avec ses propres étoiles et planètes à explorer. De l’élégance structurée du MVC aux domaines interconnectés de l’Event Sourcing, nous avons vu comment ces modèles peuvent façonner les univers numériques que nous créons.
Alors que nous refermons ce chapitre de notre odyssée architecturale, souvenons-nous que chaque patron de conception est un outil, une boussole qui nous guide à travers les complexités du développement logiciel. Il n’y a pas de carte au trésor unique pour naviguer dans ces eaux, mais une flotte de vaisseaux prêts à être commandés par des mains habiles.
Que vous soyez un architecte logiciel chevronné ou un novice curieux, nous espérons que cette exploration vous a inspiré et équipé pour construire des systèmes plus robustes, évolutifs et maintenables. Comme les étoiles dans le ciel nocturne, les possibilités sont infinies et attendent que vous traciez votre propre voie dans l’immensité de l’architecture logicielle.
Nous vous invitons à continuer à apprendre, à expérimenter et à partager vos découvertes. Car, dans le grand schéma des choses, chaque ligne de code contribue à l’édifice grandiose de notre monde numérique. Bonne construction et à la prochaine aventure architecturale!
Irina Pakhomova
CMO at Smartbrain.io email: pakhomova@smartbrain.io facebook.com/smartbrain.io
Vous pouvez nous contacter sur toutes les questions: