:root{--primary-color:#454545;--accent-color:#f05d61;--hovered-accent-color:#ee464a;--primary-text-color:#383838;--hovered-text-color:rgba(56,56,56,0.8);--secondary-text-color:#5e5e5e;--light-text-color:#fff;--lightgrey-text-color:#d1d1d1;--main-bg:#fff;--body-light-bg:#fafafa;--body-dark-bg:#f5f5f5;--link-color:#f05d61;--blog-link-color:#f99;--hovered-link-color:#ee464a;--nav-bg:#fff;--nav-hovered-bg:#1f222b;--landing-bg:#4e7b99;--landing-hovered-bg:#4a6e86;--border-color:#e6e6e6;--footer-bg:#21242d;--widget-bg:#f3f3f3;--widget-title:#5e5e5e;--widget-text:#868383;--widget-text-hover:#5e5e5e;--pagination-color:#2e313a;--success-color:#25d366;--warning-color:#f7ea00;--warm-color:#f1776c;--danger-color:red;--fb-color:#3b5999;--tw-color:#55acee;--gplus-color:#dd4b39;--ig-color:#3f729b;--wa-color:#25d366;--mail-color:#0084ff;--box-shadow:0 3px 2px 0 rgba(0,0,0,0.03);--black-shadow:0px 4px 18px -3px rgba(17,17,17,0.06);--hovered-black-shadow:0 3px 16px 0 rgba(0,0,0,0.11);--font-body:"Raleway",sans-serif;--font-heading:"Frank Ruhl Libre",serif}html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em;margin-bottom:1em!important}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=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{display:inline-block;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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,legend,ol,p,pre,ul{margin:0;padding:0}li>ol,li>ul{margin-bottom:0}table{border-collapse:collapse;border-spacing:0}fieldset{min-width:0}*{box-sizing:border-box;-webkit-font-smoothing:antialiased}html{overflow-y:scroll;font-size:62.5%}body,html{overflow-x:hidden}body{color:#5e5e5e;color:var(--secondary-text-color);font-family:Raleway,sans-serif;font-family:var(--font-body);font-size:1.6rem;line-height:1.6em;font-weight:400;font-style:normal;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-font-feature-settings:"liga" on}::selection{text-shadow:none;background:#f05d61;background:var(--link-color)}hr{position:relative;display:block;width:100%;padding:0;height:1px;border:0;border-top:1px solid #e6e6e6;border-top:1px solid var(--border-color);margin-bottom:1em}audio,canvas,iframe,img,svg,video{vertical-align:middle}img{max-width:100%;height:auto}iframe{margin-bottom:1.2em}fieldset{margin:0;padding:0;border:0}input[type=email],input[type=tel],input[type=text],textarea{border:1px solid #e6e6e6;border:1px solid var(--border-color);padding:6px 10px;outline:none}textarea{resize:vertical}[type=reset],[type=submit],button,html [type=button]{padding:.5em 1em;border:none;outline:none}blockquote,dl,ol,p,ul{margin:0 0 1.5em}ol,ul{padding-left:1em;padding-right:1.5em;margin-left:.5em}ol ol,ol ul,ul ol,ul ul{margin:.5em 0 1em}ul{list-style:disc}ol{list-style:decimal}li{margin:.5em 0;padding-left:.5em;line-height:1.6em}dt{float:left;margin:0 20px 0 0;width:120px;color:#454545;color:var(--primary-color);font-weight:500;text-align:right}dd{margin:0 0 5px;text-align:left}blockquote{margin:1.5em 0;padding:.25em 1.6em;border-left:.3em solid #e6e6e6;border-left:.3em solid var(--border-color);background:#fafafa;background:var(--body-light-bg)}blockquote p{margin:.8em 0;font-family:monospace,monospace;font-style:italic;font-size:1.7rem;font-weight:300}blockquote small{display:inline-block;margin:.8em 0 .8em 1.5em;font-size:.9em;opacity:.8}blockquote small:before{content:"\2014 \00A0"}blockquote cite{font-weight:700}blockquote cite a{font-weight:400}a{text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin-top:0;font-family:Frank Ruhl Libre,serif;font-family:var(--font-heading);line-height:1.4;font-weight:600;text-rendering:optimizeLegibility}h1{margin:0 0 1em;font-size:3.5rem}@media (max-width:767.99px){h1{font-size:2.6rem}}h2{margin:0 0 1em;font-size:2.8rem}@media (max-width:767.99px){h2{font-size:2.2rem}}h3{margin:0 0 1em;font-size:2.3rem}@media (max-width:767.99px){h3{font-size:2rem}}h4{font-size:1.8rem}h4,h5{margin:0 0 1em;font-weight:500}h5{font-size:1.6rem}h6{margin:0 0 1em;font-size:1.4rem;font-weight:500}table{border-collapse:separate;border-spacing:1px;background:#fafafa;background:var(--body-light-bg);margin-bottom:1.5em;border:1px solid #e6e6e6;border:1px solid var(--border-color)}table td,table th{padding:.5em 2em}table th{color:#383838;color:var(--primary-text-color)}table td:hover,table th{background:#f5f5f5;background:var(--body-dark-bg)}table td:hover{color:#5e5e5e;color:var(--secondary-text-color)}table tr:nth-child(odd){background:color(#fafafa blackness(2%));background:color(var(--body-light-bg) blackness(2%))}table tr:nth-child(2n){background:color(#fafafa blackness(4%));background:color(var(--body-light-bg) blackness(4%))}::placeholder{color:color(#e6e6e6 blackness(20%));color:color(var(--border-color) blackness(20%));font-size:1.4rem;opacity:1}:-ms-input-placeholder{color:#e6e6e6;color:var(--border-color)}::-ms-input-placeholder{color:#e6e6e6;color:var(--border-color)}@media (max-width:767.99px){table td,table th{padding:.5em .6em}}@font-face{font-family:fontello;src:url(../font/fontello.eot?2663856);src:url(../font/fontello.eot?2663856#iefix) format("embedded-opentype"),url(../font/fontello.woff2?2663856) format("woff2"),url(../font/fontello.woff?2663856) format("woff"),url(../font/fontello.ttf?2663856) format("truetype"),url(../font/fontello.svg?2663856#fontello) format("svg");font-weight:400;font-style:normal}[class*=" icon-"]:before,[class^=icon-]:before{font-family:fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-calendar:before{content:"\e800"}.icon-heart:before{content:"\e801"}.icon-comment:before{content:"\e802"}.icon-up-big:before{content:"\e803"}.icon-tag:before{content:"\e804"}.icon-eye:before{content:"\e805"}.icon-location:before{content:"\e806"}.icon-chart-bar:before{content:"\e807"}.icon-mail:before{content:"\e808"}.icon-link:before{content:"\e809"}.icon-search:before{content:"\e80a"}.icon-up-open:before{content:"\e80b"}.icon-picture:before{content:"\e80c"}.icon-ok:before{content:"\e80d"}.icon-ok-circle:before{content:"\e80e"}.icon-cancel:before{content:"\e80f"}.icon-basket:before{content:"\e810"}.icon-bag:before{content:"\e811"}.icon-basket-1:before{content:"\e812"}.icon-tag-1:before{content:"\e813"}.icon-globe:before{content:"\e814"}.icon-tag-2:before{content:"\e815"}.icon-truck:before{content:"\e816"}.icon-up-dir:before{content:"\e817"}.icon-gift:before{content:"\e818"}.icon-down:before{content:"\e819"}.icon-plus:before{content:"\e81a"}.icon-minus:before{content:"\e81b"}.icon-home:before{content:"\e81c"}.icon-quote-left:before{content:"\e81d"}.icon-quote-right:before{content:"\e81e"}.icon-users:before{content:"\e81f"}.icon-barcode:before{content:"\e820"}.icon-lock:before{content:"\e821"}.icon-home-1:before{content:"\e822"}.icon-credit-card:before{content:"\e826"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-rss:before{content:"\f09e"}.icon-pinterest-circled:before{content:"\f0d2"}.icon-gplus:before{content:"\f0d5"}.icon-download:before{content:"\f0ed"}.icon-angle-double-left:before{content:"\f100"}.icon-angle-double-right:before{content:"\f101"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-shield:before{content:"\f132"}.icon-dollar:before{content:"\f155"}.icon-youtube-play:before{content:"\f16a"}.icon-instagram:before{content:"\f16d"}.icon-left:before{content:"\f177"}.icon-right:before{content:"\f178"}.icon-whatsapp:before{content:"\f232"}.icon-credit-card-alt:before{content:"\f283"}.icon-shopping-basket:before{content:"\f291"}.icon-telegram:before{content:"\f2c6"}.grid-content{display:grid;grid-column-gap:calc(1.28571rem + .5vw);grid-template-columns:1fr auto 1fr}@media (min-width:56.25em){.grid-content{grid-column-gap:calc(2rem + .5vw);grid-template-columns:1fr minmax(auto,117rem) 1fr}}.grid-wrapper{grid-column:2/3;display:grid;grid-column-gap:calc(1.28571rem + .5vw);grid-row-gap:calc(1.28571rem + .5vw);margin-top:3.2rem}@media (min-width:56.25em){.grid-wrapper{grid-column-gap:calc(2rem + .5vw);grid-row-gap:calc(2rem + .5vw)}}@media (max-width:37.4375em){.grid-wrapper{grid-column-gap:calc(1.28571rem + .5vw);grid-row-gap:calc(1.28571rem + .5vw);margin-top:2.4rem}}.grid-col-2,.grid-col-3{grid-template-columns:repeat(2,1fr)}.grid-col-4{grid-template-columns:repeat(3,1fr)}.grid-col-5{grid-template-columns:repeat(4,1fr)}@media (min-width:56.25em){.grid-col-2{grid-template-columns:repeat(2,1fr)}.grid-col-3{grid-template-columns:repeat(3,1fr)}.grid-col-4{grid-template-columns:repeat(4,1fr)}.grid-col-5{grid-template-columns:repeat(5,1fr)}}@media (max-width:37.4375em){.grid-col-2,.grid-col-3{grid-template-columns:auto}.grid-col-4,.grid-col-5{grid-template-columns:repeat(2,1fr)}}.card-col-3,.card-col-4,.card-col-5{grid-column:span 1}.grid--full{grid-column:span 4}@media (min-width:56.25em){.grid--full{grid-column:span 5}}@media (max-width:37.4375em){.grid--full{grid-column:span 2}}.grid-nowrap{grid-column:1/4;display:grid;grid-row-gap:calc(1.28571rem + .5vw);grid-template-columns:repeat(2,1fr)}@media (min-width:56.25em){.grid-nowrap{grid-row-gap:calc(2rem + .5vw)}}@media (max-width:37.4375em){.grid-nowrap{grid-row-gap:calc(1.28571rem + .5vw);grid-template-columns:auto}}.nowrap-col-2{grid-column:span 1}@media (max-width:56.1875em){.post-wrapper{grid-template-columns:auto}.post,.sidebar{grid-column:span 1}}@media (min-width:56.25em){.post-wrapper{grid-template-columns:repeat(7,1fr)}.post{grid-column:span 5}.sidebar{grid-column:span 2}}.flex-box{display:flex;flex-wrap:wrap;margin-left:-1em;margin-right:-1em}.flex-2-col{flex-basis:50%}.flex-2-col,.flex-3-col{padding-left:1em;padding-right:1em}.flex-3-col{flex-basis:33.33%}@media (max-width:37.4375em){.flex-2-col,.flex-3-col{flex-basis:100%;padding-left:1em;padding-right:1em}}:root{--nav-height:52px}.site__header{display:grid;grid-column-gap:calc(1.28571rem + .5vw);grid-template-columns:1fr minmax(auto,59.99rem) 1fr}@media (min-width:37.5em) and (max-width:56.1875em){.site__header{grid-template-columns:1fr minmax(auto,89.99rem) 1fr}}@media (min-width:56.25em){.site__header{grid-column-gap:calc(2rem + .5vw);grid-template-columns:1fr minmax(auto,117rem) 1fr}}.header__wrapper{grid-column:2/3}.nav__wrapper,.nav__wrapper--fixed{display:flex;align-items:center;justify-content:space-between;position:relative}.nav__default{height:52px;height:var(--nav-height)}.nav__brand--ltc{padding:1em 0 0}@media (min-width:56.25em){.header--llm{box-shadow:0 6px 12px 0 rgba(0,0,0,.08)}.nav__default{justify-content:flex-end}.nav--ltc{border-top:1px solid #e6e6e6;border-top:1px solid var(--border-color);border-bottom:1px solid #e6e6e6;border-bottom:1px solid var(--border-color)}.nav--ltc,.nav--ltc .nav__menu-item{justify-content:center}.nav__brand{margin-right:auto}.nav__brand--ltc{text-align:center;padding:1em 0}}.nav__toggle{position:absolute;top:-2.25em;right:0;width:23px;height:23px;cursor:pointer}.nav__toggle.is-active{border-top-right-radius:8px;border-bottom-right-radius:8px}.nav__toggle-item,.nav__toggle-item:after,.nav__toggle-item:before{cursor:pointer;height:2px;width:22px;background:#5e5e5e;background:var(--secondary-text-color);position:absolute;display:block;content:"";transition:all .3s ease-in-out}.nav__toggle-item{top:8px}.nav__toggle-item:before{top:-6px}.nav__toggle-item:after{bottom:-6px}.nav__toggle.is-active .nav__toggle-item{background-color:transparent}.nav__toggle.is-active .nav__toggle-item:after,.nav__toggle.is-active .nav__toggle-item:before{background:#5e5e5e;background:var(--secondary-text-color);top:0}.nav__toggle.is-active .nav__toggle-item:before{transform:rotate(45deg)}.nav__toggle.is-active .nav__toggle-item:after{transform:rotate(-45deg)}@media (min-width:56.25em){.nav__toggle{position:relative}}amp-sidebar{width:380px;background:#fff}.close-sidebar{text-align:end;font-size:22px;padding-top:1em;padding-right:1em;outline:none}.nav-sidebar__menu{list-style:none;padding:1em 1.5em;margin:0}.nav-sidebar__menu li{position:relative;padding:0}.nav-sidebar__menu li a{text-decoration:none;color:#5e5e5e;color:var(--secondary-text-color)}.nav-sidebar__menu li a:hover{color:#f05d61;color:var(--link-color)}.nav-sidebar__submenu{list-style:none;padding:0 1em;margin:0;border-left:1px solid #e6e6e6;border-left:1px solid var(--border-color)}.menu,.menu li,.submenu,.submenu li{padding:0;margin:0}.menu,.submenu{list-style:none}.menu li,.submenu li{position:relative}.menu li a,.menu li a:visited,.submenu li a,.submenu li a:visited{display:block;font-size:1.4rem;font-weight:400;text-decoration:none}.menu li a:active,.menu li a:hover,.menu li a:visited:active,.menu li a:visited:hover,.submenu li a:active,.submenu li a:hover,.submenu li a:visited:active,.submenu li a:visited:hover{text-decoration:none}.menu li a,.menu li a:visited{text-transform:uppercase}.submenu li a,.submenu li a:visited{text-transform:lowercase}.nav__submenu-wrapper{height:0;opacity:0;overflow:hidden;overflow-x:hidden;overflow-y:hidden;transition:all .3s cubic-bezier(.275,1.375,.8,1)}.nav__submenu-wrapper.is-active{height:auto;opacity:1}.submenu-button{position:absolute;right:0;top:0;display:block;border-left:1px solid #e6e6e6;border-left:1px solid var(--border-color);height:36px;width:40px;cursor:pointer;z-index:3}.submenu-button:after,.submenu-button:before{position:absolute;display:block;background:#d1d1d1;background:var(--lightgrey-text-color);content:""}.submenu-button:before{top:14px;right:19px;width:2px;height:8px}.submenu-button:after{top:17px;right:16px;width:8px;height:2px}.submenu-button:active,.submenu-button:hover{background:#f5f5f5;background:var(--body-dark-bg)}.submenu-button.is-active:before{display:none}@media (max-width:56.1875em){.nav__menu{display:none;padding-top:1em}.menu{min-height:560px}.menu li{border-bottom:1px solid #e6e6e6;border-bottom:1px solid var(--border-color)}.menu li a{padding:5px 16px}.submenu li{border-bottom:1px solid #e6e6e6;border-bottom:1px solid var(--border-color)}.submenu li:last-child{border:none}.submenu li a{padding:4px 24px}}@media (min-width:56.25em){.nav__menu-item{display:flex;justify-content:flex-end}.menu li a,.menu li a:visited{line-height:52px;line-height:var(--nav-height);padding:0 1em}.submenu{box-shadow:0 5px 5px rgba(0,0,0,.25);position:absolute;visibility:hidden;white-space:nowrap;opacity:0;top:100%;transform:translateY(-2em);transform-origin:top;transition:all .3s ease-in-out 0s,visibility 0s linear .3s,z-index 0s linear .01s;width:230px;background:#fafafa;background:var(--body-light-bg);z-index:3}.submenu li a{display:block;line-height:3.2rem;padding:0 1em}.submenu li:last-child{padding-bottom:1em}.has-submenu:active>.submenu,.has-submenu:focus>.submenu,.has-submenu:hover>.submenu{visibility:visible;opacity:1;z-index:4;transform:translateY(0);transition-delay:0s,0s,.3s}}.post-featured__image{width:100%;height:auto}.post-card__tags,.post-featured__tags{font-size:1.1rem;text-transform:uppercase}.post-card__tags:active,.post-card__tags:hover,.post-featured__tags:active,.post-featured__tags:hover{text-decoration:none}.post-featured__title{font-size:1.7rem}.post-featured__meta{font-size:1.5rem}.post-featured__meta>img{width:30px;height:30px;border-radius:50%}.post-featured__author{padding:0 .5em}.post-card__link:active,.post-card__link:hover,.post-featured__link:active,.post-featured__link:hover{text-decoration:none}.post{display:flex;flex-wrap:wrap;align-content:flex-start;margin-left:-1.5em;margin-right:-1.5em}.post-card{flex-basis:50%;position:relative;display:flex;align-items:center;padding:1em 1.5em;margin:0}.post-card:first-child,.post-card:nth-child(2){padding-top:1.5em}.post-card:first-child:before,.post-card:nth-child(2):before{content:"";position:absolute;top:0;border-top:1px solid #e6e6e6;border-top:1px solid var(--border-color)}.post-card:first-child:before{width:calc(100% - 1.5em)}.post-card:nth-child(2):before{width:100%;left:-1.5em}.post-card:nth-child(2n){border-left:1px solid #e6e6e6;border-left:1px solid var(--border-color)}.post-card__media{flex-basis:34%;padding-top:4px}.post-card__body{flex-basis:66%;padding-left:1em}.post-card__title{font-size:1.5rem;font-weight:400}@media (max-width:37.4375em){.grid--featured{display:block}.post-featured{display:flex;padding:0 1em}.post-featured__media{flex-basis:35%;padding-top:6px}.post-featured__body{flex-basis:65%;padding-left:1em}.post-featured__title{font-size:1.4rem;font-weight:400;margin:0}.post-featured__meta{display:none}.post-featured:first-child{display:block;padding:0}.post-featured:first-child>.post-featured__body{padding:1em}.post-featured:first-child .post-featured__title{font-size:1.9rem;font-weight:500;margin:0}.post-featured__ads{padding-top:1.5em}.post-featured__ads img{display:block;margin:0 auto}.post,.post-card{display:block}.post-card{margin-bottom:1em}.post-card:first-child:before,.post-card:nth-child(2):before{content:none}.post-card__body{padding:1em 0 0}.post-card__title{font-size:1.6rem;font-weight:400;margin:0}}@media (min-width:37.5em) and (max-width:56.1875em){.post-featured__wrapper{grid-template-columns:repeat(3,1fr)}.post-featured:first-child{grid-column:1/4;display:flex}.post-featured:first-child>.post-featured__body,.post-featured:first-child>.post-featured__media{flex-basis:50%}.post-featured:first-child>.post-featured__body{padding:0 1em 0 1.5em}.post-featured:first-child>.post-featured__body .post-featured__tags{font-size:1.2rem}.post-featured:first-child>.post-featured__body .post-featured__title{font-size:2.2rem;font-weight:600}.post-featured:first-child>.post-featured__body .post-featured__meta{display:block}.post-featured:first-child>.post-featured__body .post-featured__meta a{text-transform:capitalize}.post-featured__ads{align-items:center;grid-column:1/4}.post-featured__ads img{display:block;margin:0 auto}.post-featured__body{padding-top:1em}.post-featured__title{font-weight:400}.post-featured__meta{display:none}}@media (min-width:56.25em){.post-featured__wrapper{grid-template-columns:repeat(4,1fr)}.post-featured:first-child{grid-column:1/4;display:flex}.post-featured:first-child>.post-featured__body,.post-featured:first-child>.post-featured__media{flex-basis:50%}.post-featured:first-child>.post-featured__body{padding:0 1em 0 1.5em}.post-featured:first-child>.post-featured__body .post-featured__tags{font-size:1.3rem}.post-featured:first-child>.post-featured__body .post-featured__title{font-size:2.6rem;font-weight:600}.post-featured:first-child>.post-featured__body .post-featured__meta{display:block}.post-featured:first-child>.post-featured__body .post-featured__meta a{text-transform:capitalize}.post-featured__ads{grid-column:4/5;grid-row:1/3}.post-featured__body{padding-top:1em}.post-featured__title{font-weight:400}.post-featured__meta{display:none}}.feed__wrapper{margin:0}.feed__title{margin-bottom:.5em}.feed__meta{display:flex;align-items:center;font-size:1.4rem;margin-bottom:.75em}.feed__avatar{width:30px;height:30px;border-radius:50%}.feed__author{text-transform:capitalize;padding:0 .75em}.feed__readmore{font-size:1.5rem}.feed__content p{margin-bottom:1em}@media (max-width:37.4375em){.feed__media img{width:100%;height:auto}.feed__body{padding-top:1em}.feed__tags{text-transform:uppercase;font-size:1.2rem;font-weight:700}.feed__link:active,.feed__link:hover{text-decoration:none}}@media (min-width:37.5em) and (max-width:56.1875em){.feed{display:flex;align-items:center;padding:.75em 0}.feed__media{flex-basis:30%;position:relative;padding-top:22.5%}.feed__media img{position:absolute;top:0;width:100%;height:100%}.feed__body{flex-basis:70%;padding-left:1em}.feed__tags{font-size:1.1rem;font-weight:700;text-transform:uppercase}.feed__link:hover,.feed__tags:hover{text-decoration:none}.feed__title{font-size:1.9rem}.feed__content p{font-size:1.5rem}}@media (min-width:56.25em){.feed{display:flex;align-items:center;padding:.75em 0}.feed__media{flex-basis:40%;position:relative;padding-top:30%}.feed__media .feed__image{position:absolute;top:0;width:100%;height:100%}.feed__body{flex-basis:60%;padding-left:1em}.feed__tags{font-size:1.3rem;font-weight:700;text-transform:uppercase}.feed__link:hover,.feed__tags:hover{text-decoration:none}}.authors{display:flex;justify-content:center;align-items:center}.authors .author__media{width:120px}.authors .author__media img{max-width:100%;height:auto;border-radius:50%}.authors .author__body{max-width:60%;padding-left:1em;text-align:left}.authors .author__title{margin-bottom:.5em}.pagination-wrapper{flex-basis:100%;position:relative;text-align:center;font-weight:300;padding-top:2em;margin-bottom:1em}.pagination{list-style:none;padding:0;margin:0}.pagination-item{display:inline-block;padding:0;margin:0}.pagination-link{padding:4px 10px;margin-right:2px;transition:all .2s ease-out}.pagination-link:hover{text-decoration:none;transition:all .2s ease-out}.pagination-next,.pagination-prev{padding:6px 12px}.pagination-next:hover,.pagination-prev:hover{text-decoration:none}.pagination-prev{float:left}.pagination-next{float:right}@media (max-width:37.4375em){.pagination-item{line-height:1.2em}.pagination-link{display:inline-block;font-size:1.4rem;margin-bottom:1em}}.breadcrumb{margin-bottom:1.5em;font-size:1.4rem;color:#5e5e5e;color:var(--secondary-text-color)}.breadcrumb a{color:#383838;color:var(--primary-text-color)}.breadcrumb a:hover{text-decoration:none;color:#ee464a;color:var(--hovered-link-color)}.breadcrumb i{display:inline-block}@media (max-width:37.4375em){.breadcrumb{font-size:1.3rem}}.post__single{margin:0}.post__title{font-size:3.2rem;margin-bottom:.5em}.post__meta{display:flex;justify-content:space-between;font-size:1.4rem}.post__meta-item{align-self:center}.post__meta-author{display:inline-block}.post__meta-author img{width:30px;height:30px;border-radius:50%}.post__author-link{text-transform:capitalize;padding-left:.75em;padding-right:.75em}.post__article .post__meta{margin-bottom:1em}.post__media{margin-bottom:1.5em}.post__caption{color:#5e5e5e;color:var(--secondary-text-color);font-size:1.2rem;padding:4px 6px}.post__caption,.post__caption:hover{text-decoration:none}.post__body .image--center{text-align:center}.post__body .image--center figcaption h4{font-family:Raleway,sans-serif;font-family:var(--font-body);font-size:1.2rem;text-align:center;padding-top:8px}@media (max-width:37.4375em){.post__title{font-size:1.9rem}}@media (min-width:56.25em){.share-button{padding-right:2em}}.post__last-updated{font-size:1.3rem;font-style:italic}.post__tag{list-style:none;padding:0;margin-left:0}.post__tag li{display:inline-block;font-size:1.4rem;background:#fafafa;background:var(--body-light-bg);padding:4px 8px;margin:0 6px 0 0}.post__tag li a{color:#5e5e5e;color:var(--secondary-text-color)}.post__tag li a:hover{text-decoration:none}.post__tag li:hover{background:#f5f5f5;background:var(--body-dark-bg)}.post__share{display:flex}.post__share .js-share{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;margin-right:8px}.post__share .js-share.facebook{background:#3b5999;background:var(--fb-color)}.post__share .js-share.twitter{background:#55acee;background:var(--tw-color)}.post__share .js-share.pinterest{background:#dd4b39;background:var(--gplus-color)}.post__share svg{width:14px;height:14px}.post__share .facebook svg,.post__share .pinterest svg,.post__share .twitter svg{fill:#fff;fill:var(--light-text-color)}.social-share__icon{display:inline-block;text-align:center;color:#fff;color:var(--light-text-color);width:32px;height:32px;line-height:32px;border-radius:50%;margin:0 3px}.social-share__icon:hover{color:#fff;color:var(--light-text-color);text-decoration:none}.social-share__icon.fb-icon{background:#3b5999;background:var(--fb-color)}.social-share__icon.tw-icon{background:#55acee;background:var(--tw-color)}.social-share__icon.wa-icon{background:#25d366;background:var(--wa-color)}.post__bio{align-items:center;display:flex;margin:calc(3.4rem + 1vw) 0 calc(3.4rem + 2vw)}.bio__avatar{border-radius:50%;flex-shrink:0;max-width:100%;height:auto}.bio__name{margin-bottom:.5em}.bio__name a,.bio__name a:hover{color:#383838;color:var(--primary-text-color)}.bio__name a:hover{text-decoration:none}.post__nav{display:flex;justify-content:space-between;width:100%;padding-top:1.5em;margin-bottom:2em}.post__nav-next,.post__nav-prev{align-items:center;display:flex}.post__nav-next:hover,.post__nav-prev:hover{text-decoration:none;color:#ee464a;color:var(--hovered-link-color)}.post__nav-next svg,.post__nav-prev svg{fill:#747577}.post__nav-link{color:#383838;color:var(--primary-text-color);font-family:Frank Ruhl Libre,serif;font-family:var(--font-heading);font-size:1.5rem;font-style:italic;line-height:1.5}.post__nav-link span{display:block;font-family:Raleway,sans-serif;font-family:var(--font-body);font-style:normal;color:#5e5e5e;color:var(--secondary-text-color)}.post__nav-link:hover{text-decoration:none;color:#ee464a;color:var(--hovered-link-color)}.post__nav-link[rel=prev]{padding-left:1em}.post__nav-link[rel=next]{padding-right:1em;text-align:right}@media (max-width:767.99px){.post__footer{flex-direction:column;padding:0 0 1.5em}.post__footer-tags{margin-bottom:1.5em}.social-profiles__icon:last-child{margin-right:0}}@media (min-width:56.25em){.bio__avatar{height:8rem;margin-right:2rem;width:8rem}}.related-posts{padding:1em 0}.related-posts__title{position:relative;font-size:2rem}.related-posts__title:after{content:"";position:absolute;width:56%;height:2px;right:0;top:14px;background:#e6e6e6;background:var(--border-color)}.related-post__media{background:#f5f5f5;background:var(--body-dark-bg)}.related-post__link{font-family:Frank Ruhl Libre,serif;font-family:var(--font-heading);font-size:1.5rem}.related-post__link:hover{text-decoration:none}.related-post__body{padding-top:1em}@media (max-width:37.4375em){.related-posts__title:after{display:none}.related-post__body{padding:1em 0}.related-post__title{font-size:1.5rem}}@media (min-width:37.5em) and (max-width:56.1875em){.related-posts__title:after{width:50%}.related-post__media{margin-bottom:1em}}.sidebar-widget{margin-bottom:1em}.widget-title{font-weight:700}.widget-product__title,.widget-title{font-size:1.8rem;text-transform:uppercase}.widget-product__title{font-weight:400}.widget__featured{display:flex;flex-wrap:wrap;margin-left:-2%;margin-right:-2%}.widget__featured-product{flex-basis:48%;padding-left:2%;padding-right:2%}.widget__featured-info{font-size:1.4rem;text-align:center;padding-top:1em}.widget__featured-info a{color:#383838;color:var(--primary-text-color)}.widget__featured-info a:hover{color:#ee464a;color:var(--hovered-link-color);text-decoration:none}.widget-product__cats{padding-right:1.2em}.widget-product__list{padding:0;margin:0;list-style:none}.widget-product__list-item{padding:6px 0;margin:0;border-bottom:2px solid #f5f5f5;border-bottom:2px solid var(--body-dark-bg)}.widget-product__link{color:#5e5e5e;color:var(--secondary-text-color)}.widget-product__link:hover{color:#ee464a;color:var(--hovered-link-color);text-decoration:none}.widget-product__recent-image{border:1px solid #e6e6e6;border:1px solid var(--border-color);float:left}.widget-product__recent-info{padding-left:80px}.widget-product__recent-link{color:#5e5e5e;color:var(--secondary-text-color)}.widget-product__recent-link:hover{color:#ee464a;color:var(--hovered-link-color);text-decoration:none}.widget-product__recent-title{font-size:1.6rem;font-weight:500;margin-bottom:.5em}.widget-post{display:flex;align-items:center;border-bottom:1px dashed #e6e6e6;border-bottom:1px dashed var(--border-color);padding:1em 0}.widget-post__media{flex-basis:30%;padding:.5em 0}.widget-post__body{flex-basis:70%;padding-left:1em}.widget-post__title-link{color:#5e5e5e;color:var(--secondary-text-color)}.widget-post__title-link:hover{text-decoration:none;color:#f05d61;color:var(--link-color)}.widget-post__title{font-size:1.5rem;padding:.5em 0;margin:0}.widget-post__meta{display:none}@media (max-width:37.4375em){.widget-post__title{font-size:1.4rem}}@media (min-width:37.5em) and (max-width:56.1875em){.widget-post__title{font-size:1.6rem;font-weight:500}.widget-post__meta{display:block}.widget-post__published{font-size:1.3rem;font-style:italic;color:#5e5e5e;color:var(--secondary-text-color)}}@media (min-width:56.25em){.widget-post{padding:0}}.widget-cats__items,.widget-tags__items{list-style:none;padding:0;margin:0}.widget-cats__item,.widget-tags__item{text-transform:capitalize;padding:.5em 0;margin:0;border-bottom:1px solid #e6e6e6;border-bottom:1px solid var(--border-color)}.widget-cats__item a,.widget-tags__item a{color:#5e5e5e;color:var(--secondary-text-color)}.widget-cats__item a:hover,.widget-tags__item a:hover{text-decoration:none;color:#f05d61;color:var(--link-color)}.widget-cloud__items{list-style:none;padding:0;margin:0}.widget-cloud__item{display:inline-block;padding:0;margin:0 .25em 1em}.cloud-link{font-size:1.3rem;text-transform:uppercase;color:#5e5e5e;color:var(--secondary-text-color);background:#f5f5f5;background:var(--body-dark-bg);padding:5px 10px;border-radius:5px}.cloud-link:hover{color:#383838;color:var(--primary-text-color);background:#fafafa;background:var(--body-light-bg);text-decoration:none}.footer-widget{padding-top:1.5em;margin-top:2.5em}.widget-footer{margin-bottom:1.5em}.widget-footer p{margin-bottom:.5em}.widget-footer__title,.widget-footer p{color:#d1d1d1;color:var(--lightgrey-text-color)}.widget-footer__title{font-size:1.7rem;font-weight:600;margin-bottom:1.5em}.widget-footer__list{list-style:none;margin-left:0;padding:0}.widget-footer__list-item{padding:0}.widget-footer__link{color:#d1d1d1;color:var(--lightgrey-text-color)}.widget-footer__link:hover{text-decoration:none;color:#f05d61;color:var(--link-color)}.widget-footer__cats-list{overflow-y:scroll;max-height:160px}#scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3)}#scrollbar::-webkit-scrollbar,#scrollbar::-webkit-scrollbar-track{background-color:#21242d;background-color:var(--footer-bg);border-radius:20px}#scrollbar::-webkit-scrollbar{width:6px}#scrollbar::-webkit-scrollbar-thumb{background-color:#d1d1d1;background-color:var(--lightgrey-text-color);border-radius:20px}.social-icon{display:inline-block;text-align:center;width:36px;height:36px;line-height:36px;border-radius:50px;margin-right:8px;background:#5e5e5e;background:var(--secondary-text-color)}.social-icon,.social-icon:hover{color:#fff;color:var(--light-text-color)}.social-icon:hover{text-decoration:none}.social-icon__facebook:hover{background:#3b5999;background:var(--fb-color)}.social-icon__twitter:hover{background:#55acee;background:var(--tw-color)}.social-icon__gplus:hover{background:#dd4b39;background:var(--gplus-color)}.social-icon__instagram:hover{background:#3f729b;background:var(--ig-color)}.social-icon__telegram:hover{background:#55acee;background:var(--tw-color)}.banks-list{padding:0;margin:0}.banks-list li{display:inline-block;background:#fff;background:var(--main-bg);border-radius:4px;padding:0 8px;margin:0 6px 0 0}.menu-footer{list-style:none;padding:0;margin:0}.menu-footer__item{padding:0}.menu-footer__link{color:#d1d1d1;color:var(--lightgrey-text-color)}.menu-footer__link:hover{text-decoration:none;color:#f05d61;color:var(--link-color)}.footer-copyright{color:#d1d1d1;color:var(--lightgrey-text-color);text-align:center}.footer-credit{padding:1em 1.5em}.scroll-top{display:block;position:fixed;bottom:1em;text-align:center;width:32px;height:32px;line-height:32px;right:2em;background:#5e5e5e;background:var(--secondary-text-color);margin-left:2em;z-index:199}.scroll-top,.scroll-top:active{color:#d1d1d1;color:var(--lightgrey-text-color)}.scroll-top:hover{text-decoration:none;color:#fff;color:var(--light-text-color);background:#d1d1d1;background:var(--lightgrey-text-color)}@media (width >=992px) and (width <=1199.99px){.footer-widget{padding:3em 1.5em 1.5em}}@media (max-width:991.99px){.footer-widget{padding:3em 1.5em 1.5em}}.title,h1,h2,h3,h4,h5,h6{color:#383838;color:var(--primary-text-color)}.invert:active,.invert:focus,.invert:hover,.title:active,.title:focus,.title:hover,a{color:#f05d61;color:var(--link-color)}a:active,a:focus,a:hover{color:#ee464a;color:var(--hovered-link-color)}.invert{color:#5e5e5e;color:var(--secondary-text-color)}.header-bg,.submenu{background:#fff;background:var(--main-bg)}@media (min-width:56.25em){.submenu{background:#fff;background:var(--main-bg)}}.menu li a,.menu li a:visited{color:#383838;color:var(--primary-text-color)}.menu li a:active,.menu li a:hover{color:#ee464a;color:var(--hovered-link-color)}.submenu li a:hover{background:#fafafa;background:var(--body-light-bg)}.submenu li a,.submenu li a:visited{color:#383838;color:var(--primary-text-color)}.submenu li a:active,.submenu li a:hover{color:#ee464a;color:var(--hovered-link-color)}.footer-widget__bg{background:#21242d;background:var(--footer-bg)}.widget-footer__title{color:#5e5e5e;color:var(--widget-title)}.menu-footer__link,.widget-footer li,.widget-footer p,.widget-footer span{color:#868383;color:var(--widget-text)}.menu-footer__link:hover{color:#5e5e5e;color:var(--widget-text-hover)}.feed__link,.post-card__link{color:#383838;color:var(--primary-text-color)}.feed__link:hover,.post-card__link:hover{color:#ee464a;color:var(--hovered-link-color)}.pagination-link{color:#2e313a;color:var(--pagination-color);border:1px solid #2e313a;border:1px solid var(--pagination-color)}.related-post__link{color:#383838;color:var(--primary-text-color)}.related-post__link:hover{color:#ee464a;color:var(--hovered-link-color)}.pagination-item--current a,.pagination-link:active,.pagination-link:hover{color:#fff;background:#2e313a;background:var(--pagination-color)}.footer-copyright{color:var(--footer-text);background:#21242d;background:var(--footer-bg)}
Proses pertama yang harus dilakukan dalam membuat desain halaman website yaitu menentukan layoutnya.
Sayangnya, proses inilah yang biasanya paling banyak menyita waktu karena tingkat kesulitannya cukup tinggi.
Tapi itu dulu…
Di era tahun 90an.
Waktu itu, untuk membuat layout halaman website masih menggunakan teknik CSS tabel dengan dibantu image slicing tools seperti Fireworks.
Saat ini dunia terus berubah.
Fitur CSS juga terus berkembang.
Sekarang sudah ada beberapa teknik yang bisa dilakukan untuk menentukan layout halaman website.
Mulai dari teknik CSS table (cara jadul), CSS property float dan clearfix , CSS Flexbox, dan yang paling baru yaitu CSS Grid.
Semakin baru fiturnya, semakin memudahkan kita untuk mengatur tata letak elemen website.
Jadi bagi kamu yang baru belajar CSS, tidak ada salahnya untuk langsung mempelajari teknik membuat layout dengan CSS Grid ini.
Dan saya akan membahasnya secara detail dalam artikel ini.
Yuk baca sampai selesai…
Apa itu CSS Grid Layout? CSS Grid Layout adalah fitur terbaru dari CSS3 yang digunakan untuk mengatur sistem tata letak elemen HTML.
Grid layout memiliki sistem 2 dimensi sehingga dapat menangani kolom dan baris.
Tidak seperti CSS Flexbox yang sebagian besar merupakan sistem 1 dimensi.
Dengan menentukan CSS Grid pada elemen induk (sebagai grid container ), otomatis elemen anak akan menjadi item grid (grid items ).
CSS Grid telah mengubah cara kita dalam mengatur tata letak elemen menjadi lebih mudah.
Sebelum adanya fitur ini, untuk mengatur tata letak elemen (misalnya menengahkan elemen secara vertikal) harus menggunakan teknik float atau positioning yang cukup ribet dan kadang perlu teknik hack CSS .
Kemudian datang fitur flexbox yang bisa memecahkan masalah tersebut. Tapi masih menyisakan sedikit masalah dalam hal pengaturan baris elemen.
Dan akhirnya, fitur grid layout ini datang untuk menyelesaikan semua masalah sebelumnya.
Dasar CSS Grid Layout Untuk mulai menggunakan CSS Grid, kamu harus menentukan elemen container sebagai grid dengan display: grid.
Kemudian tentukan ukuran kolom dan baris dengan grid-template-columns dan grid-template-rows.
Setelah itu, tambahkan grid-column dan grid-row pada elemen anak sebagai grid item .
Terminology CSS Grid Sebelum mendalami konsep Grid, kamu harus memahami dulu terminologinya.
Karena ada beberapa istilah dalam CSS grid ini yang semua konsepnya hampir sama.
Sehingga kamu harus menghafalnya seperti yang didefinisikan oleh spesifikasi Grid.
Grid Container Grid container adalah elemen yang ditentukan dengan display: grid dan dijadikan induk dari semua item grid.
Pada contoh ini, <div class="container"> adalah grid container.
< div class = "container" >
< div class = "item item-1" > < / div >
< div class = "item item-2" > < / div >
< div class = "item item-3" > < / div >
< / div >
Grid Item Grid Item adalah semua elemen anak pertama dari grid container .
Pada contoh berikut, semua <div class="item"> adalah grid item.
Tetapi <p class="sub-item"> bukanlah grid item karena sebagai anak kedua.
< div class = "container" >
< div class = "item" > < / div >
< div class = "item" >
< p class = "sub-item" > < / p >
< / div >
< div class = "item" > < / div >
< / div >
Grid Line Grid line adalah garis pemisah yang membentuk struktur grid.
Garis ini berupa garis vertikal (“column grid lines”) dan juga garis horizontal (“row grid lines”) yang berada di kedua sisi baris dan kolom.
Garis ini bisa dilihat secara real pada browser Chrome dengan cara klik kanan > klik inspeksi > pada tab elements, arahkan kursor pada elemen grid container.
Garis berwarna orange itulah yang disebut dengan grid lines .
Grid Track Grid track adalah ruang antara dua garis grid yang berdekatan.
Atau bisa disebut sebagai kolom atau baris grid.
Pada contoh berikut, grid track ada diantara garis grid kedua dan ketiga yang saya beri warna orange.
Grid Cell Grid Cell adalah ruang antara dua garis grid kolom (“column”) dan garis grid baris (“row”) yang berdekatan.
Grid cell ini merupakan satu “unit” dari grid.
Pada contoh berikut, grid cell ada di antara garis grid baris 1 dan 2, dan garis grid kolom 2 dan 3.
Grid Area Grid Area adalah total ruang dari beberapa grid cell yang telah ditentukan sebelumnya.
Pada contoh berikut, grid area terdiri dari 4 grid cell yang ada di antara garis grid baris 1 dan 3, dan garis grid kolom 1 dan 3.
Display Grid display: grid digunakan untuk menentukan elemen sebagai container level-block.
Grid item ditempatkan pada baris (rows ) secara default dan menjangkau lebar penuh dari grid container .
. container {
display : grid ;
}
item grid 1
item grid 2
item grid 3
Display Inline Grid display: inline-grid digunakan untuk menentukan elemen sebagai container level-inline.
. container {
display : grid ;
}
item grid 1
item grid 2
item grid 3
Explicit Grid Secara eksplisit mengatur grid dengan membuat kolom (“columns”) dan baris (“rows”) dengan properti grid-template-columns dan grid-template-rows.
grid-template-columns Menentukan kolom (“column”) grid dengan cara menambahkan beberapa nilai yang dipisahkan oleh spasi.
Nilai tersebut menunjukkan ukuran grid track , dan spasi diantara nilai-nilai itu menunjukkan grid line .
Nilai atau value:
<track-size> - bisa berupa length (dengan unit px, em, rem, dll), persen, atau sebagian kecil dari ruang kosong di grid (menggunakan unit fr).<line-name> - bisa kamu beri nama sesukamu.. container {
grid-template-columns : < track-size > ... | < line-name > < track-size > ... ;
}
grid-template-rows Menentukan baris (“row”) grid dengan cara menambahkan beberapa nilai yang dipisahkan oleh spasi.
Nilai tersebut menunjukkan ukuran grid track , dan spasi diantara nilai-nilai itu menunjukkan grid line .
Nilai atau value:
<track-size> - bisa berupa length (dengan unit px, em, rem, dll), persen, atau sebagian kecil dari ruang kosong di grid (menggunakan unit fr).<line-name> - bisa kamu beri nama sesukamu.. container {
grid-template-rows : < track-size > ... | < line-name > < track-size > ... ;
}
Contoh:
Saat kamu meninggalkan ruang kosong di antara nilai track , garis grid secara otomatis diberi angka positif dan negatif:
. container {
grid-template-columns : 40 px 50 px auto 50 px 40 px ;
grid-template-rows : 25 % 100 px auto ;
}
Tetapi kamu juga bisa memilih untuk memberi nama garis secara eksplisit menggunakan syntax bracket seperti berikut:
. container {
grid-template-columns : [ first ] 40 px [ line2 ] 50 px [ line3 ] auto [ col4-start ] 50 px [ five ] 40 px [ end ] ;
grid-template-rows : [ row1-start ] 25 % [ row1-end ] 100 px [ third-line ] auto [ last - line ] ;
}
Garis grid juga bisa memiliki lebih dari satu nama.
Contoh, pada garis kedua berikut memiliki dua nama: row1-end dan row2-start:
. container {
grid-template-rows : [ row1-start ] 25 % [ row1-end row2-start ] 25 % [ row2-end ] ;
}
Jika definisi kamu berisi bagian berulang, kamu dapat menggunakan notasi repeat() untuk merampingkan kode:
. container {
grid-template-columns : repeat ( 3 , 20 px [ col - start ] ) ;
}
Yang sama dengan kode berikut:
. container {
grid-template-columns : 20 px [ col-start ] 20 px [ col-start ] 20 px [ col-start ] ;
}
Jika beberapa baris memiliki nama yang sama, mereka dapat direferensikan dengan nama dan jumlah baris mereka.
. item {
grid-column-start : col-start 2 ;
}
Unit fr memungkinkan kamu untuk mengatur ukuran track sebagai sebagian kecil dari ruang kosong grid container.
Misalnya, untuk mengatur setiap item menjadi sepertiga lebar grid container, ini kodenya:
. container {
grid-template-columns : 1 fr 1 fr 1 fr ;
}
Ruang kosong dihitung setelah item yang tidak fleksibel.
Pada contoh berikut, jumlah total ruang kosong yang tersedia untuk unit fr tidak termasuk 50px.
. container {
grid-template-columns : 1 fr 50 px 1 fr 1 fr ;
}
grid-template-rows: 50px 100px Track baris dibuat untuk setiap nilai yang ditentukan dengan grid-template-rows. Nilai ukuran track dapat berupa nilai panjang selain negatif (px, %, em, dll).
Item grid 1 dan 2 memiliki ketinggian tetap 50px dan 100px.
Karena hanya 2 track baris yang ditentukan, ketinggian item 3 dan 4 ditentukan oleh konten masing-masing.
item grid 1 (50px)
item grid 2 (100px)
item grid 3 (auto)
item grid 3 (auto)
grid-template-columns: 90px 50px 120px Seperti baris, track kolom dibuat untuk setiap nilai yang ditentukan dengan grid-template-columns.
Item grid 4, 5 dan 6 ditempatkan pada track baris baru karena hanya 3 ukuran track column yang ditentukan.
Dan karena mereka ditempatkan di track column 1, 2 dan 3, ukuran kolom mereka sama dengan item 1, 2 dan 3.
Item grid 1, 2 dan 3 memiliki lebar tetap masing-masing 90px, 50px, dan 120px.
grid-template-columns: 1fr 1fr 2fr Unit fr bisa digunakan untuk membuat track grid yang fleksibel. Unit ini mewakili sebagian kecil dari ruang yang tersedia dalam grid container (seperti pada flexbox).
Pada contoh ini, item 1 dan 2 mengambil dua (empat) bagian pertama, sedangkan item 3 mengambil dua yang terakhir.
grid-template-columns: 3rem 25% 1fr 2fr fr dihitung berdasarkan ruang yang tersisa bila dikombinasikan dengan nilai panjang lainnya.
Dalam contoh ini, 3rem dan 25% akan dikurangi dari ruang yang tersedia sebelum ukuran fr dihitung:
1fr = ((lebar kisi) - (3rem) - (25% dari lebar kisi)) / 3
grid-template-rows: minmax(100px, auto); grid-template-columns: minmax(auto, 50%) 1fr 3em; Fungsi minmax() menerima 2 argumen: yang pertama adalah ukuran minimun track dan yang kedua adalah ukuran maksimum track.
Selain nilai panjang (px, em,rem, dll), juga bisa diberi nilai otomatis (auto) yang memungkinkan track meregang/melebar berdasarkan ukuran konten.
Dalam contoh ini, track baris pertama diatur untuk memiliki ketinggian minimum 100px, tetapi ukuran maksimum otomatisnya akan memungkinkan track baris meregang jika kontennya lebih tinggi dari 100px.
Track kolom pertama memiliki ukuran minimum otomatis, tetapi ukuran maksimum 50% akan mencegahnya tidak lebih lebar dari 50% dari lebar grid container.
1
2
3
4. This item has more content than the others and is intentionally, unnecessarily, superfluously, uselessly, and annoyingly verbose for the sake of example. This item has more content than the others and is intentionally, unnecessarily, superfluously, uselessly, and annoyingly verbose for the sake of example. This item has more content than the others and is intentionally, unnecessarily, superfluously, uselessly, and annoyingly verbose for the sake of example.
5
6
grid-template-rows: repeat(4, 100px); grid-template-columns: repeat(3, 1fr); Notasi repeat() menerima 2 argumen: yang pertama menunjukkan berapa kali track harus diulang, dan yang kedua menunjukkan definisi track (bisa diberi nilai panjang).
grid-template-columns: 30px repeat(3, 1fr) 30px repeat() juga dapat digunakan dalam daftar track.
Dalam contoh ini, track kolom pertama dan terakhir memiliki lebar 30px, dan 3 kolom track di antaranya, dibuat oleh repeat() yang masing-masing memiliki lebar 1fr.
Grid Gaps (Gutter) Properti grid-gap merupakan kependekan dari grid-row-gap dan grid-column-gap.
Properti ini digunakan untuk membuat jarak antar kolom dan baris.
Values:
<grid-row-gap> <grid-column-gap> - nilai panjang
. container {
grid-gap : < grid - row - gap > < grid - column - gap > ;
}
Contoh:
. container {
grid-template-columns : 100 px 50 px 100 px ;
grid-template-rows : 80 px auto 80 px ;
grid-gap : 15 px 10 px ;
}
Jika grid-row-gap tidak ditentukan, maka akan digunakan nilai yang sama dengan grid-column-grid.
Catatan: awalan grid- akan dihapus dan grid-gap diubah namanya menjadi gap. Properti tanpa awan grid- sudah didukung di Chrome 68+, Safari 11.2 rilis 50+ dan Opera 54+.
grid-column-gap & grid-row-gap Menentukan ukuran garis grid. Caranya seperti mengatur lebar gutter (celah) di antara kolom atau baris.
Values:
<line-size> - nilai panjang (px, em, rem, dll)
. container {
grid-column-gap : < line-size > ;
grid-row-gap : < line-size > ;
}
Contoh:
. container {
grid-template-columns : 100 px 50 px 100 px ;
grid-template-rows : 80 px auto 80 px ;
grid-column-gap : 10 px ;
grid-row-gap : 15 px ;
}
Gutter (celah) hanya dibuat di antara kolom atau baris, bukan di tepi luar grid.
grid-row-gap: 24px; grid-column-gap: 5rem; Nilai ukuran gap bisa berupa angka panjang (px, %, em, dll) selain negatif.
. container {
grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ;
grid-row-gap : 24 px ;
grid-column-gap : 5 rem ;
}
grid-gap: 100px 1em grid-gap merupakan kependekan dari grid-row-gap dan grid-column-gap.
Jika 2 nilai didefinisikan, yang pertama menunjukkan grid-row-gap dan yang kedua grid-column-gap.
. container {
grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ;
grid-gap : 100 px 1 em
}
grid-gap: 2rem Jika hanya satu nilai yang ditentukan, maka celah (gap) baris dan kolom akan sama.
. container {
grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ;
grid-gap : 2 rem ;
}
Mengatur Posisi Item berdasarkan Angka Grid Line Grid Line atau garis grid merupakan garis yang mewakili awal, akhir, atau antara track kolom dan baris.
Setiap garis, mulai dari awal lintasan ke arah grid, diberi nomor secara bertahap mulai dari 1.
Properti ini digunakan untuk menentukan lokasi item grid di dalam grid container dengan merujuk ke garis grid tertentu.
grid-column-start/grid-row-start merupakan garis tempat item dimulai.
Sedangkan grid-column-end/grid-row-end merupakan garis di mana item berakhir.
Nilai:
<line> - bisa berupa angka untuk merujuk ke garis grid bernomor, atau nama untuk merujuk ke garis grid bernamaspan <number> - item akan membentang melintasi jumlah track grid yang disediakanspan <name> - item akan membentang sampai menyentuh baris berikutnya dengan nama yang disediakanauto - menunjukkan penempatan otomatis, rentang otomatis, atau rentang default. item {
grid-column-start : < number > | < name > | span < number > | span < name > | auto ;
grid-column-end : < number > | < name > | span < number > | span < name > | auto ;
grid-row-start : < number > | < name > | span < number > | span < name > | auto ;
grid-row-end : < number > | < name > | span < number > | span < name > | auto ;
}
Contoh:
. item-a {
grid-column-start : 2 ;
grid-column-end : five ;
grid-row-start : row1-start ;
grid-row-end : 3 ;
}
. item-b {
grid-column-start : 1 ;
grid-column-end : span col4-start ;
grid-row-start : 2 ;
grid-row-end : span 2 ;
}
Jika tidak ada grid-column-end / grid-row-end yang dideklarasikan, item akan membentang 1 track secara default.
Item grid bisa saling tumpang tindih. Sehingga kamu dapat menggunakan z-index untuk mengontrol urutan susunannya.
grid-row-start: 2; grid-row-end: 3; grid-column-start: 2; grid-column-end: 3; Item grid 1 (warna pink) dimulai dari garis row 2 dan diakhiri pada garis row 3, dan dimulai dari garis column 2 dan diakhiri pada garis column 3.
Jika item hanya mencakup satu baris atau kolom, grid-row/column-end` tidak diperlukan.
. container {
grid-template-columns : repeat ( 2 , minmax ( 0 , 1 fr ) ) ;
}
. item-1 {
grid-row-start : 2 ;
grid-row-end : 3 ;
grid-column-start : 2 ;
grid-column-end : 3 ;
}
grid-row: 2; grid-column: 3 / 4; grid-row merupakan singkatan untuk grid-row-start dan grid-row-end.
Dan grid-column merupakan singkatan untuk grid-column-start dan grid-column-end.
Jika satu nilai didefinisikan, maka akan menunjukkan grid-row/column-start.
Jika dua nilai didefinisikan, nilai pertama menentukan grid-row/column-start dan yang kedua menentukan grid-row/column-end, dan harus dipisah oleh tanda garis miring (/).
. container {
grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ;
}
. item-1 {
grid-row : 2 ;
grid-column : 3 / 4 ;
}
grid-area: 2 / 2 / 3 / 3 grid-area merupakan kependekan untuk grid-row-start, grid-column-start, grid-row-end dan grid-column-end.
Jika 4 nilai didefinisikan, yang pertama menunjukkan grid-row-start, yang kedua grid-column-start, yang ketiga grid-row-end dan yang keempat grid-column-end.
. container {
grid-template-columns : repeat ( 3 , minmax ( 0 , 1 fr ) ) ;
}
. item-1 {
grid-area : 2 / 2 / 3 / 3
}