
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}


/* Basic */
*,
*:before,
*:after {
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}

html {
    font-size: 75%; /* Adjust base size (75% = 12px) */
    -webkit-font-smoothing: antialiased;
}


body {
    font-family: var(--ff-text);
    font-size: var(--p);
    line-height: 1.6;
    color: var(--text-grey);
    background-color: var(--bg-white);
    
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--ff-Head);
    color: var(--text-grey);
    font-weight: normal;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { 
    font-weight: inherit; 
}

p { 
    font-size: var(--p);
    margin: 0 0 20px;
}
p img { 
    margin: 0; 
}
p.lead {
   font: 19px/36px 'opensans-light', sans-serif;
   margin-bottom: 18px;
}

/* for 'em' and 'strong' tags, font-size and line-height should be same with
the body tag due to rendering problems in some browsers */
em { 
    font: 15px/30px 'opensans-italic', sans-serif; 
}
strong, b { 
    font: 15px/30px 'opensans-bold', sans-serif; 
}
small { 
    font-size: var(--small);
}

hr { 
    border: solid #E3E3E3; 
    border-width: 1px 0 0; 
    clear: both; 
    margin: 11px 0 30px; 
    height: 0; 
}

a, a:visited {
    text-decoration: none;
    outline: 0;
    color: var(--main-color1);
 
    -webkit-transition: color .3s ease-in-out;
    -moz-transition: color .3s ease-in-out;
    -o-transition: color .3s ease-in-out;
    transition: color .3s ease-in-out;
}
a:hover, a:focus { 
    color: var(--main-color1); 
}
p a, p a:visited { 
    line-height: inherit; 
}


/*  4. List  --------------------------------------------------------- */

ul, ol { 
    margin-bottom: 24px; 
    margin-top: 12px; 
}
ul { 
    list-style: none outside; 
}
ol { 
    list-style: decimal; 
}
ol, ul.square, ul.circle, ul.disc { 
    margin-left: 30px; 
}
ul.square { 
    list-style: square outside; 
}
ul.circle { 
    list-style: circle outside; 
}
ul.disc { 
    list-style: disc outside; 
}
ul ul, ul ol,
ol ol, ol ul { 
    margin: 6px 0 6px 30px; 
}
ul ul li, ul ol li,
ol ol li, ol ul li { 
    margin-bottom: 6px; 
}
li { 
    line-height: 18px; margin-bottom: 12px; 
}
ul.large li { }
li p { }


/*  5. Images  --------------------------------------------------------- */

img {
    max-width: 100%;
    height: auto;
}
img.pull-right { 
    margin: 12px 0px 0px 18px; 
}
img.pull-left { 
    margin: 12px 18px 0px 0px; 
}
 
/*  6. Buttons  --------------------------------------------------------- */
 
.button, .button:visited, button, input[type="submit"],
input[type="reset"], input[type="button"] {
    font: 16px/30px 'opensans-bold', sans-serif;
    background: var(--main-color1);
    display: inline-block;
    text-decoration: none;
    letter-spacing: 0;
    color: #fff;
    padding: 12px 20px;
    margin-bottom: 18px;
    border: none;
    cursor: pointer;
    height: auto;
 
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
 
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    border-radius: 3px;
}
 
.button:hover, button:hover, input[type="submit"]:hover,
input[type="reset"]:hover, input[type="button"]:hover {
    background: #3d4145;
    color: #fff;
}
 
.button:active, button:active, input[type="submit"]:active,
input[type="reset"]:active, input[type="button"]:active {
    background: #3d4145;
    color: #fff;
}
 
.button.full-width, button.full-width, input[type="submit"].full-width,
input[type="reset"].full-width, input[type="button"].full-width {
     width: 100%;
     padding-left: 0 !important;
     padding-right: 0 !important;
     text-align: center;
}
 
/* Fix for odd Mozilla border & padding issues */
button::-moz-focus-inner, input::-moz-focus-inner {
     border: 0;
     padding: 0;
}

/* ------------------------------------------------------------------ */
/* d. Grid
---------------------------------------------------------------------
gutter = 40px.
/* ------------------------------------------------------------------ */

/* default
--------------------------------------------------------------- */
.row {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
}
/* fixed width for IE8 */
.ie .row { width: 1000px ; }
.narrow .row { max-width: 980px; }
.row .row { width: auto; max-width: none; margin: 0 -20px; }

/* row clearing */
.row:before,
.row:after {
    content: " ";
    display: table;
}
.row:after {
    clear: both;
}

.column, .columns {
    position: relative;
    padding: 0 20px;
    min-height: 1px;
    float: left;
}
.column.centered, .columns.centered  {
    float: none;
    margin: 0 auto;
}

/* removed gutters */
.row.collapsed > .column,
.row.collapsed > .columns,
.column.collapsed, .columns.collapsed  { padding: 0; }

[class*="column"] + [class*="column"]:last-child { float: right; }
[class*="column"] + [class*="column"].end { float: right; }

/* column widths */
.row .one         { width: 8.33333%; }
.row .two         { width: 16.66667%; }
.row .three       { width: 25%; }
.row .four        { width: 33.33333%; }
.row .five        { width: 41.66667%; }
.row .six         { width: 50%; }
.row .seven       { width: 58.33333%; }
.row .eight       { width: 66.66667%; }
.row .nine        { width: 75%; }
.row .ten         { width: 83.33333%; }
.row .eleven      { width: 91.66667%; }
.row .twelve      { width: 100%; }

