 

 :root {
     --font-1    : "Inter", sans-serif;
     --font-2    : "Castoro", serif;
 
     /* monospace
     */
     --font-mono : Consolas, "Andale Mono", Courier, "Courier New", monospace;
 }
 
 
 :root {
 
     /* spacing
      * base font size: 18px 
      * vertical space unit : 32px
      */
     --base-size        : 62.5%;
     --multiplier       : 1;
     --base-font-size   : calc(1.8rem * var(--multiplier));
     --space            : calc(3.2rem * var(--multiplier));
 
     /* vertical spacing 
      */
     --vspace-0_125     : calc(0.125 * var(--space));
     --vspace-0_25      : calc(0.25 * var(--space));
     --vspace-0_375     : calc(0.375 * var(--space));
     --vspace-0_5       : calc(0.5 * var(--space));
     --vspace-0_625     : calc(0.625 * var(--space));
     --vspace-0_75      : calc(0.75 * var(--space));
     --vspace-0_875     : calc(0.875 * var(--space));
     --vspace-1         : calc(var(--space));
     --vspace-1_25      : calc(1.25 * var(--space));
     --vspace-1_5       : calc(1.5 * var(--space));
     --vspace-1_75      : calc(1.75 * var(--space));
     --vspace-2         : calc(2 * var(--space));
     --vspace-2_5       : calc(2.5 * var(--space));
     --vspace-3         : calc(3 * var(--space));
     --vspace-3_5       : calc(3.5 * var(--space));
     --vspace-4         : calc(4 * var(--space));
     --vspace-4_5       : calc(4.5 * var(--space));
     --vspace-5         : calc(5 * var(--space));
 
     /* type scale
      * ratio 1         :2 | base: 18px
      * -------------------------------------------------------
      *
      * --text-display-3 = (77.40px)
      * --text-display-2 = (64.50px)
      * --text-display-1 = (53.75px)
      * --text-xxxl      = (44.79px)
      * --text-xxl       = (37.32px)
      * --text-xl        = (31.10px)
      * --text-lg        = (25.92px)
      * --text-md        = (21.60px)
      * --text-size      = (18.00px) BASE
      * --text-sm        = (15.00px)
      * --text-xs        = (12.50px)
      *
      * ---------------------------------------------------------
      */
     --text-scale-ratio : 1.2;
     --text-size        : var(--base-font-size);
     --text-xs          : calc((var(--text-size) / var(--text-scale-ratio)) / var(--text-scale-ratio));
     --text-sm          : calc(var(--text-xs) * var(--text-scale-ratio));
     --text-md          : calc(var(--text-sm) * var(--text-scale-ratio) * var(--text-scale-ratio));
     --text-lg          : calc(var(--text-md) * var(--text-scale-ratio));
     --text-xl          : calc(var(--text-lg) * var(--text-scale-ratio));
     --text-xxl         : calc(var(--text-xl) * var(--text-scale-ratio));
     --text-xxxl        : calc(var(--text-xxl) * var(--text-scale-ratio));
     --text-display-1   : calc(var(--text-xxxl) * var(--text-scale-ratio));
     --text-display-2   : calc(var(--text-display-1) * var(--text-scale-ratio));
     --text-display-3   : calc(var(--text-display-2) * var(--text-scale-ratio));
 
     /* default button height
      */
     --vspace-btn       : var(--vspace-2);
 }
 
 /* on mobile devices below 600px, change the value of '--multiplier' 
  * to adjust the values of base font size and vertical space unit.
  */
 @media screen and (max-width: 600px) {
     :root {
         --multiplier : .9375;
     }
 }
 
 
 /* on medium screen devices
  */
 @media screen and (max-width: 1200px) {
     :root {
         --gutter : 1.8rem;
     }
 }
 
 /* on mobile devices
  */
 @media screen and (max-width: 600px) {
     :root {
         --gutter : 1rem;
     }
 }
 
 
 /* ====================================================================
  * # NORMALIZE
  *
  *
  * --------------------------------------------------------------------
  * 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 : 2em;
     margin    : 0.67em 0;
 }
 
 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 : -0.25em;
 }
 
 sup {
     top : -0.5em;
 }
 

 
 button,
 input,
 optgroup,
 select,
 textarea {
     font-family : inherit;
     font-size   : 100%;
     line-height : 1.15;
     margin      : 0;
 }
 
 
 /* ===================================================================
  * # BASE SETUP
  *
  *
  * ------------------------------------------------------------------- */
 html {
     font-size  : var(--base-size);
     /* box-sizing : border-box; */
 }
 

 
 html,
 body {
     height : 100%;
 }
 
 
 
 p {
     font-size      : inherit;
     text-rendering : optimizeLegibility;
 }
 
 a {
     text-decoration : none;
 }
 
 
 pre {
     overflow : auto;
 }
 
 div,
 dl,
 dt,
 dd,
 ul,
 ol,
 li,
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 pre,
 form,
 p,
 blockquote,
 th,
 td {
     margin  : 0;
     padding : 0;
 }
 
 
 .row {
     width     : 92%;
     max-width : var(--width-grid-max);
     margin    : 0 auto;
     display   : flex;
     flex-flow : row wrap;
 }
 
 .row .row {
     width        : auto;
     max-width    : none;
     margin-left  : 3px;
     font-weight: bold;
     margin-right : 1px;
 }
 
 /* column
  */
 .column {
     display : block;
     flex    : 1 1 0%;
     padding : 0 var(--gutter);
 }
 
 .collapse>.column,
 .column.collapse {
     padding : 0;
 }
 
 /* row utility classes
  */
 .row.row-wrap {
     flex-wrap : wrap;
 }
 
 .row.row-nowrap {
     flex-wrap : nowrap;
 }
 
 .row.row-y-top {
     align-items : flex-start;
 }
 
 .row.row-y-bottom {
     align-items : flex-end;
 }
 
 .row.row-y-center {
     align-items : center;
 }
 
 .row.row-stretch {
     align-items : stretch;
 }
 
 .row.row-baseline {
     align-items : baseline;
 }
 
 .row.row-x-left {
     justify-content : flex-start;
 }
 
 .row.row-x-right {
     justify-content : flex-end;
 }
 
 .row.row-x-center {
     justify-content : center;
 }
 
 
 
 
 /* --------------------------------------------------------------------
  * ## base type styles
  * -------------------------------------------------------------------- */
 body {
     font-family : var(--font-1);
     font-size   : var(--base-font-size);
     font-weight : 400;
     line-height : var(--vspace-1);
     color       : var(--color-text);
 }
 
 /* links
  */
 a {
     color      : black;
     transition : all 0.3s ease-in-out;
 }
 
 a:focus,
 a:hover,
 a:active {
     color : rgb(243, 234, 234);
 }
 
 a:hover,
 a:active {
     outline : 0;
 }
 
 /* headings
  */
 h1,
 h2,
 h3,
 h4,
 h5,
 h6,
 .h1,
 .h2,
 .h3,
 .h4,
 .h5,
 .h6 {
     font-family            : var(--font-2);
     font-weight            : 400;
     color                  : var(--color-text-dark);
     font-variant-ligatures : common-ligatures;
     text-rendering         : optimizeLegibility;
 }
 
 h1,
 .h1 {
     margin-top    : var(--vspace-2_5);
     margin-bottom : var(--vspace-0_75);
 }
 
 h2,
 .h2,
 h3,
 .h3,
 h4,
 .h4 {
     margin-top    : var(--vspace-2);
     margin-bottom : var(--vspace-0_75);
 }
 
 h5,
 .h5,
 h6,
 .h6 {
     margin-top    : var(--vspace-1_75);
     margin-bottom : var(--vspace-0_5);
 }
 
 h1,
 .h1 {
     font-size      : var(--text-display-2);
     line-height    : calc(2.25 * var(--space));
     /* letter-spacing : -.01em; */
 }
 
 @media screen and (max-width: 500px) {
 
     h1,
     .h1 {
         font-size   : var(--text-display-1);
         line-height : calc(1.875 * var(--space));
     }
 }
 
 h2,
 .h2 {
     font-size   : var(--text-xxl);
     line-height : calc(1.375 * var(--space));
 }
 
 h3,
 .h3 {
     font-size   : var(--text-xl);
     line-height : calc(1.125 * var(--space));
 }
 
 h4,
 .h4 {
     font-size   : var(--text-lg);
     line-height : var(--vspace-1);
 }
 
 h5,
 .h5 {
     font-size   : var(--text-md);
     line-height : var(--vspace-0_875);
 }
 
 h6,
 .h6 {
     font-family    : var(--font-1);
     font-weight    : 600;
     font-size      : var(--text-sm);
     line-height    : var(--vspace-0_75);
     text-transform : uppercase;
     letter-spacing : .3rem;
 }
 
 /* emphasis, italic,
  * strong, bold and small text
  */
 em,
 i,
 strong,
 b {
     font-size   : inherit;
     line-height : inherit;
 }
 
 em,
 i {
     font-style : italic;
 }
 
 strong,
 b {
     font-weight : 600;
 }
 
  
 
  
 
 
 blockquote cite,
 blockquote cite a,
 blockquote cite a:visited {
     color  : var(--color-text-light);
     border : none;
 }
 
 @media screen and (max-width: 500px) {
     blockquote {
         padding : var(--vspace-0_75) var(--vspace-0_75);
     }
 
     blockquote p {
         font-size   : var(--text-md);
         line-height : var(--vspace-1);
     }
 }
 
 /* figures
  */
 
 
 figure {
     display      : block;
     margin-left  : 0;
     margin-right : 0;
 }
 
 figure img+figcaption {
     margin-top : var(--vspace-1);
 }
 
 figcaption {
     /* font-style: italic; */
     font-size     : var(--text-sm);
     text-align    : center;
     margin-bottom : 0;
 }
 
 /* preformatted, code
  */
 var,
 kbd,
 samp,
 code,
 pre {
     font-family : var(--font-mono);
 }
 
 pre {
     padding    : var(--vspace-0_75) var(--vspace-1) var(--vspace-1);
     background : var(--color-gray-6);
     overflow-x : auto;
 }
 
 code {
     font-size     : var(--text-sm);
     line-height   : 1.6rem;
     margin        : 0 .2rem;
     padding       : calc(((var(--vspace-1) - 1.6rem) / 2) - .1rem) calc(.8rem - .1rem);
     white-space   : nowrap;
     background    : var(--color-gray-6);
     border        : 1px solid var(--color-gray-10);
     color         : var(--color-text-dark);
     border-radius : 3px;
 }
 
 pre>code {
     display     : block;
     white-space : pre;
     line-height : var(--vspace-1);
     padding     : 0;
     margin      : 0;
     border      : none;
 }
 
 /* deleted text, abbreviation,
  * & mark text
  */
 del {
     text-decoration : line-through;
 }
 
 abbr {
     font-family    : var(--font-1);
     font-weight    : 600;
     font-variant   : small-caps;
     text-transform : lowercase;
     letter-spacing : .1em;
 }
 
 abbr[title],
 dfn[title] {
     border-bottom   : 1px dotted;
     cursor          : help;
     text-decoration : none;
 }
 
 mark {
     background : var(--color-1-lighter);
     color      : var(--color-black);
 }
 
 /* horizontal rule
  */
 hr {
     border       : solid var(--color-border);
     border-width : .1rem 0 0;
     clear        : both;
     margin       : var(--vspace-2) 0 calc(var(--vspace-2) - 1px);
     height       : 0;
 }
 
 hr.fancy {
     border     : none;
     margin     : var(--vspace-2) 0;
     height     : var(--vspace-1);
     text-align : center;
 }
 
 hr.fancy::before {
     content        : "*****";
     letter-spacing : .3em;
 }
 
 
 /* --------------------------------------------------------------------
  * ## spacing
  * -------------------------------------------------------------------- */
 fieldset,
 button,
 .btn {
     margin-bottom : var(--vspace-0_5);
 }
 
 input,
 textarea,
 select,
 pre,
 blockquote,
 figure,
 figcaption,
 table,
 p,
 ul,
 ol,
 dl,
 form,
 img,
 .video-container,
 .ss-custom-select {
     margin-bottom : var(--vspace-1);
 }
 
 
 #preloader {
     position        : fixed;
     display         : flex;
     flex-flow       : row wrap;
     justify-content : center;
     align-items     : center;
     background      : var(--color-preloader-bg);
     z-index         : 500;
     height          : 100vh;
     width           : 100%;
     opacity         : 1;
     overflow        : hidden;
 }
 
 .no-js #preloader {
     display : none;
 }
 
 #loader {
     position : relative;
     width    : 4px;
     height   : 4px;
     padding  : 0;
     display  : inline-block;
 }
 
 #loader>div {
     content       : "";
     background    : var(--color-loader);
     width         : 4px;
     height        : 4px;
     position      : absolute;
     top           : 0;
     left          : 0;
     border-radius : 50%;
 }
 
 #loader>div:nth-of-type(1) {
     left : 15px;
 }
 
 #loader>div:nth-of-type(3) {
     left : -15px;
 }
  
 /* ------------------------------------------------------------------- 
  * ## page loaded
  * ------------------------------------------------------------------- */
 .ss-loaded #preloader {
     opacity    : 0;
     visibility : hidden;
     transition : all .6s .9s ease-in-out;
 }
 
 .ss-loaded #preloader #loader {
     opacity    : 0;
     transition : opacity .6s ease-in-out;
 }
 
 
 /* ===================================================================
  * # FORM 
  *
  *
  * ------------------------------------------------------------------- */
 fieldset {
     border  : none;
     padding : 0;
 }
 
 input[type="email"],
 input[type="number"],
 input[type="search"],
 input[type="text"],
 input[type="tel"],
 input[type="url"],
 input[type="password"],
 textarea,
 select {
     --input-height      : var(--vspace-2);
     --input-line-height : var(--vspace-1);
     --input-vpadding    : calc(((var(--input-height) - var(--input-line-height)) / 2) - 1px);
     display             : block;
     height              : var(--input-height);
     padding             : var(--input-vpadding) calc(2.4rem - 1px);
     border              : 0;
     outline             : 0;
     color               : var(--color-placeholder);
     font-family         : var(--font-1);
     font-size           : var(--text-sm);
     font-size           : calc(var(--text-size) * 0.8889);
     line-height         : var(--input-line-height);
     max-width           : 100%;
     background-color    : var(--color-gray-3);
     border              : 1px solid transparent;
     transition          : all .3s ease-in-out;
     border-radius       : var(--border-radius);
 }
 
 .ss-custom-select {
     position : relative;
     padding  : 0;
 }
 
 .ss-custom-select select {
     -webkit-appearance : none;
     -moz-appearance    : none;
     appearance         : none;
     text-indent        : 0.01px;
     text-overflow      : '';
     margin             : 0;
     vertical-align     : middle;
 }
 
 .ss-custom-select select option {
     padding-left  : 2rem;
     padding-right : 2rem;
 }
 
 .ss-custom-select select::-ms-expand {
     display : none;
 }
 
 .ss-custom-select::after {
     border-bottom    : 2px solid black;
     border-right     : 2px solid black;
     content          : '';
     display          : block;
     height           : 8px;
     width            : 8px;
     margin-top       : -7px;
     pointer-events   : none;
     position         : absolute;
     right            : 2.4rem;
     top              : 50%;
     transition       : all 0.15s ease-in-out;
     transform-origin : 66% 66%;
     transform        : rotate(45deg);
 }
 
 textarea {
     min-height : calc(8 * var(--space));
 }
 
 input[type="email"]:focus,
 input[type="number"]:focus,
 input[type="search"]:focus,
 input[type="text"]:focus,
 input[type="tel"]:focus,
 input[type="url"]:focus,
 input[type="password"]:focus,
 textarea:focus,
 select:focus {
     color            : var(--color-black);
     background-color : white;
     box-shadow       : 0 0 5px var(--color-1);
     border           : 1px solid var(--color-1-light);
 }
 
 label,
 legend {
     font-family   : var(--font-1);
     font-weight   : 600;
     font-size     : var(--text-sm);
     line-height   : var(--vspace-0_5);
     margin-bottom : var(--vspace-0_5);
     color         : var(--color-text-dark);
     display       : block;
 }
 
 input[type="checkbox"],
 input[type="radio"] {
     display : inline;
 }
 
 label>.label-text {
     display     : inline-block;
     margin-left : 1rem;
     font-family : var(--font-1);
     line-height : inherit;
 }
 
 label>input[type="checkbox"],
 label>input[type="radio"] {
     margin   : 0;
     position : relative;
     top      : 2px;
 }
 
 /* ------------------------------------------------------------------- 
  * ## style placeholder text
  * ------------------------------------------------------------------- */
 ::-webkit-input-placeholder {
     /* WebKit, Blink, Edge */
     color : var(--color-placeholder);
 }
 
 :-moz-placeholder {
     /* Mozilla Firefox 4 to 18 */
     color   : var(--color-placeholder);
     opacity : 1;
 }
 
 ::-moz-placeholder {
     /* Mozilla Firefox 19+ */
     color   : var(--color-placeholder);
     opacity : 1;
 }
 
 :-ms-input-placeholder {
     /* Internet Explorer 10-11 */
     color : var(--color-placeholder);
 }
 
 ::-ms-input-placeholder {
     /* Microsoft Edge */
     color : var(--color-placeholder);
 }
 
 ::placeholder {
     /* Most modern browsers support this now. */
     color : var(--color-placeholder);
 }
 
 /* ------------------------------------------------------------------- 
  * ## change autocomplete styles in Chrome
  * ------------------------------------------------------------------- */
 input:-webkit-autofill,
 input:-webkit-autofill:hover,
 input:-webkit-autofill:focus,
 textarea:-webkit-autofill,
 textarea:-webkit-autofill:hover,
 textarea:-webkit-autofill:focus,
 select:-webkit-autofill,
 select:-webkit-autofill:hover,
 select:-webkit-autofill:focus {
     -webkit-text-fill-color : var(--color-1);
     transition              : background-color 5000s ease-in-out 0s;
 }
 
 
 /* ===================================================================
  * # BUTTONS
  *
  *
  * ------------------------------------------------------------------- */
 .btn,
 button,
 input[type="submit"],
 input[type="reset"],
 input[type="button"] {
     --btn-height            : var(--vspace-btn);
     display                 : inline-block;
     font-family             : var(--font-1);
     font-weight             : 600;
     font-size               : var(--text-xs);
     text-transform          : uppercase;
     letter-spacing          : .35em;
     height                  : var(--btn-height);
     line-height             : calc(var(--btn-height) - 4px);
     padding                 : 0 3.6rem;
     margin                  : 0 0.4rem var(--vspace-0_5) 0;
     color                   : var(--color-btn-text);
     text-decoration         : none;
     text-align              : center;
     white-space             : nowrap;
     cursor                  : pointer;
     transition              : all .3s;
     border-radius           : var(--border-radius);
     background-color        : var(--color-btn);
     border                  : 2px solid var(--color-btn);
     -webkit-font-smoothing  : antialiased;
     -moz-osx-font-smoothing : grayscale;
 }
 
 .btn:focus,
 button:focus,
 input[type="submit"]:focus,
 input[type="reset"]:focus,
 input[type="button"]:focus,
 .btn:hover,
 button:hover,
 input[type="submit"]:hover,
 input[type="reset"]:hover,
 input[type="button"]:hover {
     background-color : var(--color-btn-hover);
     border-color     : var(--color-btn-hover);
     color            : var(--color-btn-hover-text);
     outline          : 0;
 }
 
 /* button primary
  */
 .btn.btn--primary,
 button.btn--primary,
 input[type="submit"].btn--primary,
 input[type="reset"].btn--primary,
 input[type="button"].btn--primary {
     background   : var(--color-btn-primary);
     border-color : var(--color-btn-primary);
     color        : var(--color-btn-primary-text);
 }
 
 .btn.btn--primary:focus,
 button.btn--primary:focus,
 input[type="submit"].btn--primary:focus,
 input[type="reset"].btn--primary:focus,
 input[type="button"].btn--primary:focus,
 .btn.btn--primary:hover,
 button.btn--primary:hover,
 input[type="submit"].btn--primary:hover,
 input[type="reset"].btn--primary:hover,
 input[type="button"].btn--primary:hover {
     background   : var(--color-btn-primary-hover);
     border-color : var(--color-btn-primary-hover);
     color        : var(--color-btn-primary-hover-text);
 }
 
 /* button modifiers
  */
 .btn.u-fullwidth,
 button.u-fullwidth {
     width        : 100%;
     margin-right : 0;
 }
 
 .btn--small,
 button.btn--small {
     --btn-height : calc(var(--vspace-btn) - 1.6rem);
 }
 
 .btn--medium,
 button.btn--medium {
     --btn-height : calc(var(--vspace-btn) + .8rem);
 }
 
 .btn--large,
 button.btn--large {
     --btn-height : calc(var(--vspace-btn) + 1.6rem);
 }
 
 .btn--stroke,
 button.btn--stroke {
     background  : transparent !important;
     font-weight : 700;
     border      : 2px solid var(--color-btn-stroke);
     color       : var(--color-btn-stroke-text);
 }
 
 .btn--stroke:focus,
 button.btn--stroke:focus,
 .btn--stroke:hover,
 button.btn--stroke:hover {
     background : var(--color-btn-stroke-hover) !important;
     border     : 2px solid var(--color-btn-stroke-hover);
     color      : var(--color-btn-stroke-hover-text);
 }
 
 .btn--pill,
 button.btn--pill {
     padding-left  : 3.2rem !important;
     padding-right : 3.2rem !important;
     border-radius : 1000px !important;
 }
 
 
 /* ===================================================================
  * # TABLE
  *
  *
  * ------------------------------------------------------------------- */
 table {
     border-width    : 0;
     width           : 100%;
     max-width       : 100%;
     font-family     : var(--font-1);
     border-collapse : collapse;
 }
 
 th,
 td {
     padding       : var(--vspace-0_5) 3.2rem calc(var(--vspace-0_5) - 1px);
     text-align    : left;
     border-bottom : 1px solid var(--color-border);
 }
 
 th {
     padding     : var(--vspace-0_5) 3.2rem;
     color       : var(--color-text-dark);
     font-family : var(--font-1);
     font-weight : 600;
 }
 
 th:first-child,
 td:first-child {
     padding-left : 0;
 }
 
 th:last-child,
 td:last-child {
     padding-right : 0;
 }
 
 .table-responsive {
     overflow-x                 : auto;
     -webkit-overflow-scrolling : touch;
 }
 
 
 /* ===================================================================
  * # COMPONENTS
  *
  *
  * ------------------------------------------------------------------- */
 
 /* -------------------------------------------------------------------
  * ## pagination 
  * ------------------------------------------------------------------- */
 .pgn {
     --pgn-num-height : calc(var(--vspace-1) + .4rem);
     margin           : 0 auto var(--vspace-1);
     text-align       : center;
 }
 
 .pgn ul {
     display         : inline-flex;
     flex-flow       : row wrap;
     justify-content : center;
     list-style      : none;
     margin-left     : 0;
     position        : relative;
     padding         : 0 6rem;
 }
 
 .pgn ul li {
     margin  : 0;
     padding : 0;
 }
 
 .pgn__num {
     font-family   : var(--font-1);
     font-weight   : 600;
     font-size     : var(--text-size);
     line-height   : var(--vspace-1);
     display       : block;
     padding       : .2rem 1.2rem;
     height        : var(--pgn-num-height);
     margin        : .2rem .2rem;
     color         : var(--color-text-dark);
     border-radius : var(--border-radius);
     transition    : all, .3s, ease-in-out;
 }
 
 .pgn__num:focus,
 .pgn__num:hover {
     background : var(--color-text-dark);
     color      : var(--color-white);
 }
 
 .pgn .current,
 .pgn .current:focus,
 .pgn .current:hover {
     background : var(--color-text-dark);
     color      : var(--color-white);
 }
 
 .pgn .inactive,
 .pgn .inactive:focus,
 .pgn .inactive:hover {
     opacity : 0.4;
     cursor  : default;
 }
 
 .pgn__prev,
 .pgn__next {
     display         : inline-flex;
     flex-flow       : row wrap;
     justify-content : center;
     align-items     : center;
     height          : var(--pgn-num-height);
     width           : 4.8rem;
     line-height     : var(--vspace-1);
     border-radius   : 4px;
     padding         : 0;
     margin          : 0;
     opacity         : 1;
     font            : 0/0 a;
     text-shadow     : none;
     color           : transparent;
     transition      : all, .3s, ease-in-out;
     position        : absolute;
     top             : 50%;
     transform       : translate(0, -50%);
 }
 
 .pgn__prev:focus,
 .pgn__prev:hover,
 .pgn__next:focus,
 .pgn__next:hover {
     background : var(--color-text-dark);
 }
 
 .pgn__prev svg,
 .pgn__next svg {
     height     : 2.4rem;
     width      : 2.4rem;
     transition : all, .3s, ease-in-out;
 }
 
 .pgn__prev svg path,
 .pgn__next svg path {
     stroke : var(--color-text-dark);
 }
 
 .pgn__prev:focus svg path,
 .pgn__prev:hover svg path,
 .pgn__next:focus svg path,
 .pgn__next:hover svg path {
     stroke : white;
 }
 
 .pgn__prev {
     left : 0;
 }
 
 .pgn__next {
     right : 0;
 }
 
 .pgn__prev.inactive,
 .pgn__next.inactive {
     opacity : 0.4;
     cursor  : default;
 }
 
 .pgn__prev.inactive:focus,
 .pgn__prev.inactive:hover,
 .pgn__next.inactive:focus,
 .pgn__next.inactive:hover {
     background-color : transparent;
 }
 
 /* ------------------------------------------------------------------- 
  * responsive:
  * pagination
  * ------------------------------------------------------------------- */
 @media screen and (max-width: 600px) {
     .pgn ul {
         padding : 0 5.2rem;
     }
 }
 
 /* ------------------------------------------------------------------- 
  * ## alert box 
  * ------------------------------------------------------------------- */
 .alert-box {
     padding       : var(--vspace-0_75) 4rem var(--vspace-0_75) 3.2rem;
     margin-bottom : var(--vspace-1);
     border-radius : var(--border-radius);
     font-family   : var(--font-1);
     font-weight   : 500;
     font-size     : var(--text-sm);
     line-height   : var(--vspace-0_75);
     opacity       : 1;
     visibility    : visible;
     position      : relative;
 }
 
 .alert-box__close {
     position : absolute;
     display  : block;
     right    : 1.6rem;
     top      : 1.6rem;
     cursor   : pointer;
     width    : 12px;
     height   : 12px;
 }
 
 .alert-box__close::before,
 .alert-box__close::after {
     content  : '';
     display  : inline-block;
     width    : 1px;
     height   : 12px;
     position : absolute;
     top      : 0;
     left     : 5px;
 }
 
 .alert-box__close::before {
     transform : rotate(45deg);
 }
 
 .alert-box__close::after {
     transform : rotate(-45deg);
 }
 
 .alert-box--error {
     background-color : var(--color-error);
     color            : var(--color-error-content);
 }
 
 .alert-box--error .alert-box__close::before,
 .alert-box--error .alert-box__close::after {
     background-color : var(--color-error-content);
 }
 
 .alert-box--success {
     background-color : var(--color-success);
     color            : var(--color-success-content);
 }
 
 .alert-box--success .alert-box__close::before,
 .alert-box--success .alert-box__close::after {
     background-color : var(--color-success-content);
 }
 
 .alert-box--info {
     background-color : var(--color-info);
     color            : var(--color-info-content);
 }
 
 .alert-box--info .alert-box__close::before,
 .alert-box--info .alert-box__close::after {
     background-color : var(--color-info-content);
 }
 
 .alert-box--notice {
     background-color : var(--color-notice);
     color            : var(--color-notice-content);
 }
 
 .alert-box--notice .alert-box__close::before,
 .alert-box--notice .alert-box__close::after {
     background-color : var(--color-notice-content);
 }
 
 .alert-box.hideit {
     opacity    : 0;
     visibility : hidden;
     transition : all .5s;
 }
 
 
 
 /* --------------------------------------------------------------------
  * ## stats tabs
  * -------------------------------------------------------------------- */
 .stats-tabs {
     padding : 0;
     margin  : var(--vspace-1) 0;
 }
 
 .stats-tabs li {
     display      : inline-block;
     margin       : 0 1.6rem var(--vspace-0_5) 0;
     padding      : 0 1.5rem 0 0;
     border-right : 1px solid var(--color-border);
 }
 
 .stats-tabs li:last-child {
     margin  : 0;
     padding : 0;
     border  : none;
 }
 
 .stats-tabs li a {
     display     : block;
     font-family : var(--font-1);
     font-size   : var(--text-lg);
     font-weight : 600;
     line-height : var(--vspace-1_5);
     border      : none;
     color       : var(--color-text-dark);
 }
 
 .stats-tabs li a:hover {
     color : var(--color-1);
 }
 
 .stats-tabs li a em {
     display     : block;
     margin      : 0;
     font-family : var(--font-1);
     font-size   : var(--text-sm);
     line-height : var(--vspace-0_5);
     font-weight : 400;
     font-style  : normal;
     color       : var(--color-text-light);
 }
 
 
 /* ===================================================================
  * # PROJECT-WIDE SHARED STYLES
  *
  *
  * ------------------------------------------------------------------- */
 .wide {
     max-width : var(--width-wide);
 }
 
 .wider {
     max-width : var(--width-wider);
 }
 
 .narrow {
     max-width : var(--width-narrow);
 }
 
 .body-text-sm {
     font-size   : calc(var(--text-size) * 0.8889);
     line-height : calc(0.9375 * var(--space));
 }
 
 /* ------------------------------------------------------------------- 
  * ## fade in up effect
  * ------------------------------------------------------------------- */
 [data-animate-el] {
     --transition-delay         : 0ms;
     transition-timing-function : cubic-bezier(0.28, 0.12, 0.22, 1);
     transition-property        : opacity, visibility, transform;
     transition-duration        : 1s;
     transition-delay           : var(--transition-delay);
     opacity                    : 0;
     visibility                 : hidden;
     transform                  : translate(0, 150%);
 }
 
 .ss-animated [data-animate-el] {
     opacity    : 1;
     visibility : visible;
     transform  : translate(0, 0);
 }
 
 /* ------------------------------------------------------------------- 
  * ## media classes
  * ------------------------------------------------------------------- */
 
 /* floated image
  */
 

 
 /* responsive video container
  */
 .video-container {
     --aspect-ratio : 16/9;
     position       : relative;
     height         : 0;
     overflow       : hidden;
     padding-bottom : calc(100%/(var(--aspect-ratio)));
 }
 
 .video-container iframe,
 .video-container object,
 .video-container embed,
 .video-container video {
     position : absolute;
     top      : 0;
     left     : 0;
     width    : 100%;
     height   : 100%;
 }
 
 /* ------------------------------------------------------------------- 
  * ## swiper overrides
  * ------------------------------------------------------------------- */
 .swiper-container .swiper-pagination-bullets .swiper-pagination-bullet {
     margin : 0 1.2rem;
 }
 
 .swiper-container .swiper-pagination-bullet {
     width      : 6px;
     height     : 6px;
     background : rgba(0, 0, 0, 0.3);
     opacity    : 1;
 }
 
 .swiper-container .swiper-pagination-bullet-active {
     background : black;
     opacity    : 1;
 }
 
 /*  */
/* Page container */
.page-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 2rem;
  font-family    : georgia, serif;
  background-color: #f7f7f7;
}

/* Grid wrapper for cards */
.projects-grid-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    /* Updated gap property: <row-gap> <column-gap> */
    gap: 10rem 2rem;
    align-items: stretch;
}

/* Project card */
.project-card {
    background: white;
    font-family    : georgia, serif;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
}

.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
}

/* Thumbnail image */
.project-card__thumbnail {
  width: 100%;
  height: 320px;
  min-height: 314px;
  background-color: #ffff;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-card__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Changed to cover for better visual impact */
    display: block;
    background-color: #f5f5f5;
    transition: all 0.5s ease;
    transform-origin: center;
    filter: brightness(0.95);
}

.project-card__thumbnail img:hover {
    transform: scale(1.1);
    filter: brightness(1.1);
    box-shadow: 0 8px 16px rgba(0,0,0,0.2);
}

/* Content section */
.project-card__content {
  padding: 1.25rem 1.5rem;
  font-family: 'Segoe UI', sans-serif;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Meta label */
.project-card__meta a {
  font-size: 0.75rem;
  font-weight: 600;
  color: #1a73e8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Title */
.project-card__title {
  margin-top: 0.25rem;
  font-size: 1.1rem;
  font-family: 'Segoe UI', sans-serif;
  font-weight: 700;
  color: #222;
  line-height: 1.4;
}

.project-card__title a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s ease;
}

.project-card__title a:hover {
  color: #1a73e8;
}

/* Description */
.project-card__description p {
  margin: 1rem 0;
  font-size: 0.95rem;
  font-family: 'Segoe UI', sans-serif;
  color: #444;
  line-height: 1.6;
  flex-grow: 1;
}

/* Read More */
.project-card__read-more {
  font-size: 0.9rem;
  font-weight: 600;
  color: #1a73e8;
  text-decoration: none;
  margin-top: auto;
  border-bottom: 1px solid transparent;
  transition: border-bottom 0.2s ease;
}

.project-card__read-more:hover {
  border-bottom: 1px solid #1a73e8;
}

/* Responsive tweaks */
/* REVISED RESPONSIVE TWEAKS */

/* Medium devices (tablets, 768px and up) -> 2 columns */
@media (min-width: 768px) {
  .projects-grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Large devices (desktops, 992px and up) -> 3 columns */
@media (min-width: 992px) {
  .projects-grid-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* --- You can keep your other responsive tweaks if needed --- */
@media (max-width: 640px) {
  .project-card__content {
    padding: 1rem;
  }
  .project-card__title {
    font-size: 1rem;
  }
}

 
 
 /* ===================================================================
  * # PAGE WRAP
  *
  *
  * ------------------------------------------------------------------- */
 .s-pagewrap {
     display        : flex;
     flex-direction : column;
     
     overflow       : hidden;
     position       : relative;
 }
 
 
 /* ===================================================================
  * # SITE HEADER
  *
  *
  * ------------------------------------------------------------------- */
 .s-header {
     z-index  : 100;
     width    : 100%;
     position : absolute;
     top      : 2.8rem;
     left     : 0;
 }
 
 /* --------------------------------------------------------------------
  * ## branding
  * -------------------------------------------------------------------- */
 .s-header__branding {
     z-index        : 2;
     font-family    : var(--font-2);
     font-size      : 2.8rem;
     line-height    : 1;
     letter-spacing : -0.03em;
     transform      : translateY(-50%);
     position       : absolute;
     top            : 50%;
     left           : 3.6rem;
 }
 
 .s-header__branding .site-title {
     margin  : 0;
     padding : 0;
 }
 
 .s-header__branding a {
     margin  : 0;
     padding : 0;
     outline : 0;
     border  : none;
     color   : black;
 }
 
 .ss-home .s-header__branding a {
     color : white;
 }
 
 /* --------------------------------------------------------------------
  * ## main navigation
  * -------------------------------------------------------------------- */
 .s-header__navigation {
     max-width : none;
     width     : 100%;
 }
 
 .s-header__nav-wrap {
     display         : flex;
     justify-content : center;
     margin-left     : 6rem;
     margin-right    : 6rem;
     width           : 100%;
 }
 
 .ss-home .s-header__nav-wrap {
     margin-left : 50%;
 }
 
 .s-header__nav-wrap .s-header__nav-heading {
     display        : none;
     font-family    : var(--font-1);
     font-weight    : 300;
     font-size      : var(--text-size);
     color          : var(--color-text-light);
     letter-spacing : -0.02em;
     padding-left   : 3.2rem;
     margin-top     : 0;
     margin-bottom  : var(--vspace-1_75);
     position       : relative;
 }
 
 .s-header__nav-wrap .s-header__nav-heading::before {
     content          : "";
     display          : block;
     width            : 2rem;
     height           : 1px;
     background-color : rgba(0, 0, 0, 0.3);
     position         : absolute;
     top              : 50%;
     left             : 0;
 }
 
 .s-header__nav {
     list-style : none;
     display    : flex;
     flex-flow  : row nowrap;
     margin     : 0;
     padding    : 0;
 }
 
 .s-header__nav a {
     display             : inline-block;
     font-family         : var(--font-2);
     font-size           : 1.8rem;
     font-weight         : 400;
     line-height         : 4rem;
     color               : var(--color-text-dark);
     transition-property : color, background-color;
 }
 
 .s-header__nav a:hover {
     color : var(--color-gray-16);
 }
 
 .s-header__nav li {
     padding  : 0 1.2rem;
     position : relative;
 }
 
 .s-header__nav li.has-children>a {
     padding-right : 1.2rem;
     position      : relative;
 }
 
 .s-header__nav li.has-children>a::after {
     border-bottom            : 1px solid black;
     border-right             : 1px solid black;
     content                  : '';
     display                  : block;
     height                   : 5px;
     width                    : 5px;
     margin-top               : -4px;
     pointer-events           : none;
     -webkit-transform-origin : 66% 66%;
     transform-origin         : 66% 66%;
     transform                : rotate(45deg);
     transition               : all .3s;
     position                 : absolute;
     right                    : 0;
     top                      : calc(50% + 2px);
 }
 
 
 
 .s-header__nav ul {
     z-index       : 200;
     margin        : 0;
     padding       : 2rem 0;
     background    : var(--color-gray-18);
     border-radius : 0 0 4px 4px;
     transform     : translate(0, 20px);
     transition    : all .5s;
     opacity       : 0;
     visibility    : hidden;
     position      : absolute;
     top           : calc(100% - 1px);
     left          : 0;
 }
 
 .s-header__nav ul ul {
     position      : absolute;
     top           : 0;
     left          : calc(100% + 1px);
     border-radius : 0 0 4px 4px;
     padding-top   : 1.2rem;
 }
 
 .s-header__nav ul li {
     display    : block;
     text-align : left;
     padding    : 0;
     margin     : 0;
     min-height : 3.2rem;
     width      : 100%;
 }
 
 .s-header__nav ul li a {
     display     : block;
     white-space : nowrap;
     padding     : .6rem 3rem .6rem 2rem;
     font-family : var(--font-1);
     font-weight : 300;
     font-size   : 1.45rem;
     line-height : 1.8rem;
     color       : rgba(255, 255, 255, 0.8);
 }
 
 .s-header__nav ul li a:focus,
 .s-header__nav ul li a:hover {
     color : white;
 }
 
 .s-header__nav li:hover>ul {
     opacity    : 1;
     visibility : visible;
     transform  : translate(0, 0);
 }
 
 /* --------------------------------------------------------------------
  * ## mobile menu toggle
  * -------------------------------------------------------------------- */
 .s-header__menu-toggle {
     display   : none;
     z-index   : 301;
     width     : 6.8rem;
     height    : 7.2rem;
     transform : translateY(-50%);
     position  : absolute;
     top       : 50%;
     right     : .8rem;
 }
 
 .s-header__menu-toggle span {
     display          : block;
     background-color : black;
     width            : 22px;
     height           : 2px;
     margin-top       : -1px;
     font             : 0/0 a;
     text-shadow      : none;
     color            : transparent;
     transition       : background-color 0.3s ease-in-out;
     position         : absolute;
     right            : 23px;
     top              : 50%;
     bottom           : auto;
     left             : auto;
 }
 
 .s-header__menu-toggle span::before,
 .s-header__menu-toggle span::after {
     content          : "";
     width            : 100%;
     height           : 100%;
     transition       : transform 0.3s ease-in-out;
     background-color : inherit;
     position         : absolute;
     left             : 0;
 }
 
 .s-header__menu-toggle span::before {
     top : -8px;
 }
 
 .s-header__menu-toggle span::after {
     bottom : -8px;
 }
 
 /* is clicked 
  */
 .s-header__menu-toggle.is-clicked span {
     background-color : rgba(0, 0, 0, 0);
     transition       : all .1s;
 }
 
 .s-header__menu-toggle.is-clicked span::before,
 .s-header__menu-toggle.is-clicked span::after {
     background-color : black;
 }
 
 .s-header__menu-toggle.is-clicked span::before {
     top       : 0;
     transform : rotate(135deg);
 }
 
 .s-header__menu-toggle.is-clicked span::after {
     bottom    : 0;
     transform : rotate(225deg);
 }
 

/*  for home page  */
.delhi-diary {
    margin-top: 40px;
}

.delhi-diary h2 {
    margin-bottom: 16px;
    font-weight: 600;
}

.image-gallery {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}

.image-gallery img {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
}

.image-gallery img:nth-child(3) {
    width: 480px;
}

.image-gallery img:hover {
    transform: scale(1.05);
}





.delhi-diary {
    margin-top: 50px;
    padding: 20px;
}

.delhi-diary h2 {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 600;
}

.image-gallery {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.image-gallery img {
    width: 240px;
    height: 240px;
    object-fit: cover;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}

.image-gallery img:nth-child(3) {
    width: 480px;
    height: auto;
}

.image-gallery img:hover {
    transform: scale(1.05);
}