/* Offsets */
.row .offset-1    { margin-left: 8.33333%; }
.row .offset-2    { margin-left: 16.66667%; }
.row .offset-3    { margin-left: 25%; }
.row .offset-4    { margin-left: 33.33333%; }
.row .offset-5    { margin-left: 41.66667%; }
.row .offset-6    { margin-left: 50%; }
.row .offset-7    { margin-left: 58.33333%; }
.row .offset-8    { margin-left: 66.66667%; }
.row .offset-9    { margin-left: 75%; }
.row .offset-10   { margin-left: 83.33333%; }
.row .offset-11   { margin-left: 91.66667%; }

/* Push/Pull */
.row .push-1      { left: 8.33333%; }
.row .pull-1      { right: 8.33333%; }
.row .push-2      { left: 16.66667%; 	}
.row .pull-2      { right: 16.66667%; }
.row .push-3      { left: 25%; }
.row .pull-3      { right: 25%;	}
.row .push-4      { left: 33.33333%; }
.row .pull-4      { right: 33.33333%; }
.row .push-5      { left: 41.66667%; }
.row .pull-5      { right: 41.66667%; }
.row .push-6      { left: 50%; }
.row .pull-6      { right: 50%; }
.row .push-7      { left: 58.33333%; }
.row .pull-7      { right: 58.33333%; }
.row .push-8      { left: 66.66667%; 	}
.row .pull-8      { right: 66.66667%; }
.row .push-9      { left: 75%; }
.row .pull-9      { right: 75%; }
.row .push-10     { left: 83.33333%; }
.row .pull-10     { right: 83.33333%; }
.row .push-11     { left: 91.66667%; }
.row .pull-11     { right: 91.66667%; }

/* block grids
--------------------------------------------------------------------- */
.bgrid-sixths [class*="column"]   { width: 16.66667%; }
.bgrid-quarters [class*="column"] { width: 25%; }
.bgrid-thirds [class*="column"]   { width: 33.33333%; }
.bgrid-halves [class*="column"]   { width: 50%; }

[class*="bgrid"] [class*="column"] + [class*="column"]:last-child { float: left; }

/* Left clearing for block grid columns - columns that changes width in
different screen sizes. Allows columns with different heights to align
properly.
--------------------------------------------------------------------- */
.first { clear: left; }   /* first column in default screen */
.s-first { clear: none; } /* first column in smaller screens */

/* smaller screens
--------------------------------------------------------------- */
@media only screen and (max-width: 900px) {

/* block grids on small screens */
.s-bgrid-sixths [class*="column"]   { width: 16.66667%; }
.s-bgrid-quarters [class*="column"] { width: 25%; }
.s-bgrid-thirds [class*="column"]   { width: 33.33333%; }
.s-bgrid-halves [class*="column"]   { width: 50%; }

/* block grids left clearing */
.first { clear: none; }
.s-first { clear: left; }

}

/* mobile wide/smaller tablets
--------------------------------------------------------------- */
@media only screen and (max-width: 767px) {

.row {
    width: 460px;
    margin: 0 auto;
    padding: 0;
    }
.column, .columns {
    width: auto !important;
    float: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0 30px;
}
.row .row { width: auto; max-width: none; margin: 0 -30px; }

[class*="column"] + [class*="column"]:last-child { float: none; }
[class*="bgrid"] [class*="column"] + [class*="column"]:last-child { float: none; }

/* Offsets */
.row .offset-1    { margin-left: 0%; }
.row .offset-2    { margin-left: 0%; }
.row .offset-3    { margin-left: 0%; }
.row .offset-4    { margin-left: 0%; }
.row .offset-5    { margin-left: 0%; }
.row .offset-6    { margin-left: 0%; }
.row .offset-7    { margin-left: 0%; }
.row .offset-8    { margin-left: 0%; }
.row .offset-9    { margin-left: 0%; }
.row .offset-10   { margin-left: 0%; }
.row .offset-11   { margin-left: 0%; }
}

/* mobile narrow
--------------------------------------------------------------- */
@media only screen and (max-width: 460px) {

.row { width: auto; }

}

/* larger screens
--------------------------------------------------------------- */
@media screen and (min-width: 1200px) {

.wide .row { max-width: 1180px; }

}

/* ------------------------------------------------------------------ */
/* e. Others
/* ------------------------------------------------------------------ */

/*  1. Clearing
    (http://nicolasgallagher.com/micro-clearfix-hack/
--------------------------------------------------------------------- */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}

/*  2. Misc -------------------------------------------------------- */

.remove-bottom { margin-bottom: 0 !important; }
.half-bottom { margin-bottom: 12px !important; }
.add-bottom { margin-bottom: 24px !important; }
.no-border { border: none; }

.text-center  { text-align: center !important; }
.text-left    { text-align: left !important; }
.text-right   { text-align: right !important; }
.pull-left    { float: left !important; }
.pull-right   { float: right !important; }
.align-center {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

@media only screen and (max-width: 900px) {
    .projects-item {
        flex: 1 1 calc(50% - 40px); /* Adjust for smaller screens */
    }
}

@media only screen and (max-width: 600px) {
    .projects-item {
        flex: 1 1 calc(100% - 40px); /* Adjust for mobile screens */
    }
}
